Skip to main content
How to connect Klaviyo

Use this guide to integrate Klaviyo with your Checkify checkout to enable abandoned cart recovery flow and other features.

Updated this week

Recovering abandoned carts is a must-have for eCommerce, especially considering that the average cart abandonment rate is over 70%. Klaviyo is one of the top solutions to recover carts when it comes to email marketing.

Klaviyo allows you to create advanced email funnels, offers detailed metrics on their performance, and provides an intuitive drag-n-drop emails editor. Find out more about Klaviyo’s features on their website.

In this article:

1. Find an API Key in Klaviyo

To interconnect your Checkify and Klaviyo accounts, you need to use the Public API Key generated in Klaviyo. Here is where to find it:

  1. Log in to your Klaviyo account.

  2. Open your profile in the top-right corner and choose Account from the dropdown menu.

  3. Go to Settings and select API Keys.

  4. Copy the Public API Key listed there.

API Keys location in Klaviyo

5. If you wish set Single opt-in

2. Add Klaviyo API Key to Checkify

Adding an API key from your Checkify admin panel:

  1. Go to the Integrations section > Email and SMS senders tab.

  2. Choose Klaviyo.

  3. Add your Klaviyo Public API Key to the corresponding field.

  4. Optional: you can also create or use existing Email and/or SMS subscription lists (List ID for Email subscription, List ID for SMS subscription).


    If you have not enabled SMS, or do not have a sending number for that country, you cannot collect SMS consent. A confirmation message will be sent out to a customer, only after consent is confirmed via SMS, will the SMS portion under the Channels section of the profile update. For this list, we recommend to enable Single opt-in in Settings:

  5. Save changes.

    Klaviyo in Checkify's Integrations section

3. Learn what events and properties are created

Checkify can create and send to Klaviyo two events:

  • Started Checkify Checkout — a buyer reached the checkout page and filled in their Email address or Phone number.
    Note: you can integrate SMSBump into Klaviyo and use numbers to send SMS for recovery. Also, you can have a direct integration with SMSBump. More details in this article.
    Immediately after the event is triggered, Klaviyo receives all the available customer details (email, name, if filled), the cart's contents, and a recovery URL. Whenever the customer fills in or edits a new field, Checkify pulls new information, and their profile is updated.

  • Finished Checkify Checkout — an order is created. Checkify sends full customer details (email, first/last name) and the cart's contents to Klaviyo. This event is used to filter people who made a purchase from the ones who did not.

Note: The following events will only appear in the Klaviyo funnel builder after they were triggered at least once after you connect Klaviyo to Checkify and the store.

Checkify creates and sends Klaviyo a list of specific properties (like user name and email). The main abandoned cart-related properties are listed below.

You can see all the events sent to the account on the tab Activity Feed in your Klaviyo account:

Checkify event-specific properties for Checkout:

  • {{ event.checkoutURL }} / The url to recover this checkout

  • {{ event.totalPrice }} / Total price (without currency)

  • {{ event.currency }} / Currency

  • {{ event.itemCount }} / Number of items added to cart

  • {{ event.discountAmount }} / Discount amount (if applied)

  • {{ event.discountAmountIn% }} / Discount amount in % (if applied)

  • {{ event.lineItems }} / Array with the contents of the cart

Example: one product (first position) in the cart:

{{ event.lineItems.0.title }} / Title
{{ event.lineItems.0.price }} / Price
{{ event.lineItems.0.image }} / Image
{{ event.lineItems.0.quantity }} / Quantity

Example: second product (second position) in the cart:

{{ event.lineItems.1.title }} / Title
{{ event.lineItems.1.price }} / Price
{{ event.lineItems.1.image }} / Image
{{ event.lineItems.1.quantity }} / Quantity

Checkify event-specific properties for Purchase:

  • {{ event.thankYouPageURL }} / The url to thank you page

  • {{ event.totalPrice }} / Total price (without currency)

  • {{ event.currency }} / Currency

  • {{ event.itemCount }} / Number of items added to cart

  • {{ event.discountAmount }} / Discount amount (if applied)

  • {{ event.discountAmountIn% }} / Discount amount in % (if applied)

  • {{ event.lineItems }} / Array with the contents of the cart

  • {{ event.orderID }} / Shopify order ID

  • {{ event.paidOptions }} / Array with the contents of paid options

  • {{ event.paidOptionsPrice }} / Total Price of paid options

  • {{ event.paymentSystemFeePrice }} / Payment system fee COD (if applied)

  • {{ event.shippingName }} / Name of shipping option

  • {{ event.shippingPrice }} / Price of shipping option

  • {{ event.taxPrice }} / Total Tax (if applied)

Example: one product (first position) in the cart:

{{ event.lineItems.0.title }} / Title
{{ event.lineItems.0.price }} / Price
{{ event.lineItems.0.image }} / Image
{{ event.lineItems.0.quantity }} / Quantity

Example: second product (second position) in the cart:

{{ event.lineItems.1.title }} / Title
{{ event.lineItems.1.price }} / Price
{{ event.lineItems.1.image }} / Image
{{ event.lineItems.1.quantity }} / Quantity

You can also add a discount to an existing checkout page by URL. For example, provide a discount to induce a purchase for recovery abandoned checkouts etc. This discount will be applied by priority, which means that if there were other discount codes on the page (including an auto-discount), they will be deleted and the code you specified will be applied.

In such cases it is necessary to add &discount=DISCOUNT_CODE to the link.

Then the complete link in Klaviyo will look like this:

{{ event.checkoutURL }}&discount=DISCOUNT_CODE

4. Set up your Klaviyo email campaigns

To create an abandoned cart flow, you need to use both Started Checkify Checkout and Finished Checkify Checkout events.

4.1 Creating triggers

  1. Log in to your Klaviyo account.

  2. Go to the Flows tab.

  3. Select Create Flow.

  4. Select Create from Scratch, add the name of your flow and click on Create Flow.

  5. Choose the Metric trigger.
    This trigger represents an event that has to happen for Klaviyo to start the email flow. Once a customer abandons the checkout, they fall under the trigger's conditions and start receiving the corresponding emails.

  6. In the dropdown menu, select Started Checkify Checkout event.

  7. Click Save.

Configuring a Metric trigger with Checkify's events in Klaviyo

4.2 Add Time delay

Add a Time Delay of 10 to 30 minutes to the trigger. To do so, just drag and drop the Time Delay section from the Actions panel.

Time delay in setting up the flow on Klaviyo

4.3 Create conditions

After you set up the trigger, you need to create a conditional split, so buyers who entered their email do not receive the abandoned cart notification.

  1. After you create your metric, drag Conditional Split to the marked area under the metric.

  2. Click the card and set up the condition.

  3. Select What someone has done (or not done) condition.

  4. In the field Person has, choose Finished Checkify Checkout.

  5. Then, choose Zero times in the next field.

  6. After that choose In the last 1 hour.

  7. Click Save and Done.

Adding a conditional split with Checkify's events in Klaviyo

Important: Some time should pass between the trigger and the purchase check. For instance, Shopify creates an Abandoned cart event after 30 minutes. If you do not set up a time delay, 100% of customers who entered their email will get an abandoned cart notification.

Once you added a trigger and a condition, this is what the beginning of your flow would look like:

Create a trigger, then time delay, and add a condition

5. Add Email


Then click "Edit":

Click "Edit Email" button, usually in the top right corner, as shown in the image below:


Then create your content. For example, the image for the first product in the cart is

{{ event.lineItems.0.image }}:

Or checkout URL for recovery {{ event.checkoutURL }}:

You can simply copy any variables in Preview mode:

6. Set up Klaviyo SMS

Before you create your first SMS campaign, you need to configure this option in your account. Visit Account > Settings > SMS. Then click Set Up SMS.

Important: Klaviyo SMS is currently available in a limited number of countries (* United States (50 states only), Canada, UK, Australia, New Zealand, Ireland). You can read Klaviyo’s guide to learn in more detail what must be included in messages in each country.

Set up SMS in your Klaviyo dashboard

Klaviyo also requires getting explicit consent from your customers before sending them SMS messages. Checkify is GDPR compliant and transfers SMS consent to Klaviyo when your customers agree to receive offers and news on the checkout. Whenever a new customer is added to your list on Klaviyo, you will be able to send them SMS campaigns if they opt in.

Let’s set up a flow to reach out to customers who did not open your abandoned cart email and follow up via SMS.


1. We will build upon the flow with one email. To send the first abandoned cart email, start the flow like described in section 4.1.

2. Add a time delay after the first email.

Add a time delay after the email

3. Drag a conditional split below the time delay to exclude customers who opened the previous email. Fill in the Equals field with the name of your first abandoned cart email.

Use What someone has done or not done > Opened Email at least once over all time > where Message equals [MESSAGE NAME]

4. Add SMS to be sent to the ones who did not read the email. You will be prompted to configure the content of the message.

Edit your SMS content

5. After the first SMS message, you can rejoin the split if you plan to send more emails to the customers who received the SMS.

Rejoin the split

6. Save your flow.

SMS flow that follows up a cart recovery email

Note: some customers might not receive this text message because they did not include their phone number at the checkout or because they are in a location where Klaviyo SMS is unavailable. Please check the up-to-date list of countries with Klaviyo's support, or on their website (documentation).

7. Test your abandoned cart flow

After creating the abandoned cart flow on Klaviyo, test it to ensure it works properly.

1. Add a product to your cart and move to the checkout.

2. Fill the email field with an email that is not stored on Klaviyo. You can simply make up the email.

3. Check for the last actions in the Activity feed in the Klaviyo dashboard. You should see that there was a Checkify started event connected to the event you used.

Checkify checkout started the event


4. Add your phone number to the shipping address (form) on the open Checkify checkout page. Check whether it appears in the Activity feed on Klaviyo after the set time delay.

5. Fill in the shipping address completely, add payment information and make a test purchase (of a test product on your store) for an equivalent of $1. Check for the appropriate event in the Activity feed.

If you tested all the events, and they were displayed in your Activity feed, the integration works properly. If the events did not appear after the delay, check your account ID (especially, if you have multiple stores connected to Klaviyo) and check that you have a correct ID connected to Checkify.

8. Common issues

🙀 I do not see Checkify events at Klaviyo.

Checkify events (Started Checkify Checkout and Finished Checkify Checkout) will only appear after they were triggered at least one time. After adding Klaviyo Public API Key to Checkify, perform a test transaction before configuring the abandonment flow. If everything goes well, you will see the corresponding updates in your Activity feed tab in Klaviyo, and you will be able to set up the events.

🙀 What if I already have an abandonment cart recovery flow in Klaviyo?

If you have already created a similar flow for Shopify checkout, it would still work with orders that, for any reason, were processed through the default checkout. However, to cover Checkify abandonments, you need to create a separate flow.

🙀 I am using a different email marketing software. Can I connect it to Checkify?

We do not currently support other direct integrations. However, you can use our Zapier integration to connect to other email marketing services, for example, Mailchimp.

🙀 Can I send SMS if I do not use Klaviyo?

You can also send SMS with our Zapier integration. However, you will be limited by the selection of services available on Zapier — they do not have integrations with major SMS marketing providers. At the same time, it's better search there for more actual information.
If you use SMSBump (Yotpo SMS & Email), you will still need to connect it via Klaviyo, but the number of countries is limited. You can a direct integration with SMSBump more details in this article.

Did this answer your question?