Custom coupon or workaround

I would like to add a coupon at checkout for a short period of time that will give someone a free ‘aftersales’ product with the main purchase. I thought the buy one coupon could be adapted but it will only give you the same product. Is there a way I can do this or a workaround that allows the customer to enter a particular code (which tells me a marketing campaign is successful), so they can get a free product that is usually sold on the site?