Well, as much as I agree with the point, I can’t say that I agree with pulling the plug. As far as you’ve explained your experience at least. I recommend you watching TheFutur on YouTube. It’s run by Chris Do, a graphic design business owner. He also explains how to deal with this kind of stuff and how to charge more, successfully.
Basically, what you could do is to ask them or just estimate with them how much they would earn from that marketing campaign and whether, say, 10–20% of the result revenue is a fair price to pay. Tell them they get 400% ROI in 3 months, and ask them how that feels.
Basically, you could get yourself an even bigger contract and a loyal customer, I bet, if you had explained pricing this way.