Unique Klaviyo Coupon Codes for Shopify
Overview
Klaviyo can create one-time use dynamic coupon codes for Shopify stores, where each customer receives their own unique coupon code. This feature serves as an alternative to generating a generic discount code for a promotion, meaning you don’t have to worry about codes being shared. Here are some examples of how to use unique coupon codes in campaigns:
- Discount codes for email subscribers: Reward your subscribers with an exclusive email promotion by offering them unique coupon codes.
- Pre-sale discounts for VIP customers: Send your VIPs unique codes to shop the new collection with a discount before anyone else.
- Shipping delay discount: If some items are backordered or if you’re experiencing delays in fulfilling orders, send unique codes to thank affected customers for their patience.
Here are some examples of using unique coupon codes in flows:
- Abandoned cart: Send a discount code to cart abandoners who haven’t made a purchase yet. A code that expires within two to four days creates a sense of urgency and can help turn browsers into paying customers.
- Winback: Send a discount to customers who haven’t purchased in a long time to encourage them to buy again.
- Welcome Series: Offer new subscribers a discount code as soon as they join your email list. You can even increase the available discounts through the same code if they haven’t purchased after two weeks.
Shopify has a limit of 20,000,000 unique discount codes per Shopify store. If you reach this 20 million code limit, you will need to delete unique codes from your Shopify Admin before Klaviyo can generate more unique codes.
Before you start
Make sure you are integrated with Shopify and that you can see the Coupons tab in your Klaviyo dashboard. If you haven’t granted Klaviyo the correct permissions to create Shopify coupons, navigate to the Integrations tab and update your integration. Once done, wait for the page to reload before returning to the Coupons tab. Continue following the steps to actually create a coupon.
Create your couponcode in Klaviyo
First, navigate to the tabblad Coupons in your Klaviyo account and click Add Coupon in the upper right corner. If Klaviyo hasn’t been granted the necessary permissions to create Shopify coupons for your account, you may need to click a button to update your integration settings. When you click to update your integration settings, Klaviyo will re-authenticate with Shopify and then redirect you back to Klaviyo. If you click to update and then hit the back button or navigate elsewhere before this authentication process is complete, your integration will be disabled.
For each coupon, you can set the following properties in Klaviyo:
Name
This is how the coupon will be identified in Klaviyo.
Prefix
Klaviyo generates a random code for each person, but you can also specify a prefix that will appear before each code (e.g., WELCOME).
Discount Type
Choose whether the coupon offers a fixed amount, a percentage off, or free shipping.
Free Shipping
Free shipping coupons can be restricted to apply only to certain shipping rates or only when customers ship to specific countries.
Fixed Amount & Percentage Off
For coupons offering a fixed amount or percentage off an order, you can specify that the coupon applies only to certain products or collections.
Minimum Order Subtotal
Choose if the coupon is limited to orders that meet a certain subtotal (e.g., 20% off orders over €50).
Activation Date
This is the date when the offer becomes active. You can choose a start date or opt for generated coupon codes to become active as soon as they are sent. Note that dates are set in the UTC time zone, so you may see a different activation date in Shopify.
Expiration
Choose when you want the coupon to expire. There are different options for coupons used in campaign emails versus flow emails. Note that dates are set in the UTC time zone, so you may see a different expiration date in Shopify.
Campaigns
You have two choices for the expiration date:
- Generated coupon codes never expire.
- If you want the discount to have a defined end date, after which the generated codes will expire, you can select a fixed expiration date.
Flows
You have three choices for the expiration date:
- Generated coupon codes never expire.
- Generated coupon codes expire after a certain number of days/hours.
- If you want the discount to have a defined end date, after which the generated codes will expire, you can select a fixed expiration date.
Coupons that expire after a certain number of days/hours have variable expiration dates. While you can create coupons with variable expiration dates for flows, you cannot create such coupons for campaigns.
Using Your Coupon in a Flow Email
Unique coupon codes for live flow emails are automatically generated in batches of 100. When the number of coupon codes drops below 100, Klaviyo generates another 100 codes. This ensures that there are always enough codes available for live flow emails. Because coupon codes for flows are automatically replenished, you do not need to manually add batches of coupon codes via the "Add Codes" option.
If your flow is linked to a list where you're adding a large number of contacts, we recommend using a different approach and following the instructions for sending a coupon code in a campaign. You will need to add as many codes as there are contacts you're uploading to the list. For example, if you're uploading 10,000 people to a list, you must create 10,000 coupon codes in advance. This is particularly important for large list uploads to ensure your emails are sent on time.
Once a coupon is created, you can insert it into a flow email using the following dynamic variable:
{% coupon_code 'NAME_OF_YOUR_COUPON' %}
waar je NAME_OF_YOUR_COUPON vervangt door de naam van de coupon (moet exact overeenkomen met de naam -- hoofdlettergebruik is belangrijk). Bijvoorbeeld:
When emails are sent, this variable is dynamically replaced by a unique discount code for each recipient. If you use the same coupon tag in multiple flow emails, the recipient will receive the same unique code each time until the code expires or is used.
When you preview the email directly in Klaviyo, you will notice that no unique coupon code is filled in. Additionally, you cannot preview coupon codes with variable expiration dates because you cannot manually add codes to these types of coupons.
You can manually add codes to coupons without variable expiration dates. For emails containing coupons without variable expiration dates, you can generate a live code if you send a test email to yourself or a team member. To do this, it's important to ensure that you have enough codes in your account. If this is not the case, you will not see a unique code in your preview, and you will need to add more codes before sending a preview with a live coupon code.
Any flow that contains a coupon without an expiration date will send the same code to a customer each time they enter the flow. If you expect a customer to navigate through a Klaviyo flow multiple times, consider using a coupon that expires, so they receive a new code each time they enter the flow.
If the message is sent to multiple people, they will all receive the same code. So, if multiple previews are sent within the same minute, they will all contain the same code.
Using a Coupon in a Klaviyo Email Campaign
Although Klaviyo automatically generates coupon codes for flow emails, you must manually generate coupons for campaign emails. After setting up the parameters for your coupon, you need to specify the number of coupon codes you want to generate. This must be done before scheduling your campaign. Here are some important things to consider:
- You need to generate at least as many codes as the expected number of recipients. This means that if you generate fewer codes than the estimated number of recipients, you won’t be able to send or schedule the campaign.
- If your scheduled campaign is set to "Determine recipients at send time" and the actual number of recipients exceeds the number of codes generated at the time of sending, the additional recipients will be skipped and will not receive the email.
- If you're generating a large number of codes, make sure to leave some time between when you generate the codes and your desired campaign send time. Generating a large number of coupon codes can take several hours. Use the estimated number of campaign recipients as a framework, and don’t overestimate the number of codes you need.
You can generate coupon codes for a specific coupon by clicking on the dropdown and selecting Add Codes.
After selecting Add Codes, you will be prompted to enter the number of codes you want to generate. Again, make sure you generate at least as many codes as the expected number of recipients for your campaign; otherwise, you won’t be able to send or schedule the campaign. Coupons with variable expiration dates cannot be used in campaigns. Therefore, you won’t see the option to add codes if you have selected a variable expiration date for your coupon.
The section "Estimated time to create" gives you an idea of how long it will take to generate the number of codes you’ve specified. For larger quantities, this can take some time, so keep in mind to do this a few days before you plan to send the campaign.
Once you click Submit, Klaviyo will start generating coupon codes for your campaign. A progress bar will appear under the coupon name to show the progress. You can also track the number of codes created in the Available/Total column.
After the codes are generated, you can include the coupon tag in your campaign template.
{% coupon_code 'NAME_OF_YOUR_COUPON' %}
Make sure to replace NAME_OF_YOUR_COUPON with the exact name of the coupon (case-sensitive). For example:
When emails are sent, this variable is dynamically replaced with a unique discount code for each recipient. When you preview the email directly in Klaviyo, you won’t see a unique coupon code filled in. However, if you send a preview email to yourself or a team member, a live code will be generated. For this reason, it’s important to ensure you have enough codes in your account. If not, you won't see a unique code, and you'll need to add codes before sending a preview with a live coupon code.
If multiple people are included in the preview send, they will all receive the same code. Additionally, if multiple previews are sent within the same minute, those previews will all contain the same code.
When you're ready to send or schedule your campaign, go to the final page of the campaign scheduling wizard by clicking "Review & Send Campaign." Here, you’ll see a "Coupon Codes" section. If you have fewer coupon codes available than the expected number of recipients, you won’t be able to schedule or send your campaign and will need to add more codes.
When you schedule or send your campaign, each recipient will receive a unique coupon code. You can see which code an individual recipient received by navigating to their profile and scrolling to the "Coupons" section, as described in Klaviyo's FAQ.
Best Practices
If you are using unique coupons in campaigns and flow emails, here are some best practices to follow:
- Don’t use the same coupon for flows and campaigns. Since you need to specify the number of codes to be generated for campaigns, but not for flows, it’s helpful to use different coupons for flows versus campaigns.
- Create a separate coupon for each campaign. This makes it easier to specify the number of codes needed for each campaign, preventing you from running out of codes and risking some recipients being skipped.
- Create a separate coupon when changing the categories or products eligible for the coupon. Klaviyo will, by default, try to assign all existing codes, which could result in customers receiving and using codes with outdated terms.
- Generate coupons a few days in advance to avoid last-minute delays in sending your campaign while waiting for coupon generation, especially when handling large quantities.
Additional Resources