Cowans joined Aston Villa as a child. His father, Gordon Cowans, had a long association with the club and was a youth coach at the club when his son signed his first youth terms in 2012.
On 24 August 2016, Cowans joined Stevenage of EFL League Two on loan until January 2017.[2] Cowans was named on the bench for Stevenage on 27 August 2016 and given the number 23 shirt but did not start in a 5–2 away loss.[3] He made his professional debut in an EFL Trophy loss to Leyton Orient four days later.[4] On 9 January 2017, Cowans had his loan extended until the end of the season.[5]
Cowans was a regular for the under-18, under-21 and under-23 sides but never made a senior first team appearance and was released in June 2017.[6]
On 7 March 2019 Telford United confirmed, that Cowans had joined Stratford Town on loan until the end of the season.[9] However, he was recalled early. On 9 December 2019, he was loaned out again, this time to Stourbridge until 6 January 2020.[10]
On 3 August 2021, Cowans was announced to have left Telford.[11]
Newtown
In September 2021, Cowans joined Cymru Premier club Newtown. It took until 10 December 2021 for Cowans to make his debut, due to the injury problems which had blighted his Telford career, he played the final 9 minutes of a 4–2 away victory over Aberystwyth Town.[12] Cowans went on to make 12 appearances in his first season in Wales, including 8 starts. On 14 July 2022, Cowans scored his first goal for Newtown in the UEFA Europa Conference League against Havnar Bóltfelag.[13]