Skip to main content

Hi team,

I’m working with Woocommerce and looking for the best way to fix my coupon-issue(s). I recently switched to Klaviyo and really looking for some help :)

Situation
I’m selling discovery boxes for $35. When the customers buys the full product within 30 days, the $35 will be discounted.

Right now I’m working with AutomateWoo: everytime the discovery box is purchased, it generates an unique discount code, valid for 30 days and autosends an email, reminder and last chance. But I want to send out the emails with Klaviyo for tracking and branding purposes. 

From what I’ve read it isn’t possible to autogenerate unique codes for Woocommerce with Klaviyo that are only valid for a set period of timee.

 

My solution

Use the Smart Coupons x Woocommerce plugin to generate say 100 codes. Make them valid for 1 year, upload them in Klaviyo and send them out to discovery box buyers.

(If you already know a better way, please let me know!)

The problem with my solution is:

  1. I have to manually generate and upload new codes
  2. I’m not sure if it’s possible to send 3 mails (initial, reminder, last chancee) to the same person showing the same unique code
  3. It stays valid after 30 days

As you can imagine it’s very important to send out unique codes that can be used only once. All help/insights appreciated. 

 

Gratefully yours,

 

 

Does bumping work in this community 🙂?


Hey @Rammin 

Thank you so much for your patients and posting a really great question for the Klaviyo Community! Happy to help!

  1. you will have to manually upload the unique coupon codes. but if you have enough purchase data you can estimate how many codes you might need and create a cadence that works for your schedule to upload new codes periodically. I am also putting in a feature request to our development team to look into adding this to our WooCommerce integration. No guarantee, but the more people asking for it might move the needle!
  2. You can absolutely create a flow with three emails that will display the same unique code in Klaviyo. When editing an email or SMS, include the following snippet, replacing "coupon_name" with the name of your coupon: and the unique code on the customers profile with that coupon name will appear in the emails. 

    {% coupon_code 'CouponName' %} 

  3. When uploading new unique coupon codes into Klaviyo you will able to set a specific expiration date. 

Hope the links and answers get you on the right path. Thank you for being part of the Klaviyo Community!


Thanks for your help @stephen.trumble.

1-2 check!

3 - The code has to be valid for 30 days after sending, not after uploading. I guess that doesn’t work, right?

Well anyways, it would be great to have the same options as you have with Shopify, but for now this wil work 🙂


This workaround feels so clunky and prone to errors. If this can be offered for other platforms surely it can’t be *that* difficult to integrate with Woocommerce?

This thread from over a year ago was asking for the same functionality: 

 

In the meantime @stephen.trumble, can you clarify something for me. If I upload a list of unique, single use coupons to woocommerce and the same list of coupons to Klaviyo, one unique code will be assigned to one profile? I can email that profile in a flow and they’ll receive that exact coupon while in the flow? But I can’t set a time limit on the coupon’s expiry? 


I want to offer new email subscribers a 10% discount offer for signing up. I want it to expire 7 days after they’ve signed up. Klaviyo currently can’t offer that for ecommerce users who use WooCommerce, correct? 

 

Is this functionality something that is ACTIVELY being worked on by Klaviyo? 

 

Sincerely,

An immensely frustrated user.


Any chance of an answer, @stephen.trumble?

Is this being worked on? When can we expect it?

I have the same issue as the original post - we can’t use this basic functionality with woo, even though you offer it for other platforms, therefore are capable of it. Setting an expiry date from time of upload versus time the coupon code is sent makes setting an expiry date pointless. 


Hey @kgk 

I completely understand the frustration this can cause and it does make sense to have coupon codes expiration set when they are delivered. The product team is still working on this for Woocommerce, but unfortunately I don't have a timeline. I will update this thread as soon as I can as to when this functionality will be available. I’m have also sent the product team a note for this product feature on your behalf to get their eyes on it. 

Thank you for being part of the Community and giving us feedback to make the product and your experience better. 


Hi guys

In case this is helpful, I achieved something similar to this with custom functions added to the site’s theme functions.php and it works like this:

  1. A function is hooked to Woocommerce’s “woocommerce_payment_complete” hook so that it triggers on a successful order.
  2. The function loops through the order’s order-rows to check for the qualifying product
  3. If the relevant product is found, a coupon is created with an expiry date 30 days into the future.
  4. The coupon code is then sent to Klaviyo via the rest API as a profile property
  5. The email sent from Klaviyo then display’s that user’s “coupon” property


The same approach can work to create a coupon with an expiry relative to the subscribe date by using a different hook to trigger the function (eg a Gravity Forms submission hook), depending on how you are capturing your subscribes.


Hey @Martin Stevens 

Thank you so much for such a great idea! Hopefully this will help some of the other posters until this product feature becomes available!


Hi @raWildflows ,

 

Our Klaviyo Toolkit plugin supports dynamic generation of coupon codes for Klaviyo with WooCommerce. 

 

You can read about how it works and how to set it up here:

https://www.madebytribe.com/how-to-dynamically-generate-single-use-coupon-codes-for-klaviyo-with-woocommerce/


Bumping this - am also in need of this feature for WooCommerce / Klaviyo


Reply