CrossSell Mailer – Post-Purchase Coupon Rules (Lite)

Plugin Banner

CrossSell Mailer – Post-Purchase Coupon Rules (Lite)

by Alvaro

Download
Description

CrossSell Mailer turns every WooCommerce order into the next sale. After a purchase, it creates a unique, personal coupon for the customer and sends it in a post-purchase follow-up email, with the product you want to promote. Then the results panel shows how many coupons were redeemed and how much revenue they brought.

Use it for:

  • Cross-selling: bought the T-shirt? 15% off the matching socks.
  • Repeat purchases: a thank-you discount for the next order.
  • Loyalty and seasonal promotions: Black Friday, Christmas, launches.

Everything runs inside your store, with your WooCommerce email template. No external email platform, no per-email fees, and your customers’ data stays with you.

How it works

  1. Create a rule: trigger product target product, discount, expiry and minimum spend.
  2. When an order with the trigger product is paid, the plugin creates a unique coupon locked to the customer’s email and sends it.
  3. The results panel counts coupons sent and redeemed, the redemption rate and the revenue of the orders that used them.

Features

Coupons

  • Unique, unguessable codes (e.g. PROMO-7KQ2M9XA) restricted to the customer’s email
  • Percentage or fixed discount, expiry in days, minimum spend, individual use, exclude sale items
  • Exactly one coupon per order and rule, even when the order status changes
  • Optional cleanup of expired, unused coupons created by the plugin

Emails

  • Subject, heading and body editor with live preview
  • Variables: {{first_name}}, {{last_name}}, {{coupon_code}}, {{discount}}, {{coupon_expiry}}, {{target_product_name}}, {{target_link}}, {{target_list}}, {{unsubscribe_url}}
  • Uses the WooCommerce email template and your SMTP plugin
  • Send test email button and test mode (all emails go to your address)
  • Coupon history with email preview and resend

Results panel

  • Coupons sent, coupons redeemed and redemption rate
  • Revenue of the paid orders that used a coupon; cancelled and refunded orders are subtracted

Privacy and GDPR

  • One-click unsubscribe link in every email, plus the List-Unsubscribe header
  • Optional opt-out checkbox at checkout (classic checkout and Checkout block)
  • Integrated with WordPress’ Export / Erase Personal Data tools, with suggested privacy-policy text

Compatibility

  • WooCommerce High-Performance Order Storage (HPOS) and the Checkout block
  • Simple, variable and subscription products (renewal orders are skipped by default)
  • Translations included: Spanish, German, French and Italian

Free version limits

The free version includes one complete rule with one trigger product and one target product. No time limit and no sending limit.

CrossSell Mailer Pro

Need more? CrossSell Mailer Pro adds:

  • Unlimited rules and products, with ready-made recipes (complementary product, replenishment, second purchase, Black Friday)
  • Product cards in the email with a “Buy now” button that applies the coupon automatically
  • Win-back emails for inactive customers and coupons for verified reviews
  • Category rules, send after N days, expiry reminders, first-time or returning customers
  • Reports by period with clicks, UTM tags and CSV export
  • WPML and Polylang support, automatic updates and email support

Video tutorial: How to set up CrossSell Mailer

  1. In WordPress go to Plugins > Add New, search for “CrossSell Mailer” and click Install Now, then Activate. WooCommerce must be active.
  2. Go to Coupon Rules in the admin menu.
  3. Choose a trigger product and a target product, the discount and the expiry.
  4. Write the email (or keep the default one) and check it with the live preview.
  5. Click Send test email, then save. From now on, every matching order gets its coupon.
  1. Rules dashboard with the Lite limit of one rule.

    Rules dashboard with the Lite limit of one rule.

  2. Creating a rule with trigger and target product selection.

    Creating a rule with trigger and target product selection.

  3. Email template editor with dynamic variables.

    Email template editor with dynamic variables.

  4. Automatic WooCommerce coupon created from the rule.

    Automatic WooCommerce coupon created from the rule.

  5. Coupon general settings of the automatic WooCommerce coupon created from the rule.

    Coupon general settings of the automatic WooCommerce coupon created from the rule.

  6. Coupon restrictions of the automatic WooCommerce coupon created from the rule.

    Coupon restrictions of the automatic WooCommerce coupon created from the rule.

  7. Example of the email customers receive after purchase.

    Example of the email customers receive after purchase.

Does it work with any WooCommerce product type?

Yes. Simple, variable and subscription products are supported. Subscription renewal orders are skipped by default, so customers don’t get a coupon every billing period; you can enable them in Settings.

When is the coupon email sent?

When the order reaches the status you choose in the rule (Processing or Completed), once per order and rule.

Can another customer use a coupon that was not sent to them?

No. Codes are random and restricted to the billing email of the order that generated them. Developers can disable the email restriction with the ppcr_restrict_coupon_to_customer filter.

Can customers opt out?

Yes. Every coupon email includes a one-click unsubscribe link and a List-Unsubscribe header. You can also show an opt-out checkbox at checkout (classic checkout and Checkout block). Order emails are not affected. Only a hash of the address is stored.

How are results measured?

A coupon counts as redeemed when a paid order (Processing or Completed) uses it. The panel adds up the total of those orders and subtracts them if they are later cancelled or refunded. Counting starts with version 1.2.0.

Can I test the email without making a purchase?

Yes. Use the live preview and the “Send test email” button in the rule editor. No coupon is created.

Does this plugin change my existing WooCommerce emails?

No. It sends its own post-purchase email and leaves WooCommerce emails untouched.

Can I create more than one rule or send the email days later?

The free version has one rule and an optional global delay in minutes. CrossSell Mailer Pro adds unlimited rules, per-rule delays in days, categories and more.

Where do I get help?

Use the support forum on WordPress.org. Documentation is at sellmailer.com/documentation.

1.2.0

  • New: live email preview while editing a rule (no need to save first).
  • New: coupon options — minimum spend, individual use only, exclude sale items.
  • New: GDPR tools — the plugin’s data appears in Tools > Export / Erase Personal Data, plus suggested privacy-policy text.
  • New: subscription renewal orders are skipped by default (no coupon every billing period); can be enabled.
  • Fixed: coupons were created without an expiry date (WooCommerce ignored it), so they never expired. They now expire at the end of the configured day.
  • New: results panel with coupons sent, coupons redeemed, redemption rate and revenue from redeemed orders.
  • New: optional opt-out checkbox at checkout, compatible with the classic checkout and the Checkout block.
  • New: “Send test email” button with sample data (no coupon is created).
  • New: optional daily cleanup of expired, unused coupons created by the plugin.
  • New: rules have a permanent id, so editing a rule never re-sends coupons for past orders.
  • Improved: all admin texts use WordPress translations (translate.wordpress.org ready), with Spanish, German, French and Italian included.
  • Improved: “Resend” now confirms the result and skips customers who unsubscribed.
  • Improved: the setup guide hides itself once the setup is complete.

1.1.3

  • Fixed: rules triggered on “Completed” sent two coupons and two emails per order.
  • Fixed: an order re-entering the trigger status (e.g. processing > on-hold > processing) received a new coupon. Each rule now runs once per order.
  • Fixed: {{target_product_name}} was not replaced in the subject or body.
  • Security: coupon codes are now random (PREFIX-XXXXXXXX) instead of PREFIX_{order_id}, and restricted to the customer’s billing email.
  • New: one-click unsubscribe link and List-Unsubscribe header in coupon emails.
  • New: {{discount}}, {{coupon_expiry}} and {{unsubscribe_url}} variables.
  • New: order note with the generated coupon; coupon description links back to the order.
  • New: Spanish, German, French and Italian translations for email and system texts.
  • New: settings are removed when the plugin is deleted (generated coupons are kept).
  • Improved: the “only the first rule is active” notice only appears when it applies.
  • Compatibility tested up to WordPress 7.1 and WooCommerce 11.2.

1.1.2

  • Compatibility tested up to WordPress 7.0.
  • Declared WooCommerce HPOS compatibility.
  • Fixed internal engine class references for scheduled order processing and cleanup.
  • Improved email sender filter cleanup after coupon emails are sent.

1.1.1

  • Fixed historical email preview rendering in coupon logs
  • Improved WooCommerce email preview consistency
  • Fixed coupon card display inside logged email previews
  • Improved admin email preview layout and centering
  • Better handling of stored HTML email content

1.1.0

  • Added generated coupon history log in admin panel
  • Added email preview for sent coupon emails
  • Added email resend action from coupon history
  • Improved WooCommerce email template compatibility
  • Improved email preview rendering and styling
  • Added responsive admin UI improvements
  • Added scrollable coupon history table for large logs
  • Improved onboarding and setup experience
  • Improved multilingual admin labels and actions
  • Improved coupon email card rendering
  • Better WooCommerce email style inlining support
  • General UI and usability improvements
  • Internal code cleanup and stability improvements

1.0.9

  • Configurable coupon code prefix per rule

1.0.8

  • WordPress 6.9 tested

1.0.7

  • Tags fixed

1.0.6

  • Performance improvements and UI refinements
  • Compatibility fixes for WC 8.x
  • Security hardening

1.0.5

  • Improved coupon generator engine
  • New personalization variables
  • Email preview enhancements

1.0.4

  • Better product selector performance
  • Improved backend UX

1.0.3

  • Stable release tweaks

1.0.2

  • New collapsible rule panels
  • Lite version limits enforcement
  • Select2 compatibility improvements

1.0.1

  • Visual and UX improvements
  • PHP 8.2 compatibility

1.0.0

  • Initial public release
Back to top