Klaviyo

Klaviyo

Integrating Wishlist King with Klaviyo

Wishlist King has a powerful Klaviyo integration that enables you to set up Wishlist related marketing automations. This guide will take you through setting up the Klaviyo integration, including setting up Klaviyo Flows that can be triggered by events sent from Wishlist King.

Wishlist related emails outperform most other flow types, with very high open and conversion rates due to the highly relevant and personalised content.

Setup Guide

Setup Requirements

  1. Set up the Klaviyo integration within the Settings area of the Wishlist King app in your Shopify admin, specifying your API keys, and enabling and configuring the types of notifications you want to use.
  2. Create Klaviyo flows triggered by Wishlist events to send notifications to your customers.
  3. Customise the content within your flow using content from Wishlist related events

You can use the full power of Klaviyo, including email and SMS, to drive additional value from your Wishlist.

Creating a new Private API Key in Klaviyo

Creating a private API key in Klaviyo is an essential first step for integrating Klaviyo with Wishlist King.

This new Private API key and your existing Klaviyo Public API Key need to be entered into the Klaviyo integration settings within the Wishlist King app in your Shopify admin.

Creating a new Private API key is straight forward:

In Klaviyo select your profile from the bottom left hand corner of the page and select Settings → Account → API keys:

image

Select the API keys section within Settings → Account, taking note of your Public API Key.

Click Create Private API Key:

image

Name your new private API key to distinguish it from any other existing private API Keys.

Select Full Access Key and press Create.

image

Copy the private API key and take note of the public API key from the API Keys page.

image

Visit the Wishlist King app in your Shopify admin.

Click Settings and then select Klaviyo from the integrations list.

image

Add your public API key into the first field. Paste the private API key you have created into the second field and click Save:

image

Now it’s time to configure your stock and price related events

Configuring Events

Wishlist King allows you to set specific conditions for certain events, ensuring a seamless customer experience.

Back In Stock 

Minimum stock

This allows you to set a minimum stock level that a product or variant should have in order for a Wishlist product back in stock event to fire

Ignore saved product variant

Activating this setting will turn on Back In Stock events for all variants of a Wishlisted product, regardless of the variant the customer has specified in their Wishlist

image

Low In Stock 

Stock threshold

Low In Stock events will only occur when the stock on hand for a customers saved Variant drops below the Stock Threshold value

Minimum stock

Back In Stock events will only occur when the stock on hand is at or above the minimum stock level

Ignore saved product variant

Activating this setting will turn on Low In Stock events for all variants of a Wishlisted product, regardless of the variant the customer has saved to their Wishlist

image

Price Drop

Minimum Price Change

Price Drop events will only occur when the price for a customers saved Variant drops by at least the minimum price change amount

Minimum stock

Price Drop events will only occur when the stock on hand is at or above the minimum stock level

Ignore saved product variant

Activating this setting will turn on Price Drop events for all variants of a Wishlisted product, regardless of the variant the customer has specified in their Wishlist

image

Once you’ve configured your events, you'll need to simulate the events on your store front in order for them to appear in Klaviyo as triggers you can use to start Flows

Sending Test Events

In order to set up a flow in Klaviyo a trigger event must exist on a customer profile. The easiest way to achieve this is to simulate the various event types that Wishlist King sends to Klaviyo.

The steps to achieve this are straightforward

  1. Visit your store
  2. Sign into a customer account
  3. Add an item with a variant selected from your product page (you will need to briefly adjust the inventory levels and price of this item in order to simulate the Low In Stock, Back In Stock and Price Drop events)
  4. Noting the stock thresholds you have set for your Low In Stock event, adjust the inventory for the variant you saved to the Wishlist to a value lower than the Stock Threshold but higher than the Minimum stock value
  5. To simulate the Back In Stock event, now adjust the inventory for the saved variant to 0, and then adjust it to a stock level higher than the Minimum Stock level set in your event preferences
  6. Now, adjust the price of the variant by a % greater than specified in the Minimum Price Change field in the Price Drop event settings.
  7. Finally, return the price and stock levels back to their original levels.
  8. Check the Klaviyo profile for the customer account you logged into at Step 2 to ensure that the following events are present
    1. Added product to Wishlist
    2. Wishlist product back in stock
    3. Wishlist product low in stock
    4. Wishlist product price drop

Now that Wishlist events are setup and present in Klaviyo, you can starting building Flows using Wishlist events as the trigger.

Wishlist Flows

Each event type sent from Wishlist King can be used to trigger flows in Klaviyo.

The following table lists each metric, a short description of why it's triggered, and some examples of the types of flows that are usually setup in Klaviyo to trigger a notification email or SMS to customers.

Each metric will be triggered either by a customer wishlist update, price or inventory update change

Flow
Metric
Trigger
Add to Wishlist Wishlist Welcome Wishlist Reminder
Added product to Wishlist
When a customer adds a product to their Wishlist
Removed product from Wishlist
When a customer removes a product to their Wishlist
Viewed Wishlist
When a user views their Wishlist page
Back In Stock
Wishlist product back in stock
When a unit of stock for a Wishlisted item becomes available after being previously sold out. A minimum stock level for this event can be set within the Klaviyo integration settings in the Wishlist King app in your Shopify admin
Low In Stock
Wishlist product low in stock
When the stock level of a Wishlisted item drops below a specified level A minimum stock level for this event can be set within the Klaviyo integration settings in the Wishlist King app in your Shopify admin
Price Drop Alert
Wishlist product price drop
When the price of a Wishlist item drops by more than a set % The minimum price drop % for this event can be set within the Klaviyo integration settings in the Wishlist King app in your Shopify admin

Klaviyo Flow Setup

Setting up Klaviyo flows requires some basic knowledge of Klavyio Flows as well as template tags and variables, but it is not overly complicated!

Firstly, setup a new Flow

Click Flows → Create flow

image

Select Build your own

image

Name your flow (eg. "Wishlist - Low In Stock")

image

Under Select Trigger choose Your Metrics and then API:

image

Select the Wishlist metric you would like to use to trigger your flow (eg. Wishlist product low in stock)

image

Click Save. Now it's time to create the email.

Add an email step

Under Actions, click and drag Email beneath the flow trigger

image

Select the Email you’ve just added to the Flow

Enter the email name, subject line and preview text. You can also edit the sender name and sender email address at this step.

image

Configuring Flow Logic

Reminder Emails

Wishlist Welcome

When a user creates a Wishlist for the first time it is a nice touch to send them a Welcome email outlining how your brand uses the Wishlist function and the associated custom notifications you’ll send them, as well as reminding them of the items they have added to their Wishlist.

Depending on your customer behaviour and other flows you have within Klaviyo, it may make sense to send this anywhere from shortly after their first Added product to Wishlist event, to few hours or one day post their first Added product to Wishlist event.

Flow setup:

  1. Use the “Added product to Wishlist” event as the Trigger for this flow
  2. Add a time delay if you wish to send this after a period of time
  3. Customise your email content. This is a great place to explain the benefits of your Wishlist to the customer, outlining the types of notifications they can receive based on the other Wishlist flows you’ll setup as well as additional benefits the Wishlist offers them when shopping on site. The Added product to Wishlist event also contains the list of the 10 most recently added items from the customers wishlist, which allows you to display multiple products within the email if you wish to.
  4. For the Wishlist Welcome email, we add a step that creates a Profile property of “Wishlist Welcome” = “True”. This allows us to use this Profile property as a filter on our other reminder flow, ensuring a customer doesn’t receive both the reminder email and the welcome email at once, as both of these will use the Added product to Wishlist event as the trigger
  5. As the Welcome email should only be sent to the customer once, we also add an a additional filter of “Has not received this email” and we skip anyone who has received this message “at any time”
image

Flow logic for the Wishlist Welcome email

image

Additional Filters for the Wishlist Welcome email, ensuring it only gets sent once

Wishlist Reminder

Nudging customers to revisit their Wishlist and your site is a great way to drive already engaged traffic back to your site. These visitors have already shown a high level of interest and intent, and a timely reminder to revisit their Wishlist is often all thats needed to get them over the line on a purchase.

Depending on your customers buying and Wishlisting behaviour, you may want to use different time delays. Below, we are waiting 1 day after an Added product to wishlist event occurs, and then using a conditional split to check whether there have been any Added product to wishlist events since the profile entered the flow.

If there have been no products added to the Wishlist since entering the flow they will continue.

If the profile does have Added product to wishlist events, each of these events will enter them into this flow again. Only once the profile has no additional Added product to wishlist events since entering the flow, will they proceed to the next step. This is to ensure we are waiting for the user to cease adding products to their Wishlist before we send them a Wishlist reminder, and it also ensures that the Added product to wishlist event also carries with it a list of the most recently added products.

Once a profile has ceased adding to their Wishlist for 24 hours, we then have a 6 day wait to see if they have placed an order. This time delay and conditional split based on whether or not they’ve Placed an order is optional, but for this Flow we don’t want to send a wishlist reminder if they’ve purchased recently.

To make sure this flow isn’t sent at the same time as the Welcome email (both are triggered by the Added product to Wishlist event) we set a trigger profile filter of

The final step is to send the Wishlist reminder email.

image

Inventory and Price Related Emails

Sending your customers notifications based on adjustments to the the availability and price of their Wishlisted items is both a great customer experience and a powerful driver of sales. For these event types, we typically send single product emails only and so do not need to set the Styles for the Table content you will see in the Configuring Email Content instructions below.

Wishlist Low In Stock

Letting a customer know that an item on their Wishlist is low in stock is both a great customer service touch and a strong sales driver.

The email associated with this event should send 5 minutes after the trigger event occurs. This delay ensures Klaviyo has a current record of the product availability before the notification is sent.

This flow will send for whenever an item in a users wishlist meets the low in stock thresholds you set in our app settings.

image

Wishlist Back In Stock

The email associated with this event should send briefly after the trigger event occurs. This flow will send for whenever an item in a users wishlist meets the Back In Stock thresholds you set in our app settings.

image

Wishlist Price Drop

Given pricing updates to larger product catalogs can take time to execute in Shopify, and you may want to send other brand comms around a price adjustment, we typically suggest a longer delay for Price Drop emails to ensure the site is fully updated when you send the notification.

image

To configure the email content, select either an existing template or create a new one

Configuring Email Content

To add dynamic product information such as descriptions, prices and product images in your Wishlist notification emails or SMS templates, you can use the catalog lookup tag references from the table below in your email templates. Please see these Klaviyo Docs more information on catalog lookup tag references.

Catalog Lookup Tag References (From Klaviyo)

Every event has an `ItemId` attribute that can be used for a catalog lookup. The below table shows data can be accessed inside a catalog lookup tag.

{% catalog event.ItemId integration='shopify' unpublished='cancel' %}{{ catalog_item.title }}{% endcatalog %}
Catalog lookup example
Template tag
Name
Description
{{ catalog_item.description }}
Description
The description of the item.
{{ catalog_item.url }}
URL
The url for accessing the item in your store.
{{ catalog_item.title }}
Title
The title of the item.
{% currency_format catalog_item.metadata|lookup:"price" %}
Price
The price of an item. This tag formats the item price with the correct currency prefix.
{{ catalog_item.featured_image.full.src }}
Full image
The url for the full image of the item. Use this inside of an image block, or an <img> tag.
{{ catalog_item.featured_image.thumbnail.src }}
Thumbnail
The url for the full image of the item. Use this in an <img> tag in custom HTML, or use it as a dynamic image placeholder URL surrounded by the opening and closing {% catalog %} tags
{{ catalog_item.id }}
Id
The Product ID of the item.
{{ catalog_id }}
Catalog ID
The ID of the catalog so you can specify which catalog to pull from if you have multiple.

Inserting Dynamic Content Into Your Notifications

There are various ways to setup your email template to insert dynamic content from the Wishlist trigger event and associated product catalog lookups. The simplest way to insert the dynamic product information from the Wishlist event is by using a Table content block in your email templates.

To add a Table content block and integrate the catalog lookup tags for displaying your products and content, follow these steps:

Under Blocks select and drag a Table onto your template where you would like the dynamic products to display.

For emails where you would like to display multiple images, such as Welcome and Reminder emails, you will first need to set Styles for the Table. Select your table and then select Styles from the top menu on the left hand side of your editor.

Choose Dynamic from the Styles → Data settings, and then under Row collection insert the following code, with the number at the end representing the maximum number of products you would like to show on the email.

For emails where you only want to include a single product, such as Low In Stock and Back In Stock alerts, you do not need to set the Table Styles and can continue to the next step.

event.LatestWishlistItems|slice:6
Row collection
item
Row alias
image
image

Determine which side of your Table content block will contain the product information and which side will feature the product image (We recommend image left and text right):

image
image

Select the left-hand side of the table and click Image, and then click Select Image:

Select Dynamic Image and enter this code into the field for the image URL:

{% catalog item.ItemId integration='shopify' %}{{ catalog_item.featured_image.thumbnail.src }}{% endcatalog %}
Catalog lookup for the product image
image

Next, press Save

Now, enter this code into the Link address field

{% catalog item.ItemId integration='shopify' %}{{ catalog_item.url }}{% endcatalog %}
image

Now, to insert the product details we use the text column the box on the right-hand side of the Cell selector and then select Text under Column content.

Here you can utilise the relevant catalog lookup tags from the table above. In this example we are going to include the Product title, variant title and current price using the following code:

NOTE: This code must be pasted into the Source code within the text editor:

image

Once you have the code editor open, paste the below code

<p><a href="{% catalog item.ItemId integration='shopify' %}{{ catalog_item.url }}{% endcatalog %}"> {% catalog item.ItemId integration='shopify' %}{{ catalog_item.title }}{% endcatalog %} </a></p>
<p>{% catalog item.ItemId integration='shopify' %} {% if catalog_item.variant %} {% currency_format catalog_item.variant.price %} {% if catalog_item.variant.metadata|lookup:"compare_at_price" %} <s>{% currency_format catalog_item.variant.metadata|lookup:"compare_at_price" %}</s> {% elif catalog_item.metadata|lookup:"compare_at_price" %} <s>{% currency_format catalog_item.metadata|lookup:"compare_at_price" %}</s> {% endif %} {% else %} {% currency_format catalog_item.metadata|lookup:"price" %} {% if catalog_item.metadata|lookup:"compare_at_price" %} <s>{% currency_format catalog_item.metadata|lookup:"compare_at_price" %}</s> {% endif %} {% endif %} {% endcatalog %}</p>
<p><a href="{% catalog item.ItemId integration='shopify' %}{{ catalog_item.url }}{% endcatalog %}">Shop Now</a></p>
Code to insert Product details into the text area of your table
image

You can now preview and send a test email to ensure that everything is setup and working as expected!