How to create Dynamic Coupons for Shopify in Klaviyo for specific product

create Dynamic Coupons for Shopify

Written by - Masood

December 12, 2017

Klaviyo is the most powerful email marketing tool. Klaviyo is designed specifically to pull in data from all the tools you use to drive your eCommerce business. For all Shopify stores, Klaviyo can automatically create one-time use coupon codes so each customer receives his/her unique code. Use the following method to create a coupon code in Klaviyo. In this blog post, we will learn How to create Dynamic Coupons for Shopify in Klaviyo for specific products.


First, click on the tab “Lists & Segments” Then you have to create a list for coupon codes in Klaviyo by clicking on CREATE LIST/SEGMENT, As you can see the list “GET 40% DISCOUNT CODE” in the below screen.

Then you have to go to the COUPONS tab and click on ADD COUPON to create a coupon code. You will see a new window to create a coupon.

For each coupon, you can set the following properties in Klaviyo:

How the coupon will be identified in Klaviyo

Klaviyo will generate a random code for each person, but you can also specify a prefix that will go before every code (i.e. WELCOME)

Discount Type
Whether the coupon is a fixed amount off, a percentage, or for free shipping

Applies To

  • ENTIRE ORDER: You can select the different products in one order and proceed.
  • SELECT PRODUCT: You can book an order for a selected product
  • SELECT COLLECTION: You can book your order for any availed collection.

Minimum Order Subtotal

Whether the coupon is limited to orders meeting a certain subtotal (i.e. 20% off orders over $50)


You have three choices for expiration:

  1. Generated coupon codes will never expire
  2. Generated coupon codes will expire after a certain number of days/hours
  3. If you want your discount to have a defined end date, after which generated codes will expire, you can select a firm expiration date

Each discount type also has a few additional customization options:

Free Shipping

For free shipping coupons, you can limit the coupon so it only applies to certain shipping rates, or only when shoppers are shipping to specific countries

Fixed Amount & Percentage Off

For coupons where you’re offering a fixed amount or percentage off an order, you can specify that the coupon only applies to certain products or collections


In the next step go to the “FLOWS” tab and click on “CREATE FLOW” to create a flow. You will see the below screen for creating FLOW.

Give your desired name in “GIVE THIS FLOW A NEME”, and select the SUBSCRIBE TO A LIST button, this button will allow you to trigger your selected list. Select your created list from the option “Which list will people be added to”. In the next step select EVERYONE WILL RECEIVE EMAILS ONCE TRIGGRED, By selecting this option everyone who will subscribe will receive a generated coupon code.

Use Your Coupon in a Flow Email

Once a coupon is created, you can insert it into a flow email using the following dynamic placeholder variable:

{% coupon_code ‘NAME_OF_YOUR_COUPON’ %}

where you replace NAME_OF_YOUR_COUPON with the coupon name (must be an exact match of the name – capitalization matters) At the bottom of the page you will see the “CREATE FLOW” button so click on it to create it. A new screen will appear as follows :


How I can turn a flow live?

To start sending a flow, click on the Flows tab and then on the name of the flow in the list. For each email in the flow you want to start sending, make sure you’ve customized and previewed the content. Once you’ve reviewed the email content, click on the paper airplane icon to the left of the flow email name and change the status to Live. This will start sending emails automatically to anyone who subscribed. If this email’s status is manual and there are any recipients awaiting review, those recipients will still need to be reviewed and sent manually.

Why was my E-mail not sent to subscribers?

When a coupon code is generated and you find it’s not sent to the subscriber, you should change some settings in the FLOW tab as follows

  • Click on the flow tab
  • click on the highlighted area in the image and select “0 hours” in the updated time to send the email immediately to the subscriber.

You May Also Like…