G. Miller, a 27-year-old England forward, is on the books at Cheltenham Town. His contract runs until June 2027, inside its final months.
G. Miller
Transfer history
| Date | From | To | Type | Fee |
|---|---|---|---|---|
| 2024-08-09 | Doncaster Rovers | Cheltenham Town | Transfer | undisclosed |
| 2022-05-31 | Walsall | Barnsley | End of loan | undisclosed |
| 2021-08-31 | Barnsley | Walsall | Loan | undisclosed |
| 2020-05-31 | Scunthorpe United | Barnsley | End of loan | undisclosed |
| 2019-08-22 | Barnsley | Scunthorpe United | Loan | undisclosed |
| 2019-05-31 | Bradford City | Barnsley | End of loan | undisclosed |
| 2019-02-01 | Barnsley | Bradford City | Loan | undisclosed |
| 2019-01-31 | Middlesbrough | Barnsley | Transfer | £285k |
| 2019-01-30 | Bradford City | Middlesbrough | End of loan | undisclosed |
| 2018-07-16 | Middlesbrough | Bradford City | Loan | undisclosed |
Compiled from every English club's Sportmonks transfer feed. Disclosed fees only — many transfers go unreported.
Physical & squad role
Season by season
| Season | Club | Apps | Goals | Assists | xG | Minutes | Cards |
|---|---|---|---|---|---|---|---|
| 2025/2026 | Cheltenham Town | 1 | 5.7 +1.3 | 1,629 | 1 | ||
| 2024/2025 | Cheltenham Town | 1 | 7.4 +3.7 | 2,365 | 1 | ||
| 2023/2024 | Doncaster Rovers | 0 | 0.2 -0.2 | 165 | — | ||
| 2022/2023 | Doncaster Rovers | 5 | n/a | 3,011 | 1 | ||
| 2021/2022 | Walsall | 1 | n/a | 3,441 | 2 | ||
| 2021/2022 | Barnsley | 0 | n/a | 120 | — | ||
| 2020/2021 | Barnsley | 0 | n/a | 91 | — | ||
| 2019/2020 | Scunthorpe United | 1 | n/a | 947 | — | ||
| 2019/2020 | Barnsley | 0 | n/a | 17 | — | ||
| 2018/2019 | Bradford City | 4 | n/a | 2,370 | 4 | ||
| 2017/2018 | Middlesbrough U21 | 0 | n/a | 180 | — | ||
| 2017/2018 | Middlesbrough | 0 | n/a | 8 | — | ||
| 2017/2018 | — | 1 | n/a | 1,458 | 1 | ||
| 2016/2017 | — | 0 | n/a | 1,117 | — | ||
| 2015/2016 | — | 0 | n/a | 30 | — | ||
| 2012/2013 | Accrington Stanley | 0 | n/a | 97 | — |
Source: Sportmonks player statistics, including expected goals (xG) per season for covered competitions. Refreshed every 12 hours.