This guide explains how to set up automated welcome emails with discount codes for new subscribers using Klaviyo and Shopify.
First, check the email list linked to your signup form on the popup. In the form editor, find the “List to submit” field to identify the list name. Next, in Klaviyo, create a new “Welcome Series” email flow. Select the email list identified in the previous step as the trigger for this flow. Ensure the email list is set to “Single Opt-in” so customers receive the welcome email immediately without confirming their subscription. In the list settings, find “Opt-in Process” and select “Single Opt-in”.
In the welcome email flow, disable “Smart Sending” to ensure all subscribers receive the email. Enable “UTM Tracking” to monitor campaign performance. Edit the welcome email content, adding a compelling subject line, welcome message, and the discount code. Make the discount code prominent and include a clear call to action for easy redemption.
There are two ways to add discount codes to the email: using a static discount code created in Shopify or a dynamic discount code generated in Klaviyo. Static codes are easier to create but lack expiration dates. Dynamic codes are more complex but allow for unique codes per customer and can have expiration dates.
To create a static discount code in Shopify, navigate to “Discounts” and create a new discount. Copy the code and paste it into the welcome email in Klaviyo. To create a dynamic discount code in Klaviyo, go to “Coupons” and create a “Shopify Coupon.” Name the coupon, choose an easily identifiable prefix, set the discount value, and the expiration date. In the welcome email, use the code snippet {{ coupon_code 'Coupon Name' }}
to have Klaviyo automatically insert the dynamic discount code. Replace “Coupon Name” with the name you gave the dynamic coupon in Klaviyo.
Finally, switch the welcome email flow status from “Manual” to “Live” to activate it. Note that flows triggered by list signup cannot be re-entered. If a customer has already received the welcome email, they won’t receive it again when signing up with the same email address. A workaround is to use a “+” sign in the email address during testing, allowing Klaviyo to recognize it as a different address. For example, instead of email@example.com
, use email+1@example.com
.