Magento – Mail-In Rebates


A Mail-In Rebate is a piece of paper that says “Buy this to Get $x Back!,” and provides a few rules of the program. This means there’s no real programming genius required, other than to provide a link to the rebate form and maybe relieve it from the site after it’s expired.

Doesn’t look like Magento has much in the way of managing Mail-In rebates (at least not yet), so I did some twiddling about today to see what we can do instead. My motto is always try to take the path of least resistance – it’s usually right. My gut reaction was to try an attribute.

And indeed, it did just what I wanted it to. Sorta.

Attribute “rebate_url”

I created an attribute called “rebate_url” :

For internal use. Must be unique with no spaces
Declare attribute value saving scope
Not shared with other products

Frontend Properties

Can be used only with catalog input type Dropdown, Multiple Select and Price
Position of attribute in layered navigation block

In the Label/ Options Tab, I just added “Current Rebate(s)” as the Title in the Admin box. That’ll propogate forward (I’m an English-only store at present):

Admin English French German

Add the rebate_url attribute to whichever set you need. Then, you’re ready to add to product.

Specifying the Rebate URL on the Product

I’d put the rebate_url into the “General” tab of my attribute set, and filled it in like this:

$25 Mail In Rebate! <a href=”pathToPDF”>Download Rebate Form</a> Expires Jan 31, 2012

Lo and behold, a link appears on the product’s detail page!


The most obvious problem to me is that we have no automated way to effectively manage expirating rebates. In my particular case I opted to use a shared Google Spreadsheet, with an Expiration Date field; I simply exported to csv to upload all of the rebates quickly.


Drop me a line! Er, I mean, comment.