Hi! Only thing I can think of is that the canvas may not be primed enough. Have you tried applying 3 coats of gesso to the canvas first? This may help your paint stick better.
I know alot of canvases say they are primed already, but I find doing them myself again anyway gets better results. I use this FYI https://www.amazon.co.uk/dp/B0060KWQQ0/ref=cm_sw_r_cp_apa_i_O5lrFbRE3MNKK
Hope it helps!
This is the gesso I'm looking at, will it work? All the ones on amazon say acrylic, is that what I want? Or is there some sort of 'oil gesso' available that I'll be needing?