Skip to main content
Question

Apply discount at checkout in Woocommerce based on list/segment

  • December 17, 2025
  • 5 replies
  • 39 views

Forum|alt.badge.img

Hi - How do people typically apply a mailing list discount in WooCommerce?  A customer would sign up to our mailing list via an embedded form and go into a list/segment. Then somehow we would use this data to apply a discount at checkout ...hoping that might be a plugin that can achieve this.


Thanks

5 replies

talha.hussain
Problem Solver III
Forum|alt.badge.img+6
  • Problem Solver III
  • December 17, 2025

Hi ​@digiphore, great question. This is a very common requirement, and it helps to clarify what is and is not possible out of the box.

WooCommerce cannot natively reference Klaviyo lists or segments at checkout. Because of that, there is no direct plugin that will automatically apply a discount purely based on Klaviyo list or segment membership.

How this is typically handled in production setups:

Recommended approach. Discount codes delivered via Klaviyo
The industry standard approach is to issue a coupon code after signup rather than auto applying one at checkout. The flow usually looks like this:

  • Customer signs up via a Klaviyo embedded or popup form

  • They are added to a list or segment

  • Klaviyo sends an email or onsite message with a WooCommerce coupon code, either static or unique

  • Customer applies the code at checkout

This method is reliable, easy to track, and avoids abuse. It is also fully supported by both Klaviyo and WooCommerce with no custom development required.

Auto apply discounts. Possible but requires custom development
If you want the discount to auto apply without a code, this requires custom logic rather than a simple plugin. The typical implementation involves:

  • Setting a cookie or URL parameter when the Klaviyo form is submitted

  • Using WooCommerce hooks to detect that flag at checkout

  • Programmatically applying a coupon when conditions are met

This can work, but it introduces complexity around session handling, expiry, edge cases, and potential misuse. For that reason, most teams avoid this unless there is a strong UX reason.

Plugin based rule engines
Some advanced WooCommerce discount plugins allow auto apply rules based on user role, login status, or URL parameters. These still cannot read Klaviyo segments directly, but they can be combined with cookies or landing page parameters as a bridge.

Best practice recommendation
For mailing list incentives, sending a discount code via Klaviyo remains the cleanest, safest, and most scalable approach. It aligns with platform capabilities, keeps checkout logic simple, and gives you full visibility into performance and redemption.

If you need true auto applied discounts tied to customer state, that is best treated as a custom development task rather than a configuration change.


Byrne C
Community Manager
Forum|alt.badge.img+28
  • Community Manager
  • December 18, 2025

Hi ​@digiphore,

To add onto what Talha mentioned, the best way to set this up is to create flows triggered by the lists/segments that people are joining when they fill out your forms. In each flow, add an email, and include the relevant coupon that you want to send to people when they join that list or segment. Right now, it’s not possible to add the coupon code to a URL to automatically apply to the cart, however.


Forum|alt.badge.img
  • Author
  • Contributor I
  • December 19, 2025

Thanks to both of you for your responses - I really appreciate it!  My issue is that once signed up, someone would be eligible to receive the discount forever (not a one-off), which makes the voucher seem like a non-starter.

I had heard that if I create a custom attribute against a customer in both Klaviyo and Wordpress which is named EXACTLY the same, for example isMailingList, then the value would be synced by Klaviyo to WP and then I could use a rules based plugin to add the discount at checkout.

So the flow would be:

  1. Customer signs up to Mailing List via embedded Klaviyo form
  2. Is set up with isMailingList set to true
  3. Klaviyo plugin syncs customer data to WordPress (including this attribute)
  4. Use plugin at checkout to calculate discount using the custom attribute against the user (customer) in WordPress

Obviously, would still add them to a list / segment to power the Mailing List.

Make sense?


Byrne C
Community Manager
Forum|alt.badge.img+28
  • Community Manager
  • December 19, 2025

@digiphore,

Do you mind if I ask what sort of discounts you’re creating? When you create unique coupons for WooCommerce with Klaviyo, these coupons are single-use, so they’d only be able to use the discount once. Article here explains this process. Are you using a different method of creating coupons?


Forum|alt.badge.img
  • Author
  • Contributor I
  • December 19, 2025

On-going 10% off if the customer is a subscriber to our Mailing List.