Tight end, South Dakota State, 2019–⁠23

Zach Heins

Number
No. 87
Height
6′7″
Weight
250 lb
Class (2023)
Senior
Hometown
Sioux Falls, SD

Zach Heins played tight end at South Dakota State (2019–⁠23).

Career highs

7catches, career highat Missouri State, 2022127receiving yards, career highat Missouri State, 20222receiving touchdowns, career hightwice; last vs. UAlbany, 2023

Team titles: Missouri Valley Football champions, 2022 and 2023

Receiving

Receiving yards, season by season, with his team’s record
SeasonTeamRecYdsAvgTDLong
2019South Dakota State11313.0113
2022South Dakota State2430112.5430
2023South Dakota State2639915.3734
Career5171314.01234

Season lines from CollegeFootballData, regular season and bowls.

On the roster

SeasonTeamNo.PosClassHtWt
2019South Dakota State87TEYr 1
2022South Dakota State87TEYr 4
2023South Dakota State87TESr. (Yr 5)6′7″250

As each season’s roster listed the player (CollegeFootballData). Classes before the latest listing are counted back from it; “Yr 1” is the year on file where that count can’t place a season he played (a redshirt, transfer or 2020 year); height and weight as last listed.

Per play

SeasonTeamPlaysEPA/playPctileMedianTotalUsage
2019South Dakota State (FCS)12.54––2.5–
2022South Dakota State (FCS)221.09––24.04%
2023South Dakota State (FCS)221.37––30.24%

Expected points added: how much the player’s plays moved the team’s expected score, per play and in total. Plays: total EPA divided by EPA per play, the plays the source credits to him (for a receiver roughly his catches and runs, not every target; for a passer, not every attempt), so it can differ from attempts plus carries. Percentile: against the position’s regulars that season across all divisions on file (quarterbacks with 150+ plays, backs 60+, receivers and tight ends 30+), with how many there were (n) and their median; a dash means too few plays to rank. A season in progress uses the full-season bar scaled by games played, never below 75 plays for quarterbacks, 30 for backs and 20 for receivers. The cohort grows or shrinks with the source’s coverage each season (2025 lists far more players), so compare percentiles rather than raw EPA across years. FCS seasons are marked. Usage: the share of the team’s plays the player was part of (shown from 20 plays). From CollegeFootballData, 2013 on.

Game by game

2023 South Dakota State 11 games, 26 catches, 399 yards, 7 TD
DateOpponentResultRecYdsTDLong
Sep 9vs.Montana StateW 20–⁠16225116
Sep 16vs.DrakeW 70–⁠7221113
Sep 30vs.North DakotaW 42–⁠21346025
Oct 7atIllinois StateW 40–⁠21328011
Oct 14vs.Northern IowaW 41–⁠6469230
Oct 21atSouthern IllinoisW 17–⁠10223020
Nov 11atYoungstown StateW 34–⁠0239025
Nov 18vs.Missouri StateW 35–⁠17131131
Dec 9 ✦vs.VillanovaW 23–⁠12126026
Dec 15 ✦vs.UAlbanyW 59–⁠0450225
Jan 7 ✦vs.MontanaW 23–⁠3241034

No box score in the source for Sep 1 vs. Western Oregon, so that game is not listed.

2022 South Dakota State 11 games, 24 catches, 301 yards, 4 TD
DateOpponentResultRecYdsTDLong
Sep 3atIowaL 3–⁠71600
Sep 10vs.UC DavisW 24–⁠22216013
Sep 17vs.ButlerW 45–⁠17242128
Sep 24atMissouri StateW 28–⁠147127130
Oct 1vs.Western IllinoisW 34–⁠101606
Oct 8vs.South DakotaW 28–⁠31404
Oct 15atNorth Dakota StateW 23–⁠21220010
Oct 22atNorth DakotaW 49–⁠352917
Nov 5atNorthern IowaW 31–⁠28332019
Nov 12vs.Illinois StateW 31–⁠721017
Dec 10vs.Holy CrossW 41–⁠21129029

No box score in the source for Oct 29 vs. Indiana State, so that game is not listed.

2019 South Dakota State 1 game, 1 catch, 13 yards, 1 TD
DateOpponentResultRecYdsTDLong
Aug 29atMinnesotaL 21–⁠28113113

No box score in the source for Sep 7 vs. Long Island University; Sep 14 vs. Drake; Sep 21 vs. Southern Utah; Oct 5 vs. Southern Illinois; Oct 12 at Youngstown State; Oct 19 at Indiana State; Oct 26 vs. North Dakota State; Nov 2 at Missouri State; Nov 9 vs. Illinois State; Nov 16 vs. Northern Iowa; Nov 23 at South Dakota; Dec 7 vs. Northern Iowa, so those games are not listed.

Box scores from CollegeFootballData, 2004 on. ✦ postseason; ★ a career high on file.

Is this you, or do you know of something wrong or missing here? Suggest a correction. We check each one against a source before changing the page.