Directory / plugin
Tagalong Gifts for WooCommerce
v2.1.0 · by Mahmood Saeed
Give customers a free product when they apply a coupon. Choose the gift on the coupon screen and it's added to the cart at no cost.
About this plugin
Run offers like “Use code FREEMUG and get a mug free” with the coupons you already use.
Choose a Free gift product on any coupon. When a customer applies that coupon, one of that product is added to their cart for free. The gift tags along with the coupon: remove the coupon and the gift goes too, and the other way round. The gift is clearly labelled on the order, so whoever packs it knows why it’s there.
Features
- Adds the gift automatically when the coupon is applied.
- Really free. The gift is priced at 0 in the cart total, not just labelled “Free”.
- One gift per coupon. The customer can’t raise the gift’s quantity. If they also buy the same product, those units stay paid and appear as a separate line.
- Coupon and gift stay together. Remove one and the other goes too, including when WooCommerce drops the coupon because its rules are no longer met (for example, minimum spend).
- Refuses a coupon whose gift isn’t available (out of stock, deleted or not for sale), with a clear message.
- Labelled everywhere: “Free gift: with coupon freemug” in the cart, checkout, order emails, My Account and the order screen, plus a private order note.
- Works with the Cart and Checkout blocks and the classic cart and checkout.
- Compatible with High-Performance Order Storage (HPOS).
- Uses WooCommerce’s own coupon rules: expiry dates, minimum spend, usage limits and so on.
- No settings page, no extra database tables, no scripts or styles loaded on your store.
For developers
tagalong_gift_coupon_map: map coupon codes to product or variation IDs in code.tagalong_gift_product_id: decide the gift for a coupon at runtime.tagalong_remove_coupon_with_gift: returnfalseto keep the coupon when the gift is removed.tagalong_free_price_html: change the “Free” label in the classic cart.
The source code and end-to-end tests are on GitHub.