Skip to main content
Solved

Imported coupon codes being reused instead of assigning new ones in profiles

  • 30 January 2025
  • 1 reply
  • 16 views

Forum|alt.badge.img

Hi,

We generate unique coupon codes in WooCommerce and then import them into Klaviyo in batches. These codes are intended to be assigned uniquely to each customer per flow (in some cases several times) as they keep re-entering specific flows. However, we are experiencing an issue where the same initial unique coupon code is being reused for the same customer (profile) across multiple flows instead of assigning a new one.

Example:

 

  • Unique codes are created in WooCommerce and then imported into Klaviyo under the batch "DISCOUNT10".
  • This batch is for example used in both the Abandoned cart flow and Welcome series flow.
  • The emails in these flows use {% coupon_code 'DISCOUNT10' %} to insert the coupon.
  • Customers who receive a code in the Welcome flow and later enter the Abandoned cart flow are getting the same initially assigned coupon code instead of a new one.
  • If our customer buy and use the code as a result of receiving an e-mail from Welcome flow, WooCommerce marks the code as "used," but in Klaviyo, it still appears active.

Questions:

  • Does Klaviyo store an assigned coupon code in a user’s profile, causing it to be reused even when a new one should be assigned?
  • How can we ensure that each customer receives a new unique code from the batch every time they enter a flow (instead of getting the same one from their first interaction)?
  • Should we be using a different variable, such as for example {{ event.coupon_code }}, to dynamically generate a new code from the batch each time?

We need to ensure that each time a user qualifies for a new flow, they receive a new, unused coupon code from the batch.


Any guidance on resolving this would be greatly appreciated!

Thank you.

Best answer by Byrne C

Hi ​@MW2024,

Thanks for the question. Happy to provide some clarity on how our coupons work, and to offer some suggestions.

When a profile is assigned a coupon, that specific unique coupon code lives on their profile until it expires. Let’s say you’re assigned the unique coupon DISCOUNT10, and it expires after a month. Every time you get an email or SMS message from any flow that has the DISCOUNT10 code in it, it’ll be that same unique code that was assigned to your profile. There isn’t a setting as of now that can give people different variations of the same coupon at a time. You’ll need to wait until it expires to be assigned a new one.

After somebody makes a purchase using that Coupon, WooCommerce doesn’t tell Klaviyo to deactivate that coupon. That coupon will still remain active (in Klaviyo) until the expiration date.

I see how this can cause some issues for you. A couple suggestions to help mitigate this:

  • You mentioned that you want people to get a new coupon if they enter the abandoned cart flow after receiving an email in the welcome flow with a coupon. You can achieve this by adding a conditional split in your abandoned cart flow that states, “Person has received email at least once over all time where flow equals X”, with X being the welcome flow. Under the YES path of that split, add in a nearly identical email to the NO path, but with an entirely new coupon code. This will successfully give these people a second coupon to use.
  • Additionally, you may want to think about reducing the time it takes your coupons to expire. If you have coupons that never expire, or expire after a very long time, your customers won’t see new discounts as often. That being said, having coupons with shorter expiration times will result in people getting new coupons more frequently.

Let me know if this helps, and if I can answer any follow-up questions!

Have a great weekend.

-Byrne

View original
Did this topic or the replies in the thread help you find an answer to your question?

1 reply

Byrne C
Community Manager
Forum|alt.badge.img+10
  • Community Manager
  • 56 replies
  • Answer
  • January 31, 2025

Hi ​@MW2024,

Thanks for the question. Happy to provide some clarity on how our coupons work, and to offer some suggestions.

When a profile is assigned a coupon, that specific unique coupon code lives on their profile until it expires. Let’s say you’re assigned the unique coupon DISCOUNT10, and it expires after a month. Every time you get an email or SMS message from any flow that has the DISCOUNT10 code in it, it’ll be that same unique code that was assigned to your profile. There isn’t a setting as of now that can give people different variations of the same coupon at a time. You’ll need to wait until it expires to be assigned a new one.

After somebody makes a purchase using that Coupon, WooCommerce doesn’t tell Klaviyo to deactivate that coupon. That coupon will still remain active (in Klaviyo) until the expiration date.

I see how this can cause some issues for you. A couple suggestions to help mitigate this:

  • You mentioned that you want people to get a new coupon if they enter the abandoned cart flow after receiving an email in the welcome flow with a coupon. You can achieve this by adding a conditional split in your abandoned cart flow that states, “Person has received email at least once over all time where flow equals X”, with X being the welcome flow. Under the YES path of that split, add in a nearly identical email to the NO path, but with an entirely new coupon code. This will successfully give these people a second coupon to use.
  • Additionally, you may want to think about reducing the time it takes your coupons to expire. If you have coupons that never expire, or expire after a very long time, your customers won’t see new discounts as often. That being said, having coupons with shorter expiration times will result in people getting new coupons more frequently.

Let me know if this helps, and if I can answer any follow-up questions!

Have a great weekend.

-Byrne