Yates began his youth career at Doncaster Rovers; however, he joined Rotherham United in his early teens.
Rotherham United
Yates signed professionally for Rotherham United in 2014, he scored his first senior goal while on loan at Harrogate Railway Athletic in February 2015. He made his debut in the Football League on 3 April 2015, coming on as an 85th-minute substitute for Richard Smallwood in a 2–1 defeat to Birmingham City at St Andrew's. He had a loan spell with Harrogate Town cut short during the 2015–16 season as the Millers needed cover due to injuries. During Yates's loan spell at Harrogate Town he totalled eight appearances and scored four goals. He scored his first professional goals for Rotherham when he scored twice in a 5–4 EFL Cup loss against Morecambe on 9 August 2016. On 14 January 2017 he scored the opening goal against Norwich City on his full league debut. Rotherham United went on to win the game 2–1. Yates would make 20 appearances throughout the 2017–18 season, helping Rotherham achieve promotion via the EFL League One play-offs.
On 20 July 2018, Yates headed out on loan to League Two side Carlisle United until January for the 2018–19 season. He scored his first goal for Carlisle in a 3-2 EFL Trophy win over Morecambe on 4 September 2018. Yates scored an 88th-minute winner in a 2–1 win at home to Macclesfield in Carlisle's last match of 2018. It was his sixth goal in as many games. Yates was recalled by Rotherham on 1 January to provide cover for injuries.
On 20 June 2019, Yates joined League Two team Swindon Town on a season-long loan. He scored his first goal for Swindon in a 2–0 win away to Scunthorpe on the opening weekend of the EFL League Two season. He scored his second goal in a 3–2 win at home to his old club, Carlisle on 10 August 2019. After scoring twelve goals in the first half of the season, he was recalled early from his loan spell on 21 January 2020. On 29 January 2020 Yates rejoined Swindon Town on loan until the end season.
Blackpool
Yates joined Blackpool for an undisclosed fee on 21 July 2020, signing a three-year contract, with the club having the option to extend it for a further year.