
Klaviyo's Frequently Asked Questions page is a central hub where its customers can always go to with their most common questions. These are the 765 most popular questions Klaviyo receives.
Overview
To remain compliant with US SMS regulations, it's important that you obtain proper consent from your subscribers before you start sending them text messages. You can accomplish this using signup forms. In Klaviyo, we store consent on every profile that signs up through a form.
To start, you'll need to build a new form aimed at collecting phone numbers from your subscribers. This will help you expand your reach and grow your SMS list. Then, when someone signs up, you can rest assured that a consent timestamp is marked on their profile, ensuring that you remain compliant with US SMS regulations.
Use a Signup Form to Collect Phone Numbers
Using the Klaviyo Signup Form Builder, you can create a signup form that asks visitors to input their phone number, or you can add a phone number input field to your existing signup forms. If you're starting from scratch, peruse the Form Library to use one of our pre-built forms as a template.
Once within the builder, drag a phone number block onto your form.
Upload a List of SMS Contacts
You will be able to configure the following:
LabelThe text that a visitor sees above the input.
Placeholder TextThe text that auto-populates in the input box. Typically, this should give visitors an idea of the type of information you're collecting.
Profile PropertyBy default, this will be mapped to Klaviyo's default phone number profile property, but you can change this to any other profile property if you would like. Please note, however, that if you would like to use this property as a phone number in text messages, you must keep the default mapping. When this input is mapped to the phone number profile property, this is where you can update SMS consent, meaning a timestamp verifying consent will be attached to the contact's profile when they submit their number on the form. It is highly recommended that you keep this box checked to ensure that you remain compliant with US SMS laws.
Default CountryThis will apply a default international calling code to the beginning of the phone number. Visitors may also change this code according to where they are located if needed. Please note that SMS messaging is currently only available for US-based contacts.
RequiredIndicate if you would like to require someone to input their phone number in order to submit the form.
Additionally, you will be able to style the phone number input in accordance with your brand's design. When you've styled and configured the form the way you would like, you can publish it by clickingPublishin the upper right.
If you have theUpdate SMS consentcheckbox enabled, you will see a callout confirming that your form abides by TCPA guidelines. This is to ensure that site visitors are aware that they are signing up to receive SMS message when submitting your form. Here, you can also click Consent disclosureandcopy and paste a blurb with legal language into a text block on your form to ensure that you comply with TCPA. Be sure to replace the placeholder Privacy Policy and Terms of Service links with the corresponding links for your brand.
Learn more about TCPA best practices.
You can configure the list a form is connected to by editing the submit button. Please note that if the list the form submits to is double opt-in (which all Klaviyo lists are by default), the subscriber will have to confirm their subscription via text andemailin order to be added to the list.
Double opt-in prevents visitors from inputting invalid phone numbers or submitting a number on behalf of someone else without their consent. When someone confirms their subscription by texting back "YES," their consent timestamp will be updated.
Collect Phone Numbers from Existing Subscribers
Using the steps outlined above, clone or create a new signup form with a phone number input field. Next, you can target this form to only show to people who are already on your email listin theBehaviorstab. Under the targeting options, selectTarget visitors in a list or segment and then checkShow to visitors in certain lists and segments. Here, specify that someone is on your master list already.
Because these contacts have already subscribed to your main list, you don't need to include an email input on the form. You may simply delete this block and, when someone subscribes, they will receive a double opt-in confirmation text if your list is set to double opt-in.
Create a Click-to-Text Form
Creating a click-to-text form allows mobile visitors to sign up directly by clicking a button, without having to manually input their phone number.
First,build the form that you would like to display to mobile visitors using the Signup Form Builder. If you need inspiration, you can filter the Form Library by mobile devices only to find our prebuilt mobile forms.
Next, drag a button onto the form. From theAction dropdown, selectSubscribe via SMS.
When the button action is configured to subscribe via SMS, you will no longer see the option to edit the Success Message. This is because visitors will be brought directly to their messages app when they tap this button.
Here, you will also be able to configure the subscription settings:
Opt-in KeywordThe word that they will text to the destination number (the SMS number that you have configured in your account ) to subscribe to your SMS Subscribers list. If you have several available numbers on your account, the destination numberwill be automatically selected in priority order of short codes, toll-free numbers, and long numbers; then sorted by newest to oldest.
Opt-in MessageThis is the copy that will be sent in the text confirmation message. By default, this will read Send this text to subscribe to <organization_name>!, but you can configure the message content. This field allows up to 160 GSM-7 characters (1 message) only. Special characters, including emojis, are not valid.
When you publish your form, you will see a callout confirming that it abides by TCPA guidelines. This is to ensure that site visitors are aware that they are signing up to receive SMS message when submitting your form. Here, you can also click Consent disclosureandcopy and paste a blurb with legal language into a text block on your form to ensure that you comply with TCPA.
When someone subscribes via click-to-text form, they will be automatically brought to their messages app with the opt-in message you configure prepopulated. They can change this text, but as long as the opt-in keyword is present, they will be added to your default SMS Subscribers list when they confirm their subscription.
How SMS Consent is Stored in Klaviyo
Standard Signup Form
When someone signs up to receive SMS messages from your brand, this consent is stored in theChannelssection of their profile page along with the following details:
MethodThe method by which they subscribed.
Form If they signed up via a Klaviyo form, the ID of the form they signed up through. Learn more about how to find a form's ID.
Form Version This identifies the iteration of the form that a particular subscriber saw. Klaviyo keeps a record of the exact text and language that was used for each version of a form you create, which you can request from support if necessary. For example, if you see "2" as the consent version, this means that the subscriber signed up to the second variation you made of the form.
Timestamp This is a timestamp recording precisely when they submitted the form or, if the form is double opt-in, when they granted consent.
Click-to-Text Form
Similar to the form consent details outlined above, click-to-text consent is stored in the Channelssection ofa contact's profile page with three key details:
MethodThe method by which they subscribed which, in this case, will read "text."
Consent textThe opt-in message that someone sent to confirm their subscription.
TimestampThis is a timestamp recording precisely when they sent the confirmation text.
Additionally, three profile events are tracked when someone subscribes via a click-to-text form:
Sent SMSWhen someone texted your destination number to subscribe.
Consented to Receive SMSWhen someone consented to receive SMS messages.
Received SMS "Thanks for Subscribing"When someone receives your SMS confirmation message, which can be edited at the account-level.
Export SMS Consent
There may be instances in which you would like to export the consent timestamp from one of your SMS customers. You can do this by first navigating to the contact's profile page.
Then, at the bottom of the profile page, clickExport Profile.
Then, you will be prompted to head to your Downloads tab. When the profile is finished downloading, you will see the option to clickDownload.
This download contains a .zip file with JSON logs of all the customer properties and events associated with that particular profile.
Additional Resources
Learn how to collect SMS consent from your existing email subscribers.
How Klaviyo Bills Customers for SMS
Add an SMS Action to a Flow
View ArticleOverview
Klaviyo can create one-time use coupon codes for use in Shopify stores so that each customer receives his/her own unique coupon code. This feature provides an alternative to creating a generic coupon code for a given promotion, which means you don't have to worry about codes being shared.
These are examples of using unique coupon codes in campaigns:
Discount codes for email subscribers: Reward your subscribers by running an exclusive, email-only promotion using coupon codes.
Pre-sale discounts for VIP customers: Send your VIPs unique codes that they can use to purchase from a brand-new collection.
Shipping delay discount: If some items are back-ordered or you're experiencing delays in order fulfillment, send impacted customers a unique code to thank them for their patience.
These are examples of using unique coupon codes in flows:
Abandoned Carts: Send a discount code to cart abandoners that haven't bought before -- a code that is only active for two to four days will create a sense of urgency and help convert casual browsers into paying customers
Winbacks: Send a discount to buyers who haven't come back recently, incentivizing them to purchase again
Welcome series: Give new subscribers a discount code as soon as they join your email list -- you can even increase the savings available through the code if they haven't bought after two weeks
Shopify enforces a limit of 20,000,000 unique discount codes for each Shopify store. If you reach this limit of 20M codes, you will need to delete unique codes from your Shopify Admin before Klaviyo can resume generating new unique codes.
Create Your Coupon Code in Klaviyo
First, navigate to the Coupons tab in your Klaviyo account and click Add Coupon in the upper right-hand corner.
If you haven't given Klaviyo the proper permissions to create Shopify coupons for your account, you may need to click a button and update your integration settings. When you click to update your integration settings, we will re-authenticate with Shopify and then you will be brought back into Klaviyo. If you click to update, and then click the back button or navigate elsewhere before this authentication process completes, this will cause your integration to be disabled.
Take Me to Shopify Coupon FAQs
For each coupon, you can set the following properties in Klaviyo:
NameThis is how the coupon will be identified in Klaviyo.
PrefixKlaviyo will generate a random code for each person, but you can also specify a prefix that will go before every code (e.g., WELCOME).
Discount TypeChoose whether the coupon is a fixed amount off, a percentage, or free shipping.
Free ShippingFor 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 OffFor 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.
Minimum Order SubtotalChoose whether the coupon is limited to orders meeting a certain subtotal (e.g., 20% off orders over $50).
Activation DateThis is the date the discount offer becomes active -- you can choose to pick a start date, or alternatively select an option where generated coupon codes will become active as they are sent out. Please note that dates are set in the UTC time zone, so you may see a different activation date in Shopify.
ExpirationChoose when you would like your coupon to expire. There are different options for coupons used in campaign emails versus flow emails. Please note that dates are set in the UTC time zone, so you may see a different expiration date in Shopify.
CampaignsYou have two choices for expiration:
Generated coupon codes will never expire
If you want your discount to have a defined end date, after which generated codes will expire, you can select a firm expiration date
FlowsYou have three choices for expiration:
Generated coupon codes will never expire
Generated coupon codes will expire after a certain number of days/hours
If you want your discount to have a defined end date, after which generated codes will expire, you can select a firm expiration date
Coupons that expire after a certain number of days/hours have variable expiration dates. Although you can create coupons with variable expiration dates for flows, you cannot create coupons with variable expiration dates for campaigns.
Use Your Coupon in a Flow Email
Unique coupon codes for live flow emails are generated automatically in batches of 100. When coupon codes are depleted below 100, Klaviyo will generate another 100 coupon codes. This ensures that there are always enough codes available for live sending flow emails. Because coupon codes for flows are replenished automatically, you won't need to manually add batches of coupon codes via the Add Codes option.
If your flow is connected to a list that you intend on adding a large number of contacts to, we suggest that you take a different approach and follow instructions for sending a coupon code in a campaign instead. You will need to add as many codes as the number of contacts that you will upload to this list. For example, if you're going to upload 10,000 people to a list, be sure to create 10,000 coupon codes in advance. This is especially important for large list uploads to ensure that your emails send out in a timely manner.
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). For example:
When emails are sent out, this variable will be dynamically replaced with a unique discount code for each recipient. When you preview the email directly in Klaviyo, you will not see a unique coupon code populate. Additionally, you will not be able to preview coupon codes with variable expiration dates because you are not able to manually Add Codes to these types of coupons.
However, if you send a preview email to yourself or a member of your team, a live code will be generated. For this reason, it's important to ensure that you have sufficient codes in your account. Otherwise, you will not see a unique code in your preview and you will need to add codes before being able to send a preview with a live coupon code.
If multiple people are included in the preview send, they will all receive the same code. As such, if multiple previews are sent within the same minute, these previews will all contain the same code.
Use Your Coupon in a Campaign
While Klaviyo generates coupon codes for flow emails automatically, you must manually generate coupons for campaign emails. Once you create the parameters for your coupon, you'll need to specify the number of coupon codes that you want to generate. This must be done before you schedule your campaign. When doing this, key things to keep in mind are:
You must generate at least as many codes as expected recipients. This means that if you generate fewer codes than the number of estimated recipients, you will not 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 is greater than the number of codes you generate at send time, the extra recipients will be skipped and will not receive the email.
If you generate a large number of codes, be sure to allow time between your campaign's desired send time and when you create the codes. Generating a large number of coupon codes may take up to several hours. Because of this, use the estimated number of recipients of the campaign as a framework and do not significantly overestimate the number of codes you need.
You can generate coupon codes for a particular coupon by clicking the dropdown menu and selecting Add Codes.
Once you select Add Codes, you will be prompted to input the number of codes you would like to generate. Again, be sure to generate at least as many codes as you have expected recipients for your campaign, otherwise, you will not be able to send or schedule it.
Coupons with variable expiration dates cannot be used in campaigns. As such, you will not see the option to add codes if you have selected a variable expiration date for your coupon.
The "Estimated time to create" area will give you an idea of how long it will take to generate the number of codes you've specified.
Once you click Submit, Klaviyo will begin generating coupon codes for your campaign. A progress bar will appear beneath the coupon name to display progress. You can also track the number of codes that have been created in the Available/Total column.
After the codes have been generated, you can include the coupon tag in your campaign template.
{% coupon_code 'NAME_OF_YOUR_COUPON' %}
Be sure to replace NAME_OF_YOUR_COUPON with the coupon name (must be an exact match of the name -- capitalization matters). For example:
When emails are sent out, this variable will be dynamically replaced with a unique discount code for each recipient. When you preview the email directly in Klaviyo, you will not see a unique coupon code populate.
However, if you send a preview email to yourself or a member of your team, a live code will be generated. For this reason, it's important to ensure that you have sufficient codes in your account. Otherwise, you will not see a unique code and you will need to add codes before being able to send 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, these previews will all contain the same code.
Once you're ready to send or schedule your campaign, navigate to the final page of the campaign scheduling wizard by clicking Review & Send Campaign. Here, you will see a see a Coupon Codes area. If you have fewer coupon codes available than expected recipients, you will not 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 outlined in the FAQs.
Best Practices
If you use unique coupons in campaigns and flow emails, there are a few best practices you should stick to:
Don't use the same coupon for flows and campaigns. Because you need to specify the number of codes to be generated for campaigns, but not flows, it's a best practice to use different coupons for flows vs. campaigns.
Create a separate coupon for each campaign. This way, it will be easier to specify the number of codes you will need for each campaign and you don't risk running out of codes, which would result in some recipients being skipped.
Create a separate coupon when changing the categories or products applicable for the coupon. We will by default try to assign all pre-existing codes, so customers may receive and be able to use codes with outdated rules.
View ArticleOverview
The Setup Wizard has multiple tabs that walk you through setting up your Klaviyo account. This guide gives a brief overview of each tab.
Setup Tab (*required)
You are required to complete the Setup tab in order to progress through theWizard. Please note that you will not be able to return to edit this particular tab once you complete the Setup Wizard. Any updates you would like to make after initially running through the Setup Wizard must be made in your Account Settings.
Add Business Details
navigating to the web-tracking page of theSetup Wizard.
Here, enter your website, select your business type, and select the platform you would like to integrate with. If you do not see your integration on the list of available integrations, clickShow More. If you still don't see your integration, selectOther.
Entering a website and selecting a business type are required to move on to the next step.
Connect Your Platform
When you clickContinue,you'll be prompted to connect your integration to Klaviyo.
If you're not logged into your account, you will be prompted to authenticate. Once the integration has completed syncing, you'll see a success message.
Add Email Details
When you clickContinue, you'll be prompted to enteryour company's physical address and your From Label and Address. This information is required in order to progress through the Wizard. Your company's address will autofill based on the information we sync through your integration, but if you chose to skip the previous step, you will need to enter your address manually.
Your From Label and Address are the default name and email address from which you will send campaigns and flows. Your From Label should give recipients a clear idea of who an email is coming from. For deliverability purposes, we do not recommend using a From Address that is a @gmail.com, @yahoo.com, @hotmail.com, @aol.com, or @outlook.com address. When sending emails in bulk, it is important to have a From Address that is in-line with your site's domain. For example, if your site is pool-buddies.com, your email domain should also be pool-buddies.com to ensure that your emails are not filtered into the spam folder.
To have a From Address for your business, you first need a website and domain. Many hosting providers give you the option to obtain a business email address (sometimes for free) when you buy a domain. Some examples include Hostgator and Bluehost. If you already have a domain, there are also providers that allow you to just purchase a business email address, including GSuite and Zoho.
Design Tab
Add Logo
The first step in theDesign tab will prompt you to select or upload your logo. This ensures that the default email templates Klaviyo provides include your logo at the top. We will automatically display logo options based on the images on your website, but if you don't see your logo pre-populated, you can simply upload it.
If you change your logo or decide at any time that you would like to use a different image, you can return to this screen by clickingSetup Wizard from the Account dropdown,and then update your logo. While you can resize your logo once you're editing a particular template, we recommend uploading a logo that is the correct size so that you don't need to do this for every template you decide to use.
Add Colors
Next, you will be prompted to select the colors and font that will be used in your default email templates. This ensures that your emails match the branding on your website.
These can also be updated later if you rebrand your company or decide that you would like to use a different set of colors or font. To do so, click theAccountdropdown and selectSetup Wizard.
Add Header and Social Links
Your header and social links will be used in your default email templates. Your header links will display in your navigation bar, and your social links will display in the footer of your templates. You should select no more than four header links to ensure that your template doesn't look cluttered. Select as many social links as are relevant to your business to allow email recipients to connect with you on social media.
Setup Complete
Once you configure theDesign tab in the Setup Wizard, you're all set! It may take a moment while Klaviyo applies all these presets to your new account. Once this process is finished, clickLet's Goand you'll be taken to your dashboard.
Web and Viewed Product Tracking
Some integrations require adding additional code snippets to your site so that you can track people's activity on your website.
Web Tracking corresponds to the Active on Site metric, which allows you to track when people are browsing your site. This snippet also allows you to publish signup forms to your site automatically.
Viewed Product Tracking corresponds to the Viewed Product metric, which allows you to track specific items people are looking at on your site.
These code snippets include an ID unique to your Klaviyo account. You can access these code snippets with your KlaviyoAPI Key / Site ID prepopulated by
Getting Back to the Setup Wizard
If you ever need to return to the Setup Wizard, you can access it from theAccount dropdown menu.
View ArticleOverview
This article walks through enabling the Shopify integration, syncing your Shopify newsletter subscribers to a list in Klaviyo, andaddingweb tracking to your Shopify store. After integrating you can optionally sync any of your existing signup forms to your Klaviyo account.
Account Settings
Enable the Shopify Integration
There are three options to get started with Klaviyos Shopify integration:
Add the Klaviyo App from the Shopify App Store
Add the Shopify integration from the Klaviyo getting started wizard (if youre a brand new customer)
Add the Shopify integration from the Integrations tab in your Klaviyo account
All three options redirect you to the Klaviyo app landing page inside your Shopify store. The following instructions cover the third option, adding the Shopify integration from the Integrations tab in your Klaviyo account.
In your Klaviyo account click the Integrations tab and click on the Shopifyintegration. This takes you to your Shopify Integration settings page.
Paste in the URL of your Shopify store and clickConnect to Shopify. There are three additional settings:
Subscribe customers who Accept Marketing to a Klaviyo listChecking this box automatically adds allcustomers who accept marketing at your checkout, or sign up to your default Shopify signup form, to the list you select from the dropdown. Read more about syncing your newsletter subscribers below.
Automatically add Klaviyo onsite javascript (recommended) Checking this box automatically adds Klaviyo's Active on Site tracking snippet. If you do not check this box you can manually install Klaviyo's onsite javascript by following this guide.
Update Shopify profiles with Klaviyo dataThis option will sync certain fields like first name, last name, Accepts Marketing, and more from Klaviyo to Shopify. Only select this option if you would like the Klaviyo values to overwrite the corresponding Shopify values. Read more about syncing Klaviyo data to Shopify.
After configuring your settings, clickConnect to Shopify. This takes you to your Shopify account.
ClickInstall App. This begins syncing your Shopify data with Klaviyo and takes you back to your Klaviyo account.
A green success callout will indicate that your data is syncing with Klaviyo.
If you're syncing a large amount of data a green progress bar will indicate the status of your sync. See the section below on Monitoring theHistorical Data Sync for more detailed information.
Your Shopify integration is now enabled.
Sync Your Shopify Newsletter Subscribers to a Klaviyo List
It's important to add your Shopify subscribers automatically to your Klaviyo newsletter list. Shopify customers can accept marketing at checkout or they can signup through default Shopify signup forms.
In addition to signup options that Shopify offers, your customers can subscribe through Klaviyo signup forms or through signup forms created by popup or list-growth apps. See the section below on syncing your signup forms to Klaviyo, or learn more about integrating with popup or list-growth apps.
New newsletter subscribers are synced in real-time through your Shopify integration.
If you are using a Shopify 3rd party theme, your theme's default signup forms must also apply theNewsletter tag to new subscribers in order for Klaviyo to automatically sync these subscribers to a Klaviyo list. Contact your theme developer, or if you're comfortable editing your theme's source code, add the following hidden input tag to your form's input group: <input type="hidden" name="contact[tags]" value="newsletter">
We're going to walk through configuring your Shopify integration settings so that Shopify subscribers will automatically be added to a Klaviyo list.
Navigate to your Shopify integration page by checking the box toSubscribe customers who Accept Marketing to a Klaviyo list, and selecting a list from the dropdown. After you select the list you want to sync, clickUpdate Shopify settings.
When you integrate your Klaviyo account with Shopify, one of the properties synced from your store is whether each customer accepts marketing or not. The property can be either true or false. Below is an example of how the property appears on a customer's profile in your Klaviyo account.
To learn more about how the "Accepts Marketing" property is managed in Shopify, view their documentation. This property is always synced to your Klaviyo whether you subscribe customers who accept marketing to a list or not.
Shopify syncs an Accepts Marketing property into Klaviyo. It's important to note that Shopify's Accepts Marketing property does not reflect whether someone is or isn't subscribed to a Klaviyo Newsletter list. As such, there are a few situations which can cause someone to haveAccepts Marketing set to false, but they're still subscribed to your newsletter:
If a customer checks out and decides not to accept marketing at that time, but later subscribes through a signup form, they'll still be added to your newsletter list.
If a customerchecks out and does accept marketing, they'll be added to your newsletter list. If they check out again, they'll probably decide to not subscribe again since they're already subscribed. Depending on your checkout configuration, Shopify might see this as not accepting marketing (Accepts Marketing = false.) You probably don't want to treat this customer as an unsubscribe. Rather, you'll want to keep this customer on your newsletter list.
Note that Klaviyo will not automatically sync historical subscribers to a list when a customer checks "Subscribe customers who Accept Marketing to a Klaviyo list." If you need to add historical subscribers to your newsletter list, you'll need to do so manually. Be sure to check out our article on importing subscribers to an existing list.
Add Web Trackingto Your Shopify Store
Klaviyo provides two web tracking snippets to help you collect valuable information about your customers:
Active on siteThis snippet tracks when your customers visit your site. This snippet is installed with Klaviyo's onsite JavaScript. We recommend installing this snippet by checking the box on your Shopify Integration settings page in your Klaviyo account. If you would like to manually install this snippet, follow the instructions in our guide to manually installing klaviyo.js.
Viewed ProductThis snippet tracks when your customers view specific products.
Add web tracking to your Shopify store by pasting Klaviyo's code snippets into your Shopify theme.
From your Klaviyo account click theAccount dropdown and selectSetup Web Tracking.This takes you to a page with Klaviyo's web tracking snippets.
Copy the second snippet.
From your Shopify Admin clickOnline Store > Themes. From the dropdown clickEdit Code.
Search for theproduct.liquid file. Click the file to open it in the editor.
Paste the second code snippet at the bottom of the file, after all the existing code.ClickSave.
For this snippet to work correctly it should be added to all of your product pages. If you are using custom product pages, you may need to add this snippet to a different theme file, or to your individual custom product pages.
Switch back to your Klaviyo account. Enter the URL for your Shopify store into the box. ClickNext.
Click the link that is generated where you previously input your URL. This triggers an Active on Siteevent in your Klaviyo account.
A greenData Received button confirms that your web tracking is set up correctly.
Sync Your Shopify Signup Forms or Add Klaviyo Forms
Enabling the Shopify integration provides three options for syncing your signup forms to Klaviyo:
Sync your default Shopify signup forms to Klaviyo list.
Add a Klaviyo form to your Shopify store.
Integrate a 3rd party signup form provider to your Klaviyo account.
If you checked the box to Automatically add Klaviyo onsite javascript (recommended) on your Shopify Integration settings page then you have already installed klaviyo.js and your Klaviyo form are enabled. You can jump right the signup form editor and start building out a form.
If you did not check the box to Automatically add Klaviyo onsite javascript (recommended),then you will need to manually install klaviyo.js by following our guide to installing Klaviyo signup forms.
Monitoring the Historical Data Sync
Depending on how many orders, customers and products your store has, it can take anywhere from a few minutes to several hours to sync all of your data. Once the initial sync is complete, new data will sync to Klaviyo in real-time. To check the progress of the initial sync, click on the Metrics tab in the sidebar.
Find the Placed Ordermetric and change the date range of the graph to see which dates have been fully synced. When the sync is complete, the Shopify integration in the Integrations tab will be marked complete. If you want to verify for yourself that all data from Shopify is synced, you can cross check the total orders for a few days or a week. Before you start validating, make sure your account's timezone matches the settings in Shopify.
To check or update your account's timezone, go to thepage and check theContact Information >Organization section.
Troubleshooting
Here are some quick troubleshooting tips for common issues.
My Shopify Integration is Not Syncing
If you think your Shopify integration is not syncing data properly, you can update the sync by completing the following steps.
From your Klaviyo account, click into your Integrations tab.
Find your Shopify integration and click View Settings.
Click the blueUpdate Shopify Settings button.If you're not logged into your Shopify store you will be redirected to Shopify and prompted to log in.
When you click to update your integration settings, we will re-authenticate with Shopify and then you will be brought back into Klaviyo. If you click to update, and then click the back button or navigate elsewhere before this authentication process completes, this will cause your integration to get disabled.
A green Settings Updated callout at the top of the page confirms your integration has been updated and is resyncing. This can take up to 1 minute to appear.
View ArticleOverview
This article will walk you through integrating Volusion with Klaviyo. After completing the steps outlined in this guide, you'll be able to personalize and target emails based on synced order data and customer properties.
From Volusion, we track Ordered ProductandPlaced Ordermetrics; with the addition of some extra code we can trackAbandoned Cartinformation as well.
Volusion requires an update to your Volusionstore's administrator account password every 90 days. When making this update your Volusion account, you must also make this update to your Volusion integration in your Klaviyo account. You can also create a permanent API Key by following these steps.
Addthe Volusion Integration
To enable Klaviyo'sVolusion integration, navigate to your account's Integrations tab.
Clicking over to All Integrations,find Volusion on this list. Integrations will be listed in alphabetical order, so you should find Volusion near the bottom of the page.
Click Add Integrationand you will be brought to a page where you can enter your Store URL, Login Email, and Volusion API Key.
Email Settings>Email to Website Tracking
After filling out the information above, you will see a checkbox for Subscribe customers who opt in to a Klaviyo list.If you check this box, you can pick one of your lists in Klaviyo to which future customers will be added when they place an order.
Finally, clickConnect to Volusionand you should see your integration show a sync status.
DisableEmail to Web Tracking
The "email to web tracking"feature in Klaviyo uses click tracking to identifya user who arrives at your website through a Klaviyo email before we would originally be able to identify them (such as when they make a purchase or subscribe to your newsletter).
Volusion does not support the URL format that our click tracking uses and produces an error when a user tries to visit your store through one of these links, so this feature will have to be disabled in Klaviyo to make sure links in your email follow through to your Volusion store correctly.
You can disable this tracking in your account settings under Email Settings>Email to Website Tracking.
The only functionality lost with disabling this feature is the ability to track a new profile on your website through an email they clicked. As long as you have the Klaviyo web tracking analytics on your website,we will still be able to track users as soon as we get their email address through either a purchase in your store or when they signup for a newsletter.
Add Web Tracking to Your Volusion Store
Klaviyo provides two web tracking snippets to help you collect valuable information about your customers:
Active on siteThis snippet tracks when your customers visit your site. This snippet is installed with Klaviyo's onsite JavaScript. You can manually install this snippet by following the instructions in our guide to manually installing klaviyo.js. This snippet must be added to the site to enable on-site tracking like Viewed Product and Started Checkout
Viewed ProductThis snippet tracks when your customers view specific products. You can track this event by adding the Viewed Product code snippet to your store. (See code snippet directly below.)
To enable Viewed Product tracking, you will need to add the snippet of code below to your store's template page in Volusion's File Editor, which you can find by clicking Design > File Editor.
// Check to see if the customer is on the product page before executing code.
if ($("meta[property=og:type]").attr("content") == "product") {
var _learnq = _learnq || [];
// Function to track when a product is viewed
var trackViewedProduct = function(item) {
_learnq.push(["track", "Viewed Product", item]);
_learnq.push(["trackViewedItem", {
"Title": item.ProductName,
"ItemId": item.ProductID,
"ImageUrl": item.ImageURL,
"Url": item.URL,
"Metadata": {
"Price": item.Price,
"Description": item.Description,
"CompareAtPrice": item.CompareAtPrice,
"YouSave": item.YouSave
}
}]);
};
$(window).load(function() {
var item={}
$.get(`/ProductDetails.asp?ProductCode=${global_Current_ProductCode}`, function(data) {
var product_saleprice = $("table.colors_pricebox div.product_saleprice").length ?
Number(`${$("table.colors_pricebox div.product_saleprice").text().trim().split("$")[1].split(".")[0]}.${$("table.colors_pricebox div.product_saleprice").text().trim().split("$")[1].split(".")[1].substring(0,2)}`) : null;
var product_listprice = $("table.colors_pricebox div.product_listprice").length ?
Number(`${$("table.colors_pricebox div.product_listprice").text().trim().split("$")[1].split(".")[0]}.${$("table.colors_pricebox div.product_listprice").text().trim().split("$")[1].split(".")[1].substring(0,2)}`) : null;
var product_productprice = $("table.colors_pricebox div.product_productprice").length ?
Number(`${$("table.colors_pricebox div.product_productprice").text().trim().split("$")[1].split(".")[0]}.${$("table.colors_pricebox div.product_productprice").text().trim().split("$")[1].split(".")[1].substring(0,2)}`) : null;
var product_yousave = $("table.colors_pricebox div.product_yousave").length ?
Number(`${$("table.colors_pricebox div.product_yousave").text().trim().split("$")[1].split(".")[0]}.${$("table.colors_pricebox div.product_yousave").text().trim().split("$")[1].split(".")[1].substring(0,2)}`) : 0;
item = {
"ProductName": $("meta[property=og:title]").attr("content"),
"ProductID": global_Current_ProductCode,
"Description": $("meta[property=og:description]").attr("content"),
"ImageURL": $("meta[property=og:image]").attr("content"),
"URL": $("meta[property=og:url]").attr("content"),
"Price": product_saleprice ? product_saleprice : product_productprice,
"CompareAtPrice": product_listprice ? product_listprice : product_productprice,
"YouSave": product_yousave
};
trackViewedProduct(item);
});
});
}
Abandoned Cart Reminders in Volusion
Volusion does not provide an out-of-the-box way to track abandoned carts through our integration, but we have created a custom script you can add to your Volusion store which will allow you to use this feature in Klaviyo. This will require some knowledge of adding code to your shop's template so if you have a developer, you can send him/herthis doc to walk through adding the code.
The Abandoned Cart feature will only work for Volusion stores using the one page checkout feature, and stores that do not require a user to have an account before making a purchase.
You will need to add the snippet of code below to your store's template page in Volusion's File Editor, which you can find by clicking Design > File Editor.
<script>
// Check to see if the customer is on the checkout page before executing code.
if (window.location.pathname == "/one-page-checkout.asp") {
var _learnq = _learnq || [];
// Function to track when a checkout is started.
var trackStartedCheckout = function() {
$.post('/AjaxCart.asp', function(data) {
if (!data || !data.Products || !data.Products.length) {
return;
}
var items = [],
names = [],
skus = [];
// Grab each product and its SKU/Name/Quantity/Price/Total price/Image url
$.each(data.Products, function(i, record) {
var item_price = +(record.ProductPrice.replace(/[\$,]+/g, '')) / record.Quantity;
items.push({
SKU: record.ProductCode,
Name: record.ProductName,
Quantity: +record.Quantity,
ItemPrice: item_price,
RowTotal: item_price * record.Quantity,
ImageURL: record.ImageSource
});
names.push(record.ProductName);
skus.push(record.ProductCode);
});
// Push Started Checkout metric to Klaviyo with the customers data.
_learnq.push(['track', 'Started Checkout', {
$value: +(data.Totals[0].CartTotal.replace(/[\$,]+/g, "")),
Items: items,
ProductNames: names,
SKUs: skus
}]);
}, 'json');
};
$(function() {
// Grab the email form to get your customers email and tie the event to that email in Klaviyo.
$('[name="OnePageCheckoutForm"] [name="Email"]').change(function(e) {
var email = $(this).val();
// Do some light validation. Klaviyo will do more validation when the data is received.
if (email && /@/.test(email)) {
_learnq.push(['identify', {
$email: email
}]);
trackStartedCheckout();
}
});
});
}
</script>
This code will only be able to track checkout eventsgoing forward; you will not be able to back-populate abandoned cart flowsinside Klaviyo.
After saving this code to your store, Klaviyo will automatically begin tracking a Started Checkout metric from which you can trigger an Abandoned Cart flow.
Monitorthe Klaviyo Sync
Once integrated with Volusion, Klaviyo will need time to sync your data before it is ready to be used. You can check the status of this sync by navigating back to theIntegrationspage and looking for your Volusion integration on the list ofEnabled Integrations.
If there is a gray outline, this means the integration is still syncing. The bigger your store, the longer a sync can take. When your integration is shown with a green border, you're ready to go.
Klaviyo imports all of your historic Volusion data when you first enable the integration. To verify this, you can compare the number of orders on a particular day with what's in the Volusion interface and confirm they match.
For example, when exploring thePlaced Ordermetric in your Klaviyo account's Metricstab, you can mouse over yesterday's data point or look at the table of data below the chart to see how many orders were reported yesterday. Compare that number to what's stored in Volusion from yesterday and you should see they match exactly. If they don't, the issue is most likely that your Klaviyo account's timezone doesn't match your Volusion timezone. To check your timezone setting in Klaviyo, go your Account Settings and navigate toContact Information>Organization. At the button, you will see an area to set timezone.
Review & Understand your Data
Navigate to our account's Metricstab and you will find all of the metrics in your account. The metrics with a Volusion icon are synced from your Volusion integration.Metrics and profile properties from Volusion are synced within the hour of someone placing an order.
Placed Order
This event is tracked when a customer completes the checkout process and creates an order in your Volusion store. The Placed Order event includes all relevant information about the items someone purchased including product names, product codes, images, and price information so you can use that information in purchase follow up emails.
Ordered Product
This event is also tracked when a customer places an order, but one event is tracked for each item in the order. For example, if someone buys a t-shirt and a pair of pants, one Placed Order event is tracked and two Ordered Product events -- one event for the t-shirt and one event for the pants.
The Ordered Product event includes detailed information about each product purchased. This is useful when creating behavioral segments based on product variant options and other detailed information that's not available in the Placed Order event. You can filter and target Ordered Product events based on the following criteria:
Name: The name or title of the product in Volusion, e.g., t-shirt
Product Code: The product code for your product inside of Volusion
Quantity: The quantity of the item purchased in an order
Customer Data Synced from Volusion
In addition to the above metrics Klaviyo syncs from Volusion, there are also customer properties that are added to each Klaviyo profile. You can use these properties in segments and flows. Here are the properties that are automatically synched from Volusion:
Email, First Name, Last Name, City, State/Region, Zip Code, Country, Phone Number:these built-in Klaviyo fields are automatically synced
Source: Klaviyo will track customers from Volusion with a Source property on their profile set to "Volusion"
Volusion Placed Order Dataisn'tReporting in Klaviyo
This may be an issue with your Volusion API settings that allow data to be exported. To fix this, navigate to the Inventory tab of your Volusion admin panel. Select Import/Exportfrom the dropdown menu.
Click on Volusion API to access the main API page.
In the Generic section, you will find the option to Run the export of your stores Generic/Orders. Once the export is run, the page will refresh.
Select all columns by clicking the checkbox in the column named * and clickRun.
After clickingRun to export your Generic Orders, an API URL is generated at the top of the page. For example, the URL would appear as: https://storename.com/net/[email protected]&EncryptedPassword=ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789&EDI_Name=GenericOrder.
The value that appears between "EncryptedPassword=" and "&EDI_Name=GenericOrders" (highlighted in the screenshot above) serves as your API Key. Use this to re-establish your integration settings from the Integrations tab of your Klaviyo dashboard. Upon completion, test by clicking onto the Metrics tab of your Klaviyo account. View recent activity forthe Volusion Placed Ordermetric to see if any new data has synced in Klaviyo.
If you see new data for the Placed Order metric, contact our Success Team to run a gap fill for missing orders in Klaviyo or for any further assistance.
For additional information on exporting data using the Volusion API, please refer to Volusion support.
People Seean "Invalid Input" Error When Clicking my Email Links
The "email to web tracking" feature in Klaviyo uses click tracking to tie activity to a user who arrives at your website through a Klaviyo email before we would originally be able to identify him/her (such as when they make a purchase or subscribe to your newsletter).
Volusion does not support the URL format that our click tracking uses and produces an error when a user tries to visit your store through one of these links, so this feature will have to be disabled in Klaviyo to make sure links in your email follow through to your Volusion store correctly.
If you don't disable this tracking, your customers will likely see the following error when clicking any links within emails that point to your website:
You can disable this tracking in your account settings under .
The only functionality lost with disabling this feature is the ability to track a new profile on your website through an email they clicked. As long as you have the Klaviyo web tracking analytics on your website, however, we will still be able to track users as soon as we get their email address through either a purchase in your store or after they sign up for a newsletter.
Creating a Permanent API Key
Normally Volusion will require you to reset your API key every 90 days when you reset the password on your account, causing you to need to re-configure your Voluision integration in Klaviyo. The following steps will allow you to create a non-expiring API key instead; it involved generating API credentials for an admin account you never log in to:
From your Volusion admin panel, go toCustomers > Administrators and create a new administrator account.
Navigate to Inventory > Import/Export and select the 'Volusion API' tab.
Under the "Generic" section, click the link for Volusion API Integration Help.
Select "Export" and select the new admin you created from the dropdown.
Expand the "URL with Query String..." box to find your permanent URL, login, and encrypted password (API Key).
Do not log in with this account, it will be used for API access only. Logging in with this account will cause the password to expire after 90 days and you will need to redo these steps to generate a new permanent API Key.
View ArticleYou can add subscribers to an existing list by either uploading new contacts or by using Quick Add.
Upload New Contacts
If you are interested in adding subscribers to an existing list, first navigate to thelist.From Lists & Segments,find a list and click on it.
Next, clickManage Listin the upper right-hand corner, followed by Import Contacts.
click here
You will see two options here: Upload file and Upload via copy/paste.
Upload File
Select Upload file. Then drag & drop your CSV file.
Learn more about formatting your CSV file.
Before your file is uploaded, you'll be asked to review your import.
The import review screen allows you to map the columns in your uploaded CSV to Klaviyo fields. The Klaviyo fields represent where your data is stored on your contact's Klaviyo Profile. Here, if you don't have GDPR consent fields already stored in your CSV, we can create them for you. To do this, clickAdd GDPR specific consent. Then, you will be prompted to specify the types of consent the contacts on your list have given. This information will then be stored on their profile as custom properties.
If you're uploading Klaviyo special fields, the datatype is already selected for you and you're unable to modify it.
If you're uploading custom properties, you can select the field you'd like to map them to, along with the datatype.
If you're uploading custom properties, select the field you'd like to map the properties to and select the data type. You can also add a new custom property by typing the new property name and selectingCreate option.
When you're finished mapping your Klaviyo fields, click Start Import.
Upload via Copy/Paste
Select Upload via copy/paste. Paste contact information in this format:
[email protected] George Washington [email protected] Abraham Lincoln etc...When you're finished pasting contacts, click Start Import.
Both of these options will allow you to add contacts just as you would if you were creating a new list. For instructions on how to do this, .
Quick Add
If you would like to quickly add a handful of individuals to your list, you can also use the Quick Add option instead.
A few things to keep in mind:
Never add contacts to a subscriber list that have not intentionally opted in -- this is against Klaviyos Terms of Service.
We will automatically keep customers from joining the same list more than once. This means if you are trying to import a file containing subscribers that are already on your list, you will notice that these duplicative records will not get added. For example, if you'd like to add a custom property to everyone a list, you can safely re-upload the list with the custom property attached without creating duplicate profiles.
We will automatically skip email address entries that do not have a valid format. A valid email address such as [email protected] is made up of a local part, an @ symbol, then a case-insensitive domain part. If any of the required parts of a valid email address are missing, we will consider the email invalid. If there are erroneous spaces in the email address, we will also consider the email invalid.
View ArticleOverview
In Klaviyo, you can create a full-page sign up form thatserves as a landing page on its own -- this is called a subscribe page.
To create a full-page subscribe form for a list, click on the list and navigate to theSubscribe & Preference Pagestab from the header navigation menu. Here, you can customize the styling of your subscribe page and add custom fields.
Style and Add Fields to a Subscribe Page
The subscribe page builder allows you to update basic page styling options, customize certain form styles, and add fields:
In theBasicstab of the Style/Design section, you can adjust the styling of the page itself, as well as the header, text, and link styles.
From theFormstabof the Style/Design section, you can adjust the styling of your form's buttons and fields.
We support a variety of field types as you look to build out your form -- you can add basic text fields, as well as checkboxes, radio buttons, and drop-down menus.
Klaviyo supports a few special field names that will add common personal information to someone's Klaviyo profile. The special fields are listed below -- make sure to use the syntax displayed here when adding these fields to your form:
$first_name:First name
$last_name:Last name
$phone_number:Phone number
$organization:Company or organization someone is affiliated with
$title:Occupation title at a company or organization
The special syntax above should be used for the "Field Property" input. For example, to add a text field to collect the subscriber's phone number.
custom properties
You can collect using these same fields if you don't use the above syntax.
Embed a Subscribe Page
After you have designed your subscribe page, you can share a link to the Klaviyo-hosted page and/or embed the page as a form on your site.
To embed this page on your website, simply copy the following snippet of code to your site and replaceSUBSCRIBE_URLwith the URL for your page.
<iframe id="klaviyo_subscribe_page" src="SUBSCRIBE_URL&embed=1" seamless="seamless" width="100%" scrolling="no" ></iframe>
<script type="text/javascript" src="//a.klaviyo.com/media/js/lib/iframeresizer.js"></script>
<script type="text/javascript">iFrameResize({}, '#klaviyo_subscribe_page');</script>
You can find the URL for your page in a box above the page itself, with a button that says, "Copy URL".
View ArticleOverview
With a custom web feed, you can connect your Instagram content to your campaign emails and dynamically display your latest Instagram photos, captions, and more.
This guide shows you how to set up a custom web feed with your Instagram account. From there, you can work with our custom web feed guide to pull your Instagram data into your campaign emails.
This procedure uses a third-party application to generate an Instagram access token. This token is needed to set up your custom web feed with Instagram. Keep your Instagram access token safe and exercise security best practices when working with your token.
Set Up an Instagram Web Feed
Navigate to this URL and click Generate Access Token After Updating Themeto generate an Instagram access token.
guide on adding a custom web feed
If you're not logged in to yourInstagram account, you will be redirected and prompted to log in.If you are logged in, you will be immediately taken to a page displaying your generated access token.
Copy this token and store it in a secure place.
Create an Instagram Custom Web Feed
Add your Instagram access token to the end of the following url:
https://api.instagram.com/v1/users/self/media/recent/?access_token=
For example, if you generatedabc123DEF456ghi789klm101NOP112qRs131tuv415WxY161zAb as your Instagram access token, then you would construct the following URL:
https://api.instagram.com/v1/users/self/media/recent/?access_token=abc123DEF456ghi789klm101NOP112qRs131tuv415WxY161zAb
Next, use this url to generate a custom web feed inside your Klaviyo account. From your Klaviyo account, navigate to yourData Feeds tab. ClickAdd Web Feed.
Name your feed, and for theFeed URL, enter the URL you constructed above.
You can leave the rest of the settings the same. ClickAdd Data Feed and your Instagram webfeed is ready to use.
Pull Instagram Content into Your Campaign Emails
With your Instagram access token generated, and your Instagram web feed set up, you can follow our . This guide gives you more details on adding your Instagram web feed to a campaign and referencing your Instagram content dynamically into your campaign emails.
View ArticleOverview
GDPR stands for the General Data Protection Regulation. Its a law enacted by the European Commission in 2016 that went into effect on May 25, 2018. Its designed to protect the privacy of all EU citizens, including when those citizens engage with businesses located outside the European Union, by imposing regulations around personal data. For more information on GDPR, check out our blog series.
The information provided here is intended to be educational and should not be construed as legal advice. Klaviyo encourages all of our customers -- and all ecommerce merchants -- to seek legal advice for counsel on how they specifically should comply with GDPR.
Is it legal for me to transfer data from my European customers to Klaviyo?
Yes. Klaviyo is certified Privacy Shield compliant, and data transferred out of the EU is legal on this basis. Privacy Shield requires that US-based companies provide the same protections for data export from the EU that are required under EU law, including GDPR.
If we can't prove explicit opt-in for legacy profiles, is there a way to confirm consent via email?
Prior to GDPR going into effect (May 25, 2018), we did recommend sending a repermissioning campaign to any of your subscribers in the EU. Now that GDPR is in effect, we no longer recommend this practice. Before contacting any of your existing customers or subscribers for whom you can not prove explicit opt-in, please consult your legal team.
How do we prove consent, including the day a subscriber opted in?
In addition to using double opt-in, you are required to retain the language that was presented to the consumer in the form, email, or webpage where they provided consent. So, you will have to be able to produce both the time/date that they consented and exactly what they consented to.
For our email fields on our websites, do we need to add more checkboxes for the customers to tick before submitting their details?
Klaviyo provides GDPR compliant forms with multiple checkboxes, allowing for granular consent (i.e. separate consent for email marketing and Facebook marketing).
You will need to select forms identified as GDPR compliant, and then customize them as appropriate given your marketing program. If you are gathering personal information about EU consumers through other platforms, youll need to make changes on those platforms as well.
What types of personal data do you process, where is it hosted, who is it shared with, and how long is it retained?
Information about the data that we process and the measures we take to protect it can be found in our Data Processing Addendum. Security measures specifically are outlined in Attachment 2 to the Addendum. You can also read our entire Terms of Service, where GDPR and a link to our DPA are available in section 6.3.
Should we be updating the fine print when we capture emails that include any information about how their data is being stored in Klaviyo?
Yes, your fine print should be updated to reflect the following guidance for EU prospects and customers:
Use clear, plain language that is easy to understand
Specify why you want the data and what youre going to do with it
Name your organization and any third party processors you will be using
Tell individuals they can withdraw their consent
Do I need to provide opt-in emails in the local language to comply with GDPR?
Not necessarily, but Klaviyo provides local translations of GDPR compliant opt-in language in several languages.
Am I required to get consent on all my personal data from consumers?
Youronly option to have a lawful basis for collecting or processing sensitive data is explicit consent. For other personal data, there may be several options when it comes to establishing a lawful basis, but consent is the most likely lawful basis.
Other lawful bases include:
You are contractually required to process their personal data to fulfill the terms of a contract
You are required by law to process their personal data
You need to process someones personal data to save/protect their life
You need to process someones personal data to fulfill your responsibilities as a public official
There are other,more obscure lawful bases, but these are edge cases. Most businesses will need to have consent from the consumer in order to collect and process their data.
Can you anonymize my data so that I can view a profile but not see the personally identifiable information?
We do not currently allow customers to anonymize a profile, but anonymized data associated with that profile will remain in the account (i.e. Placed Order events, etc.) to preserve the accuracy of performance metrics. Data can be anonymized when extracted from the system, but within Klaviyo, you have full visibility of the data incorporated into any profile.
In that same vein, it is possible to delete contacts with a record of deletion to prove compliance, as well as export all the data on a given profile if requested by any of your contacts.
Is an Abandoned Cart email GDPR compliant?
The answer to this one is not entirely clear, however, there is a prevailing view in the industry that you can still send abandoned cart emails under the basis of legitimate interest. You can consider an abandoned cart email a communication relevant to the explicit intent to complete a transaction with your business.
That said, you need to be able to defend the notion of legitimate interest in order to use it as a lawful basis and ifyou'vesent someone 100 emails about an item they added to their cart 30 days ago, your abandoned cart series is indefensible. We strongly recommend you stick withan abandoned cart series of no more than 2-3 emails.
Other triggered emails, like browse abandonment and winbacks, on the other hand, are not GDPR compliant unless you restrict them solely to customers who have previously consented to receive marketing emails from you in a GDPR compliant fashion.
View ArticleOverview
Klaviyo has a built-in integration with Mailchimp that will streamline the migration process as you move over from Mailchimp to Klaviyo. This is designed to be a one-time sync until you transition your data to Klaviyo. After you are completely transitioned to Klaviyo, we recommend that you remove your Mailchimp integration.
We also have a general checklist that covers how to completely migrate over to Klaviyo from a different email service provider (ESP) here.
We also have a recording of our Guided Walkthrough of Migrating from Mailchimp to Klaviyo if you'd like to watch a video of working through all the steps covered in this guide.
Checklist
Migrating from Mailchimp to Klaviyo requires four key steps:
Integrate your ecommerce platform with Klaviyo
Integrate Mailchimp with Klaviyo
Migrate your email templates from Mailchimp to Klaviyo
Sunset your Mailchimp account
Integrate Your Ecommerce Platform with Klaviyo
Using Bigcommerce? Check out our guide to integrating Klaviyo with Bigcommerce.
Integrating your ecommerce platform with Klaviyo ensures that all you can leverage all your stores data in Klaviyo to build segments, send emails, and more. We recommend completing this step before adding the Mailchimp integration.
Integrate Mailchimp with Klaviyo
Integrating your Mailchimp account with Klaviyo pulls over all of your contact data, including when contacts received, opened, and clicked emails.
upload them to your suppression list in Klaviyo
First, you'll need to obtain a Mailchimp API key. We recommend creating a new key specifically for the Klaviyo integration, but you can use an existing key if you would like. You can get your Mailchimp API key by logging into Mailchimp, clicking youraccount name in the upper left, then navigating toAccount >Extras >API keys.
ClickCreate a Key,then copy the key.
Once you've obtained your API key from Mailchimp, go into theIntegrations tab of your Klaviyo account. Here, search for Mailchimp on the All Integrations list. Click Add Integrationand paste in the Mailchimp API key.
Once you've pasted in your API key, review the advanced options. Check the first two options so you can sync all of your contacts' open and click data, along with all of your existing lists.
If you only want to sync specific lists, check the third option and specify the lists you want to sync by Mailchimp ID.
If you selectCollect open and click data for Mailchimp campaigns AND Only sync specific lists,all contacts in your Mailchimp account will be imported into Klaviyo, regardless of whether or not they're in the specific lists you've chosen to sync. While syncing specific lists will recreate them in Klaviyo, it will not necessarily limit the number of contacts imported from Mailchimp.
After you click Connect to Mailchimp, data will start syncing over within a minute or two.
Sync Frequency
After the first day of establishing an integration, Mailchimp data syncs to Klaviyo as follows:
Existing lists sync every 30 minutes
Existing campaigns sync every hour
Every 6 hours Klaviyo checks for new lists and/or campaigns. Once a new list or campaign is identified, they will sync every 30 minutes or 1 hour, respectively.
Review Your Mailchimp Data
Klaviyo pulls in the following data from Mailchimp:
When someone received, opened or clicked a particular email
Emails who have unsubscribed or bounced (these are added to your suppression list in Klaviyo)
Existing lists in Mailchimp
Contacts' Mailchimp Ratings
If a profile already exists in Klaviyo as an Active Profile before you add the Mailchimp integration, it will not be suppressed if it is suppressed in Mailchimp. For example, if you have a profile who is synced through your ecommerce integration before you add the Mailchimp integration, and this person unsubscribed in Mailchimp, they will not be suppressed in Klaviyo because they already exist as an Active Profile. To suppress these contacts, you can export them from Mailchimp as a CSV and upload them to your suppression list in Klaviyo. Only net-new unsubscribed contacts will be suppressed in Klaviyo with the integration.
Keep in mind that only names and email addresses of contacts will sync; to migrate over custom properties (tags) that may be attached to contact profiles in Mailchimp, see below.
If you delete a contact in Mailchimp, they will not be deleted in Klaviyo. However, if someone is added to a Mailchimp list, they'll be added to Klaviyo within an hour. We receive historical data from Mailchimp from the last 90 days; if you are syncing a large number of contacts from Mailchimp, this may differ.
The integration brings data over every 30 minutes for lists. For campaigns, it pulls data every 30 minutes on the first day and checks less frequently as time passes.
Mailchimp metrics are synced from campaigns that took place in the last 90 days. If a campaign is still sending, we will not sync the following metrics; these metrics will only sync for campaigns that are finished sending.
Clicked Email
The Mailchimp Clicked Email metric will track email clickevents synced from Mailchimp. To segment this metric further andseewhich contacts clicked which specific URLs in your emails, clickon the Clicked Email metric in your Metricstab and then usethe advancedfilters optionto filter byURL.
Opened Email
The Mailchimp Opened Email metric will track email open events synced from Mailchimp.
Received Email
Klaviyo will sync a Mailchimp Received Emailevent every time someonesuccessfully receives anemail sent from Mailchimp (meaning the email was delivered to their inbox).
ImportMailchimp Tags into Klaviyo
If you use Mailchimp tags to label and organize your contacts, you can manually export and import these tags into Klaviyo. Klaviyo's built-in Mailchimp integration does not sync any of your tags.
Start by filtering your audience in Mailchimp by the specific tags you want to sync.
Next export your segment from Mailchimp. Use Mailchimp's guide for more information on exporting contacts with specific tags.
Once you've exported your data from Mailchimp you can import it into Klaviyo as custom properties. Custom properties get attached to your Klaviyo profiles, and you can create segments based off of specific properties, or use them to add filters to your flow or dynamically display data inside of your emails.
Migrate Your Email Templates from Mailchimp to Klaviyo
Klaviyo has an intuitive drag-and-drop template builder that you can use to recreate your Mailchimp templates. We recommend using this method to build your templates because it will ensure that they are mobile-optimized, responsive, and easy to edit and iterate on going forward.
However, if youdon'thave time to dedicate to recreating your Mailchimp templates using Klaviyos template builder, it is possible to export your email templates from Mailchimp and import them into Klaviyo.
This process involves editing and updating the raw HTML of the email template. If you would instead like to use Klaviyos drag-and-drop editor to recreate your templates, check out our guide to learn the ropes of using Klaviyos template editor.
Export Your Template from Mailchimp
In your Mailchimp account, navigate to the template that you would like to migrate to Klaviyo. In the dropdown beside the name of the template, selectExport as HTML.
You will be prompted to save an HTML file to your computer.
Swap Out Template Tags
Klaviyo and Mailchimp use different template tags to insert dynamic content in your emails. For example, the first name tag is different in Mailchimp than it is in Klaviyo, so its important that you swap out any Mailchimp-specific tags with the corresponding Klaviyo tags.
The tag that is most important to swap out is the unsubscribe tag. Before you import your template into Klaviyo, you will have to add an {% unsubscribe %} tag because Klaviyo does not allow you to upload HTML templates that don't have unsubscribe tags unless they're for transactional emails.
To edit the tags in your template, open the HTML file in a text editor, like Sublime Text. Below is a table of other common Mailchimp tags and their corresponding Klaviyo tags.
Mailchimp Tag
Klaviyo Tag
*|UNSUB|*
{% unsubscribe %}
*|FNAME|*
{{ first_name }}
*|LNAME|*
{{ last_name }}
*|LIST:COMPANY|*
{{ organization.name }}
*|EMAIL|*
{{ email }}
*|UPDATE_PROFILE|*
{% manage_preferences %}
*|MC:SUBJECT|*
This is the subject line of the email, which is set on a per-email basis in the Klaviyo template editor.
*|MC_PREVIEW_TEXT|*
This is the preview text of the email, which is set on a per-email basis in the Klaviyo template editor.
Learn more about template tags in Klaviyo.
Once you've swapped out the tags for Klaviyo tags, you can save your HTML file.
Import Your Template into Klaviyo
In your Klaviyo account, navigate to theEmail Templates tab and selectCreate Template. Then, selectImport your Template. Here, you will be prompted to select the HTML file from your computer and you can upload the file you just saved.
You can see a preview of what your email template will look like in the Preview tab.Please note that going forward, you will have to directly edit the HTML in order to change the template. If you're interested in converting the template to a drag-and-drop template, you can follow these steps.
Sunset Your Mailchimp Account
If you begin deleting or cleaning contacts in Mailchimp before removing the integration, these contacts will be suppressed in Klaviyo. Once your Mailchimp account is safely sunsetted, be sure to remove the integration before deleting or cleaning contacts in Mailchimp that you don't want suppressed in Klaviyo.
After you've moved all your data over to Klaviyo, there are three key steps you can take to ensure that you no longer need your Mailchimp account:
Ensure that your signup forms and list growth tools point to Klaviyo, not Mailchimp
Recreate your automations as flows in Klaviyo
Remove the Mailchimp integration
Signup Forms and List Growth Tools
If you have any signup forms or signup form campaigns in your Mailchimp account, you will want to ensure that these are recreated in Klaviyo so that your list continues to grow in Klaviyo rather than Mailchimp. You will not be able to redirect forms created in Mailchimp to Klaviyo. Instead, you can:
Use the Klaviyo Signup Form Builder to re-create your forms from scratch
Use a third-party list growth tool that integrates with Klaviyo
Integrate your custom form through your ecommerce platform
If you are using a third-party list growth tool instead of Mailchimp's built-in form builder, make sure that this syncs to Klaviyo. Klaviyo integrates with a number of third-party list growth tools. Scan our list of integrations to find the tool that you're using. If you don't see it listed, consider using Klaviyo's native Signup Form Builder to create your forms, or switching to a different third-party tool.
Please note that all Klaviyo lists are double opt-in by default. If you would like to change a list to single opt-in and you are on a paid plan, please reach out to our Customer Success Team.
If youre using a custom-coded form, there are two ways you can ensure that these contacts sync to Klaviyo. One option is to make sure that your custom form syncs new subscribers directly to your ecommerce platform and that your ecommerce store is integrated with your Klaviyo account. The second option is to point the form directly to your Klaviyo account by updating the Form Action URL. To find the Form Action URL in your Klaviyo account, go to your Lists & Segments tab and click on the list where you want to add your new subscribers. Click on the Subscribe Page tab and copy the URL from the right side of the screen.
After switching all your signup forms to point to Klaviyo, wait a few days and watch your lists in Mailchimp. If you notice subscribers are still being added to these lists, there's probably at least one form that still needs to be swapped out.
Next, you'll want to turn off your Mailchimp signup forms. To do that, head to the code of the page where you installed the form and remove the code that begins with
<!-- Begin Mailchimp Signup Form -->
and ends with
<!--End mc_embed_signup-->
Email Automations
Klaviyo refers to email automations as flows and allows for much more advanced and targeted sequences. It is important to recreate these in Klaviyo so that you don't need to continue to use Mailchimp to send triggered emails.
As you move from Mailchimp, it may be a good time to refresh and update your automated messaging. The two flows we recommend that you turn live as soon as possible in Klaviyo are your Welcome Series and Abandoned Cart flows. A welcome series is particularly important to engage new subscribers, and abandoned cart flows have the highest ROI of any other type of flow.
Once your Klaviyo flows are live, you will want to turn off all of your automations in Mailchimp to ensure that you're not double-emailing people. To do this, clickEditin the dropdown on the automation email. Then, clickPause Sending.
Remove the Mailchimp Integration
Onceyou'vepointed all of your list growth tools to your Klaviyo account, paused your Mailchimp automations, and turned your Klaviyo flows live, you can remove the Mailchimp integration. Before you remove your Mailchimp integration, make sure to double-check that everything is working as expected. Enter a test email into your signup form and other list growth tools, abandon a cart, and sign up for your newsletter to trigger a welcome series. Go to the Profiles tab in your Klaviyo account to make sure that the information in the profile reflects all of the correct communication. If the list you sign up to is double opt-in, be sure to confirm your email first.
Once you've taken these steps and are fully migrated to Klaviyo, you can go ahead and remove your Mailchimp integration. Click on the Integrations tab and select Settings under your Mailchimp integration. Select Removein the upper right and confirm that you want to remove the integration.
Send Your First Campaign with Klaviyo
Once your Klaviyo account is integrated with your store and all of your data is ported over from Mailchimp, you can send your first campaign with Klaviyo. For deliverability reasons, we recommend sending to a highly engaged group of contacts for your first 4 weeks on Klaviyo. This will ensure that you start off on the right foot with Klaviyo and train inbox providers like Gmail, Yahoo, etc. to place your emails in the inbox.
Klaviyo pulls in contacts' "Mailchimp Ratings," which rate a contact's level of engagement on a scale of 1-5 stars. A contactwith 5 stars is considered highly engaged, whilea contact with only 1 star is considered unengaged.
To learn more about how Mailchimp Ratings are calculated, check out Mailchimp's documentation.
To send your first campaign, you must first build a segment of engaged subscribers. Klaviyo provides a default Engaged (3 Months) segment that will appear in the Lists & Segments tab. You can use this as a starting point, and then decrease the timeframe to 30 days and add historical Mailchimp engagement criteria to ensure that youre reaching the right audience.
Once you have built this segment, you can go through the steps of creating and sending a campaign.
Send exclusively to your "very engaged" segment for 4 weeks.
Monitor your open rates using the Engagement Report.
As your open rate increases above 20%, expand the timeframe conditions of this segment and continue to monitor open rates.
Glossary
Below is a list of commonly used Mailchimp terms, along with their Klaviyo counterparts.
Mailchimp Term
Klaviyo Term
Automation
Flow : an automated sequence that is set in motion by a specific triggerand then includes one or more steps. Flows can be built to send emails to recipients, or they can simply apply certain actions; ex. abandoned cart, welcome series, updating a profile property.
Email Campaign
Campaign : a one-time email send to a list or segment of customers; ex. product launch or sale email.
Tags
Custom properties : custom values that can be added to contacts profiles and are available to use in segments and flows; ex. gender, birthday, product interest.
Advanced Segment
Segment : a dynamic group of people constrained by a set of conditions. Segments do not need to be based on a particular list; ex. anyone who purchased more than 6 months ago and hasnt purchased since. Regardless of your subscription plan, you can use this feature to add a large number of different conditions.
Signup Form Campaign
Signup form : an embedded, popup, or flyout email and data collection tool.
Ad Campaign
Facebook Advertising Integration : an integration between Klaviyo and Facebook that allows you to display targeted ads to audiences on Facebook and Instagram.
Cleaned Contacts
Suppressed profiles : contacts who have unsubscribed, marked an email as spam, hard bounced, or have been manually suppressed. It is not possible to email these contacts.
FAQ
If I delete people in Mailchimp, are they deleted in Klaviyo?No.
If I unsubscribe someone in Mailchimp, are they unsubscribed in Klaviyo?Yes. If someone is suppressed in just one Mailchimp audience, they will be suppressed globally in Klaviyo. However, this only applies to net-new contacts. Contacts who were already synced through another integration (i.e. your ecommerce integration), will not be suppressed even if they have unsubscribed in Mailchimp. To suppress these contacts, you can export them from Mailchimp as a CSV and .
If I unsubscribe someone in Klaviyo, are they unsubscribed in Mailchimp?No.
If I add someone to a list in Mailchimp, are they added to a list in Klaviyo?Yes, after 15 minutesifthe address has status "subscribed" or "unsubscribed". If the email address in Mailchimp is in status "pending" (added withdouble opt-in, but has not yet confirmed their subscription) or "cleaned" (the address bounced and was removed from the list), they willnotbe synced to Klaviyo. When an address confirms their subscription, they will move from "pending" to "subscribed" in Mailchimp and will be synced to Klaviyo in the next periodic sync.
If I add someone to a list in Klaviyo, are they added to a list in Mailchimp?No.
How often does my Mailchimp data sync with Klaviyo?Your lists will sync every 30 minutes and your unsubscribes, opens, and clicks will sync every 30 minutes on the first day of your integration and will sync less frequently with time as you should be migrated over after your first few days.
How often will my Shopify store orders sync with Klaviyo?Orders sync with Klaviyo in real time.
How often will my Bigcommerce store orders sync with Klaviyo?Orders sync with Klaviyo in real time.
Does the integration pull all of my campaign history?Klaviyo syncs the last 90 days of campaign history. This is sufficient data for building a list with good engagement criteria
Why should a company keep Mailchimp and Klaviyo? Why not fully commit to Klaviyo and import everything into it? We recommend switching over fully to Klaviyo. You can start by integrating with Mailchimp. Next, check out the key guidelines outlined here.
Does Klaviyo offer something similar to the Mailchimp rating? We do not currently offer something equivalent to a Mailchimp rating. Instead, you can use Klaviyos segmentation builder to create an engaged segment that matches your specific definition of engaged.
View ArticleOverview
Using Klaviyo's AI-powered Predictive Analytics, it is possible to build segments to target customers by:
Historic CLV: the total value of all a customer's past orders.
Predicted CLV: a customer's predicted spend over the next year.
Total CLV: the sum of a customer's historic CLV and predicted CLV.
Predicted number of orders: the predicted number of orders a customer will place over the next year.
Average Days between orders: the average number of days between past orders for customers who have placed at least two orders.This average doesn't include the time from the last purchase to the current day.
Predicted Gender: a customer's predicted gender as determined by their name.
This allows you to bucket your customers based on CLV and use this information to send campaigns and trigger segment-based flows.
For example, you may want to use historic CLV to build a VIP welcome flowor use predicted CLV to send targeted campaigns to customers who are predicted to spend a certain amount over the course of a year.
Please note that you will only be able to segment based on CLV if:
At least 500 customers have placed an order. This does not refer to Active Profiles, but rather the number of people who have actually made a purchase with your business. If this section is on a profile but is blank, this means we don't have enough data on that individual to make a prediction.
You have an ecommerce integration (e.g. Shopify, BigCommerce, Magento) or use our API to send placed orders.
You have at least 180 days of order history and have orders within the last 30 days.
You have at least some customers who have placed 3 or more orders.
Create a CLV Segment
To create a segment based on any of the above CLV properties, use thePredictive analytics about someone condition. Then, you can select your desired metric and value.
Using Predictive Analytics Webinar
For example, let's say youraverage order value for customers is around $15. You may want to target customers who are unlikely to reach this average order value with discounts to try to push them towards their next purchase. To accomplish this, you can create a segment of customers who are predicted to spend no more than $5 in the next year and target them with a discount campaign or flow -- similar to a winback or re-engagement campaign.
Export CLV Segments
Exporting CLV data can allow you to further analyze and predict the behavior of different groups of customers. In addition to the CLV values listed above, you'll also be able to exportChurn Risk Prediction. Churn risk will be exported into your CSV as a number between 0 and 1. For example, 0.45 would correspond to a 45% churn risk.
If you have a large number of one-time purchasers, you may have a high average churn risk. To lower your average churn risk, you may want to focus your marketing efforts on retaining customers after their first purchase. You can use Klaviyo's Predicted CLV metric to identify people who are not likely to purchase again as outlined in the example above.
Once you export this data as a CSV, you'll be able to run your own analyses. Some calculations you may be interested in include:
Average CLV: You can calculate the average customer value of a segment by averaging Historic CLV and Total CLV.
Predict future spending of a segment: Sum the Predicted CLV of all the members of a segment and you will get theexpected revenue from customers in this segment for the next year.
Estimate the number of returning customers: First, average the values for Churn Risk Prediction. Then, subtract this average from 1. Multiply the result by the number of people in the segment. This will yield the number of customers who are predicted to return.
Additional Resources
Best Practices for Using Customer Lifetime Value (CLV) Data
Best Practices for Expected Date of Next Order
View ArticleHow do I find archived or sent campaigns?
Click into your campaigns tab and navigate to the options dropdown in the upper right-hand corner of the page. Click on options and select View Archived Campaigns to navigate to any archived campaigns.
Take Me to Campaign Articles
What is the Klaviyo FAQ?
View ArticleGo back to your Objectives tab.
View ArticleHow can I edit the email address of a profile?
Head to Profiles and click on the profile that you want to edit, clickEdit and youcan update someone's general contact and social information.
What is the Klaviyo FAQ?
Take Me to Account Settings Articles
View ArticleOverview
Using video or gif in an email is a great way to engage your subscribers. Email clients don't all support the ability to play video from the inbox, so we recommend the following options if you would like to feature video in your email.
Using a Static Image with a Play Button
This is by far the most common and recommended way to feature a video in emails. To do this, you can link an image to a hosted version of your video.
To do this, take a screenshot or create a static image of your video with the play button included, add an image block to your email, add a link to the hosted video, and preview the email.
Add aGIF
Animated GIFs will work in emails as long as they are less than 5MB in size. You can upload a GIF just as you would upload a JPEG or PNG -- by dragging it into your email template. In some cases, you may want to link a shorter GIF out to hosted video content.
View ArticleOverview
If you are migrating over from another SMS provider or already have an existing list of SMS subscribers, you can upload these to Klaviyo to start building out your SMS marketing strategy.
Please note that it is required that you have previously obtained consent from these subscribers, otherwise, you will not be able to text them. It is against Klaviyo's Terms of Service and TCPA laws to market to contacts who have not explicitly opted-in to receive SMS communication from your business.
If you're not sure if you've collected SMS consent, follow our guide to acquiring SMS subscribers for best practices around obtaining consent from contacts that you may already have in your account.
Format Your List of SMS Contacts
You will need to import your file of SMS contacts as a CSV or via copy and paste from a CSV or Excel sheet. There are two key data points this file must have, represented by headers:
Phone Number (required)A contact's phone number must be in the E.164 format (e.g., +12345678910). Please note that it is currently only possible to text US-based subscribers, though you may upload numbers with different country codes.
SMS Consent TimestampIn order to text your contacts, you must have previously obtained consent. This timestamp must be formatted in one of Klaviyo's accepted datetime formats (e.g.,2019-09-01 13:34:08+00:00). SMS consent timestamps can only be set for US numbers, as SMS is currently only available for contacts within the US.
Optionally, you may also add additional headers to this file to map data to existing Klaviyo properties or any desired custom properties. Then, follow the instructions outlined in our general guide to importing lists to add your contacts to Klaviyo.
Map Your Data
After you upload your list, you will be brought to the Field Mapping page. Your phone number header will automatically map to Klaviyo's Phone Number property, which you can verify here.
How to Collect SMS Consent
If you uncheck the SMS Consent Timestamp box during the mapping process, you will be able to upload your list of contacts successfully, but won't be able to text these contacts until the SMS Consent Timestamp field has been added. Non-US numbers will not have a consent timestamp, regardless of whether or not this box is checked, as SMS sending is not currently available for non-US contacts.
Additionally, if you attempt to upload a list with phone numbers but without an SMS Consent Timestamp column, you will be prompted to update the consent status of these contacts before you finish import the list. You may proceed through this process without adding a consent timestamp, but you will not be able to text these contacts.
Once you are satisfied with how the fields are mapped, clickImport Review to proceed to the final stage of the import process.
Update Consent Status
If you do not have SMS Consent Timestamps in your CSV file, you will still be able to update the consent status. It is imperative that you only do this if you have, at some point, explicitly received consent from these contacts. Otherwise, you will be in violation of Klaviyo's Terms of Service and TCPA laws. If you are confident you have previously received consent, clickUpdate SMS Consent.
Review the modal carefully. If you checkI acknowledge that the profiles in this import have provided explicit SMS consent, you are verifying that you have previously obtained consent from these contacts, via another SMS platform or otherwise, and are willing to accept the legal implications of texting these contacts.
Once you check this box, you may clickUpdate SMS Consentonce more. You will be brought back to the Field Mapping page, where you will see a row for SMS Consent Timestamp. For all contacts, this field will be populated with the timestamp at which you clicked to confirmUpdate SMS Consent. You will not be able to edit or update this field. If you decide that you don't want to proceed with updating the consent status of these contacts, you can clickCancel SMS Consent Update.
Review Your Import
On the final page of the import process, you will be able to review how many columns you are importing and how many you are skipping from the original CSV file, as well as if SMS consent has been updated (if applicable).
How Klaviyo Bills Customers for SMS
View ArticleOverview
Customers who integrate with WooCommerce also install the Klaviyo WooCommerce extension/plugin which allows you to add a newsletter signup form to your website, enable website activity tracking, and get data about when people start checkouts and view products so you can send out abandoned cart emails. You can download the Klaviyo WooCommerce plugin directly from the Wordpress store.
Check back here to review our Release Notes and learn about changes we made to the plugin. Sign up below to be notified whenever we update the plugin.
Release Notes
2.1.4
December 4th, 2019
Fix Check index is set for subscribe checkbox during checkout
Fix Move klaviyo.js script to highest priority in footer and add missing single quotes around src
2.1.3
November 15th, 2019
Fix Deactivate old Klaviyo plugins if active
Fix Check if Klaviyo Settings index exists
Fix Pluck product categories only if array
2.1.2
November 4th, 2019
Add support for latest api version (v3)
2.1.1
October 28th, 2019
Check for existing Klaviyo plugins avoiding incompatibility
2.1.0
October 25th, 2019
We've updated the plugin in the Wordpress directory so Klaviyo customers can download our updates directly from their WooCommerce Store.
Moved all JS to external files
Added compatibility with just Wordpress 2.0.7 (9/5/19)
Added widget for Klaviyos built-in signup forms
2.0.6
July 17th, 2019
For the embedded form widget, we fixed a bug in utilizing custom text for the button.
Added a field to customize the style of the button.
2.0.4
May 29th, 2019
Added klaviyo.js to the extension. This allows users to publish signup forms to their sites.
2.0.3
May 7th, 2019
Added escape quotes in product titles, which improves Viewed Product functionality.
2.0.2
April 17th, 2019
Addeda new endpoint for checkout subscriptions ex. updating to a new, GDPR compliant endpoint subscribe endpoint.
2.0.1
September 6th, 2018
Added compatibility for PHP 7.2 and removed specific PHP warnings.
Added persistent cart URL for rebuilding abandoned carts.
Added support for rebuilding composite products (using the Composite Products extension).
View ArticleOverview
You can use a segment based on location to run a specific campaign by region, target a form to customers in a particular region, or understand the location of a subset of your customer base. Klaviyo determines a contact's location when syncing a billing address for the contact. If a contact hasn't purchased, their location is determined based on IP geolocation.
Although IP geolocation is used as the industry standard, it can sometimes be inaccurate. Here are a few reasons you might see discrepancies between a contact's IP geolocation and where they actually are:
We check someone's IP whenever they open an email or are captured by our web tracking snippet. If someone is in China when they open the email, their IP will reflect this, even if their typical location is in California.
IPs are not static, and the location affiliated with an IP is thus also not static. This makes IP geolocation imperfect.
Segment by Properties About Someone
When creating a location-based segment around the segment filter Properties About Someone, you can choose between country, state/region, zip code, or timezone.
For example, if you wanted to create an email targeted to people in colder climates in North America, you can choose to create a segment of people who live in Canada or New England. For one of the conditions, were using Country, and the other is using the State/Region property.
Create Customer Engagement Tiers
Segment by If Someone is in the EU
You would use this location-based segment if you only want to target your European customer base, or, potentially, exclude these customers to be sure youre not in violation of GDPR regulations.
Segment by Someones Proximity to a Location
If youre looking to create a segment of your customers who are within the United States, Canada, Europe, Australia, and New Zealand, you can use the radius around a particular postal code. You can then send regionally specific information to people who live at a set distance away from a location.
For UK zip codes, we support filtering by outward code, not inward code or both outward and inward code (usually separated by a space). For example, if a person's full zip code is "SW1W 0NY," only the first piece ("SW1W") will work for these filters.
For instance, if you have a popup shop in Boston and want to invite your customers who are in your Newsletter list, you can create a segment that looks like the following.
AND Versus OR When Building Location-Based Segments
The above example shows a segment that will capture all profiles where the Country property is set to Canada or where the State/Region is set to a state in New England. By using the OR connector between these two conditions, we are making the segment more inclusive -- someone can be from France but not from Massachusetts (and vice versa) and still make it into our segment.
If you want to make your segment more exclusive, you can add conditions separated with an AND connector. In doing so, you're saying that all conditions must be true in order for someone to make it into your segment.
Additional Resources
Guide to Creating Segments
Segment Conditions
View ArticleOverview
Product feeds can be used to generate product recommendations in an email. A product feed will pull product information from your ecommerce integration and display this information in an email template. This feature can be used in flow or campaign emails via the drag-and-drop productblock.
Product feeds are available by default for these integrations:
Shopify
WooCommerce
Magento
Magento2
BigCommerce
Spree
If you are using a custom integration, or your integration does not appear on this list, contact our customer support team and request to enable the feature.
For Shopify: If you are using Klaviyo to customize your store's default transactional email templates, you won't be able to export one of these transactional templates from Klaviyo if it contains a product block. This is because these blocks only work for emails sent by Klaviyo.
Create a Product Feed
Go to the Data Feeds tab in Klaviyo, and click on the blue button that says Add Product Feed.If you have one of our built-in ecommerce integrations enabled, popular and trending product feeds are automatically created for you.
After you have given your new feed a name, you can choose the kind of weighting you'd like for your feed. There are three options: Unweighted, Popular, and Trending.
To learn more about this block, and how to use a product feed, review this guide.
You can also configure a feed such that it is limited to (and will exclude) certain categories:
Include: Item must be in at least one listed category to show up in the feed
Exclude: Item must be in none of the listed categories to show up in the feed
When there is a conflict, exclude takes priority over include, as we err on the side of not showing something that you don't want customers to see.
How Product Feeds Work
There are two components when it comes to how we sort and present product recommendations -- a personal recommendation engine and a weighting system.
Any products that do not have images associated with them will get filtered out automatically. For each email recipient, we will automatically also filter out products the recipient has purchased in the past. If products are out of stock, Klaviyo will consider them unpublished in your catalog and not show these products in your feeds.
Popularity is calculated by dividing the number of times a specific product was bought by the total number of products sold over the period of last 90 days. This means a new surge in a single product may not impact a product feed immediately.
Items that an individual has already purchased willnot be displayed in a product feed, regardless of whether or not personalized recommendations are turned on.
Personal Recommendation Engine
Based on past purchasing data, we look at how similar the email recipient is compared to the other users in the dataset. Then we come up with a recommendation score for each product and sort the products based on this score.
Personalized recommendations are based entirely on past purchase behavior. For example:
User A orders Product 1, Product 2, and Product 3
User B orders Product 1 and Product 2
In this example, recommendations for User B will show Product 3.
If a user has never placed an order, they will see products based on the general setting of the feed rather than a personalized recommendation. Whenever there isn't enough data available to generate customized recommendations, the general settings of the feed will prevail.
The Weighting System
UnweightedThere is no sorting priority. If you have the personal recommendation engine turned off, this option means a randomized product mix. We recommend this option if you have a sizable amount of products and a lot of transactional activity. If you have very few products and/or have little transactional activity, you will want to use a different weighting system.
Popular Products FirstPopularity is calculated by dividing the number of times a specific product was bought by the total number of products sold over the last 90 days.
Trending and recently popular products firstThis is similar to how we calculate popular products, but we give more weight to products that are bought frequently, recently. This is also calculated over 90 days. It's possible that if you have two products that are equally popular, but because the purchases for product A surged earlier than product B over the last 90 days, product B will be shown as trending higher.
Using aProduct Block
The Product Block in Klaviyo provides two ways for users to populate buyable items from their product catalog into an email template:
Populate from Feed:Klaviyo will populate products into your templatedynamically at send time, where items are curated from a pre-defined product feed.
Select from Catalog: You can browse your entire product catalog and insert up to 9 items with a few clicks.
When you add a productblock, and choose the "populate from feed" option, you will have the option to enable the personal recommendation engine and send more targeted emails to your recipients. If you have personal recommendation option turned off, product recommendation will depend completely on the weighting system of the feed. If you have the personal recommendation option turned on, a recommendation is determined by both the more advanced personal recommendation algorithm and the weighting system.
If you are using a feed and you want each product, when clicked, to redirect to a URL that is different from your integrated store's URL, you will have to manage this from within your ecommerce platform. For Shopify users, you can navigate to Shopifys Domainspanel and force all domains to be redirected to your alternative domain. While links from Klaviyo will still start with the root domain, recipients will be re-directed in real time to the same product pages but with your alternative domain.
View ArticleOverview
Businesses use Loyalty Lion to build referral and loyalty programs. A Klaviyo-Loyalty Lion integration allows you to send email addresses collected with Loyalty Lion directly into Klaviyo.
Enable the Loyalty Lion Integration
While Klaviyo does not have a built-in integration with Loyalty Lion, you can still integrate your Klaviyo account. This is possible via an integration available through Loyalty Lion.
Learn how to connect Loyalty Lion with Klaviyoby following instructions on the Loyalty Lion Help Centre.
How to Use Loyalty Lion Data in Klaviyo
Loyalty Lion customer feedback can be used to build segments and trigger email flows within Klaviyo.These are a few ideas from the Loyalty Lion Help Centre :
Increase repeat purchases with reward available emails
Engage with customers via monthly loyalty summary emails
Increase customer acquisition with referral prompt emails
Target specific customer groups with segmentation and offer richer personalization
Fields Synced to Klaviyo
Total Points:points_total
Approved points: points_approved
Pending points:points_pending
Lifetime points:points_lifetime
Spent points:points_spent
Number of rewards claimed:rewards_claimed
Date enrolled in program:enroll_date
Referral URL:referral_url
Loyalty Tier:loyalty_tier
Birthday:birthday
Insights segment:insights_segment
Learn more about the Klaviyo-Loyalty Lion sync on the Loyalty Lion Help Center.
View ArticleOverview
Klaviyo's A/B testing feature for campaigns allows you to easily test different subject lines and content to help you refine your messaging and optimize your send times.
This article covers how to set up and run an A/B test on a campaign, how to read the results of an A/B test, and a few use cases for A/B testing campaigns.
Campaigns tab
Create an A/B Testing Campaign
A/B testing works by creating multiple versions of an email message within a single campaign.
Start by creating a new campaign, and after you've created the first version of your emailyou will seean Add Variation link appear.
Note: This option will not appear if you have not yet configured any content for an initial variation.
ClickAdd Variationand Klaviyo will automatically create a second, identical variation of your campaign and bring you to an A/B testing page.
The A/B testing page shows you a list of all your email variations, along with the settings box. You can always return to this page by clicking MessageContentin the progress bar at the top right side of the screen.
To create additional variations, click the Actionsdropdown menu for any existing variation and select Duplicate Variation. You can create up to seven different variations.
Configure A/B Test Settings
After creating your content, decide the size of your testing pool and the length of your testing period.
Edit the size of your testing pool by adjusting the slider. The default testing pool size is 20% of your send list. If you want to test variations across your full list -- and not schedule a testing period -- you can slide the scale to 100%. In this case, your send list will be divided into equal groups, with each receiving a different variation.
Decidethe length of your testing period using the dropdown menu. The default testing period is six hours. This means that the variations will send to X% of your send list over the amount of time you specify, after which point the winning variation will be sent to the remainder of the send list. For this reason, you should plan to send an A/B test in advance of when you would like the majority of your campaign to be sent. You may wish to shorten your test period from six hours. However, too short of a testing period will diminish the significance of your results.
At the end of the testing period, the test automatically selects a winner based on the data received from the testing pool. In the event that there is no data (for example, if no users in the testing pool open or click any of your variations), then Variation A is automatically selected as the winner and sent to the remainder of your send list.
Choosing an A/B Test Winner
You can select a method for choosing the winner of your A/B test.
You can choose to have Klaviyo automatically select a winner based on Open Rate or Click Rate (Unique clicks). Select the metric you want to determine the winner.
You can manually choose a winner at any pointduring an A/B test's initial testing period. When you do this, the testing period will immediately end and the remaining emails will send to your chosen winner. Use the following steps to choose a winner manually:
Schedule a longer-than-desired testing period.
Navigate to the campaign while the test is still running and click the Variations tab.
ClickView > Select as Winnerfor the variation you would like to send to the rest of the campaign recipients.
Manually choosing a winner is only possible while an A/B test is still underway. It is not possible to configure an A/B test so that it stops automatically at a certain point and prompts you to choose your own winner.
A/B Test Send Times
When testing send times, your test includes 100% of your list by default, and there is no testing period. This is because the send timeis the test. In the Manage Variations window for A/B testing send times, you can thus only adjust time.
Toggle your view by clicking the "switch to test send times" link at the very bottom of the Test Settings window.
Select the number of variations in your test
Select the date/send time for each variation
Review A/B Test Results
Navigate to thecampaign you are testing.
Select theVariations tab of the main campaign report.
Select Conversion Metric. The last column of this report is adjustable and can feature the conversion metric of your choice. To switch the conversion metric visible in this last column, navigate to the Overview tab and click to change the conversion metric as shown below.
Run an A/B Test Using a Control Group
You may only want to run an A/B test on a portion of your audience -- your newsletter list, for example. To do this,take a random sample of your newsletter list (or segment) using the Sample List Memberstool found in the Manage Listdropdown. Here, you can select the size of the sample you would like to use as your test group. This will create a new list.
Next, you can schedule your A/B test campaign to send to this group. After doing this, schedule the control email to send to the entire newsletter list, and exclude your sample list. This will ensure that everyone on the list who received the test campaign won't receive this second, control campaign.
A/B Test Sending Cadence
You can use a method similar to the one outlined above to test your sending cadence. For example, you may be wondering if you'll see higher open rates if you only send your newsletter out twice per week rather than three times per week.
First, take a sample of your list or segment (for example, your newsletter list) by navigating toManage List > Sample List Members. You can then test a different sending cadence with this sample list.
Be sure to exclude the sample list from the campaigns you send to your main newsletter list to ensure that they're not receiving duplicate emails.
Other A/B Testing Examples
Here are a few examples of how you can use A/B testing.
Testing multiple subject lines for every campaign to understand whether customers like short or long subjects
Offering different discounts (10%, 20%, no offer) in different variations to see how discounts may/may not drive increased conversions
Figuring out whether plain-text or graphically rich HTML emails perform better in terms of click-through rates and conversions
Using URL parameters to test how different links drive customers to the same content. You can accomplish this in Klaviyo by differentiating your links with different parameters.
A/B Test Exceeded Account Sending Limits
Klaviyo will automatically cancel A/B test campaigns when the testing pool exceeds an account's monthly sending limits. If you receive an in-app notification that reads: "Your A/B test campaign CAMPAIGN_NAME was automatically cancelled for exceeding account sending limits," you will need to upgrade to a higher plan in order to resend the campaign.
You can view your account's monthly sending limit in yourAccount Overview area. Here, you can also upgrade your plan. Once you have done so, navigate to your, find the cancelled campaign, and clickClone. From there, you'll be able to configure and send your new campaign.
View ArticleOverview
If you believe your Klaviyo account is disabled or temporarily suspended, there are several reasons this may be the case. These reasons are outlined below.
Your Account Has Been Flagged for Review
Your account may be temporarily disabled after being flagged by our verification and compliance team.
This typically occurs when a new account attempts to send to an uploaded list of contacts for the first time.
You should receive feedback from our team within 1 business day.
If you have any questions or are unsure if your account is under review, contact our Success Team.
We Have Been Unable to Successfully Process a Recent Payment
A Klaviyo account with a paid subscription will automatically be suspended after several failed payment attempts.
If you are unsure whether your account is disabled for this reason, we recommend attempting to update your credit card information in your account's Billing settings.
As soon as the overdue payment is processed successfully, your account will automatically be re-enabled.
You Have Hit the Limit of Your Paid Plan
If you attempt to send more emails than your current paid plan level supports, your account will not be disabled, but you will be required to upgrade before you can send more emails.
If you are unsure whether you have reached your account limit and need to upgrade, contact our Success Team.
View ArticleOverview
Using tags to organize flows can help you sort flows into different groups depending on your use case. For example, you may want to tag flows with the stage they represent in the marketing funnel, or you may have similar flows that are separate for prospects vs. customers that you want to keep separate. To accomplish this, you can use tags.
Tagging a Flow
First, click the downward arrow andEdit Detailsfrom the dropdown beside the flow that you would like to tag.
Learn more about tags in Klaviyo.
Once you click this button, a dialog box will appear. Here, you can change the name of a flow and add a tag. You can tag the flow with an existing tag, or create a new one.
View ArticleA
Accepts Marketing: A Shopify custom property that is determined when a customer checks, or does not check, the Accepts Marketing box when starting or completing a checkout. Klaviyo syncs the Accepts Marketing value when available through the Shopify integration; this value will either be True or False if it is assigned. NOTE: The Accepts Marketing property exists independent of whether or not someone separately subscribes to receive emails through a sign-up form. This means that someone could elect not to check the marketing box upon checkout, but then decide to subscribe to your mailing list separately through a sign-up form. This person would end up on your subscriber list, but still have an Accepts Marketing property value of False. The Accepts Marketing property value is also subject to change every time a customer begins a checkout.
Active on Site: Metric tracked when a contact is active on your site; this metric is only tracked when Klaviyo Web Tracking is enabled. SEE ALSO: Web Tracking
Active Profile:A contact within your account that is emailable (for a non-emailable contact, see Suppressed). These contacts can be added to your account through a variety of methods, including integrations and manual list uploads. Since these contacts do not necessarily live on one specific list, it's unlikely that the number of Active Profiles in your account will match the number of people on your newsletter list. To see a count of the number of Active Profiles you have in your account, navigate to theProfiles tab. Learn more.
Activity Feed:A live feed of whats happening with your customers and site visitors reflecting data coming into Klaviyo in real-time. Your Dashboard has an Activity Feed that gives you one central source of all customer data across all metrics. Each Contact Profile also has an Activity Feed specific to that customer's activity.
C
Campaign : A single, targeted email sending effort; a one-time send to a pre-established group of contacts.
Canceled Order: This event is tracked when a customer creates an order in your store but then cancels the order before fulfillment. NOTE: This metric is only available for certain integrations.
Cart Abandonment Rate:The percentage of people who place an order on your website and subsequently abandon their cart, leaving items unpurchased. It is found by calculating Placed Order Count divided by Checkout Started Count.
Checkout Started: The event triggering this metric varies depending on how data is coming to Klaviyo:
Shopify & Magento : This event is tracked when a customer enters their contact and shipping information on the first page of the checkout process and clicks continue.
BigCommerce : This event is tracked when a customer enters their contact and shipping information on the page before the payment page in the BigCommerce checkout process and clicks continue.
WooCommerce : This event is tracked when a customer is logged into their account, has added something to their cart, then views the checkout page; or, when a customer adds something to their cart, views the checkout page, enters billing email address.
Conversion Rate Optimization (CRO): Making Changes to a website in order to increase the rate at which visitors take the desired action (typically making a purchase).
Conversion Tracking : A conversion is defined as a recipient opening or clicking an email and then taking another action within the conversion period. By default, the conversion period is five days, however, this setting can be adjusted in your account settings. You do not need to decide in advance which metric is the conversion metric, Klaviyo automatically computes conversion analytics for all metrics.
Customer Lifetime Value (CLV) :The historic and predictive amounts that a customer may spend. Historic CLV is made up of all of the past purchases, while Predicted CLV is the amount the customer may spend and how many orders they may make in the next year.
Custom properties: Fields that you can use to gather information about the contacts in your account. Some examples are: additionalinformation about your contacts (such as gender, size, coupon code), preferences (such as email frequency, type of content, etc.), and responses to a questionnaire.
D
Dashboard : A key tab in your account that has several subsections:
Email Performance: Klaviyo's Email Performance Dashboard helps you analyze the conversion metrics that matter most to your business while visualizing how your emails are performing
Analytics: Metric Charts on key metrics; customizable by metric and timespan
Lists & Segments: Collection of all starred lists and segments
Activity Feed: A central source of all contact data across all metrics; sortable by metric
Deliverability : A term that refers to inbox placement once an email is successfully delivered. This term is often used interchangeably with delivery, which refers to whether a recipient's inbox accepts the messageyou'vesent. Only after an email is successfully delivered does deliverability comes into play.
Delivery: From Sendgrid : "A delivery is recorded when a request to send an email results in the delivery of that email to the end recipient. Delivered means the message was accepted by the receiving server, however, this does not necessarily mean that the message reached the recipients inbox."
Domain Name System (DNS): DNS stands for Domain Name System. This system is essentially the "phone book of the Web". When you update your DNS records, you can consider this the equivalent of updating your address in the web's phonebook so that it's possible to verify who you are when you send an email.
E
Email Capture Rate:(also called opt-in rate) The rate at which website visitors subscribe to marketing, often through a Klaviyo Signup Form. This can be found with the following calculation: the number of new subscribers divided by the number of website visits (or number of forms shown).
Email Service Provider (ESP): A services or platform that can send commercial and transactional email on your behalf. Klaviyo is an example of an ESP!
Event :When a customer does an action, it is called an event. Events can be used to trigger flows or place a customer in a segment.
F
Flow : An automated email series triggered by an activity or behavior. Flows are autoresponders that can contain one or more emails and can be configured to send to contacts after a range of different tracked events occur.
Fulfilled Order: This event is tracked when a customer's order is marked Fulfilled in your ecommerce store.
H
Hard Bounce : Occurs when an email cannot be delivered due to a permanent reason. This could be caused by a variety of reasons, including a misspelled email or a deliberate block by the email server. Klaviyo will automatically remove emails that hard bounce, and then exclude them from future emails. You can see these emails by navigating to the Profiles tab, clicking on Suppressed List in the upper right, and choosing Bounced Emails. SEE ALSO: Soft Bounce.
I
Integration : A means to automatically sync user and customer data to Klaviyo from another software platform or application.
IP Address : A unique string of numbers (separated by periods) that identifies a device on the Internet.
Item: A single product purchased within an ecommerce order.
L
List : A collection of email addresses in Klaviyo, maintained in the Lists & Segments tab, that are added through a sign-up form, subscribe page, third-party integration, the Klaviyo API, or manually through upload or copy/paste.
O
Ordered Product: This event is tracked when a customer places an order. NOTE: One Ordered Product event is tracked for each item purchased. If someone purchases three items in a single purchase event, there will be one Placed Order event and three corresponding Ordered Product events recorded.
Owned Marketing: An approach to marketing where a company focuses strategically on channels that they control (including their website, email, and app if applicable), utilizing the data they have in order to create and strengthen customer relationships. The experiences that are created with this data are critical to the overall success. A contrasting strategy might involve relying heavily on selling through Amazon, driving purchases through Google or Facebook ads, and/or utilizing third-party data to facilitate those marketing actions.
Owned Media: Published content that a company has created on channels that it controls, including their own website, app, and social media channels.
Owned Revenue: The revenue attributed to emails sent through Klaviyo. If someone engages with an email and makes a purchase within the attribution window (a set number of days after), that purchase is attributed to the email. Klaviyo users can adjust the attribution window for their account.
P
Placed Order: This event is tracked when a customer completes the checkout process and creates an order in your ecommerce store. To view the event data Klaviyo tracks for each order, navigate to your Dashboard, click on Activity Feed, and sort by Placed Order. Click on the timestamp of any order and an Event Details window will pop up featuring all event data variables. NOTE: One Placed Order event is tracked for each purchase event.
Product Feed : Blocks that automatically generate product recommendations by pulling product information from ecommerce integrations. Product Feeds can be used in flow/campaign emails via the drag and drop "Product Feed" block. NOTE: Product feeds are available only these integrations: BigCommerce, Magento, Shopify, Spree, WooCommerce.
Profile : A Klaviyo Profile is a comprehensive record maintained for every contact in your Klaviyo account. This record contains a live feed of all tracked activity, as well as all available information pertaining to a given person. You can find the profile for any contact by searching for this person using the search bar at the top of your account.
R
Refunded Order: This event is tracked when a customer completes the checkout process in your store and a payment is made, but the customer requests the payment to be returned. NOTE: This metric is only available for certain integrations.
Return on Investment (ROI): The ratio of how much a customer spends on Klaviyo compared to how much Owned Revenue (see above) they generate. For example, if they pay $1,000 a month and generate $35,000 in KAV, their ROI is 35x.
Revenue per Recipient (RPR):A calculation that measures the success of a campaign or flow. The calculation is the revenue from a campaign or flow divided by the number of recipients in that campaign or flow.
S
Segment : A collection of email addresses in Klaviyo, maintained in the Lists & Segments tab, that is defined by a set of conditions, e.g, everyone who's ever purchased, everyone who was on the website last week, everyone who opened a specific email, etc. Rather than a fixed list of people, a segment will grow as new people meet the conditions and shrink as people no longer meet the conditions.
Shopify Tags : Any custom tags assigned to a customer in Shopify (e.g., wholesale or VIP) that are passed through to Klaviyo through our Shopify integration.
Smart Sending: IfSmart Sendingis enabled,Klaviyo will automatically check to see if a recipient has already received an email from you within a specified period. If this person has received another email from you too recently, the current email to him/her will get skipped. This is a good way to prevent contacts from receiving too many emails when you have numerous active email marketing efforts. You can enable or disableSmart Sending for emails sent by both campaigns and flows.
Social Links : A block in Klaviyo's email Drag-and-Drop editor that allows you to provide the links to your social sites in your emails. You can add a maximum of four links, e.g., Facebook, Twitter, Instagram, YouTube. In Klaviyo's Setup Wizard, you can set these four links and have them automatically appear in the footer of all email templates.
Soft Bounce : A soft bounce is always caused by a temporary reason, such as a full inbox or the recipient email server being down momentarily. For soft bounces, Klaviyo will try sending emails for up to 48 hours. After the 48 hour period, attempts to send will cease but the recipient will not automatically get suppressed in your account. The next time you try to send to this person again, we will try for another 48 hours. SEE ALSO: Hard Bounce.
Subscribed to List : A Subscribed to List event is recorded when a contact subscribes to a Klaviyo list directly via a Klaviyo form. If someone gets added to a subscriber list in any other way, such as clicking Accepts Marketing when checking out or getting added manually, no Subscribed to List event will be recorded.
Suppressed : The status of a contact once they unsubscribe from an email, an email to him/her hard bounces, or they are manually added to the Suppression List. Once someone is suppressed, they are considered Inactive in your account. Klaviyo will automatically remove all Suppressed users from any flow or campaign send. View your account's Suppression List.
T
Transactional Email: An email sent as a function of the purchasing process; for example, an order confirmation email or a shipping notification.
U
Unique visitors:Also called "unique website visitors" or "uniques," these are the number of different people who did something. For example, a company may have 10,000 total website visits in a week, but 3,500 unique visitors during that time because many went back more than once.
UTM Parameters : Identifying text added to a URL that aids in attribution later on.When creating a campaign or a flow, you can have Klaviyo automatically add UTM tracking parameters to links so you can see the results in Google Analytics.(The name UTM comes from Urchin Tracking Model; Urchin was acquired by Google in 2005 and became Google Analytics).
W
Web Tracking : By adding specific code to your site, you can automatically track visitors and their activity; this is called Web Tracking. You can enable Web Tracking through Klaviyo's Setup Wizard, or you can set it up anytime through the Getting Started tab. There are two key types of tracking: homepage tracking (with the Active on Site metric) and product page tracking (with the Viewed Product metric). NOTE: Instructions to set up Web Tracking will be specific to your specific website/store. Product page tracking is not currently available for all ecommerce platforms.
View ArticleYou have now completed your cancellation request. We're sorry to see you go!
Once this request has been completed, someone from our team will reach out to confirm.
View ArticleOverview
Setting up Google Analytics Goal Tracking for an email sign up form is a two-step process:
Record an event in Google Analytics whenever someone new signs up
Setup a corresponding goal in Google Analytics
Note
Please note that Google Analytics goal tracking takes some time to update, and so goals may not appear in real-time.
Track Signups Submitted Using a New Klaviyo Form
It is possible to track new Klaviyo forms views (opens), submits, and closes in Google Analytics by adding an event listener to the klaviyoForms event and then executing different GA tracking calls for each type of event: open, submit, or close. This code must be pasted in the main theme file of your site:
If you're using Shopify, paste the snippet into yourtheme.liquidfile on a new line above the closing</body>tag.
If you're using a BigCommerce Stencil theme, navigate toStorefront > Footer Scriptsfrom your BigCommerce Admin panel andpaste the snippet into theFootercode box on a new line.
If you're using a BigCommerce Blueprint theme, paste the code into theFooter.htmlfile on a new line at the end of the file.
Below is the generic code for tracking opens, submits, and closes in Google Analytics (Classic):
<script>
window.addEventListener("klaviyoForms", function(e) {
if (e.detail.type == 'open' || e.detail.type == 'embedOpen') {
ga('send', 'event', 'Klaviyo form', 'form_open', e.detail.formId);
}
if (e.detail.type == 'submit') {
ga('send', 'event', 'Klaviyo form', 'form_submit', e.detail.formId);
}
if (e.detail.type == 'close') {
ga('send', 'event', 'Klaviyo form', 'form_close', e.detail.formId);
}
});
</script>
If you use gtag.js to load Google Analytics, use the JavaScript below instead:
<script>
window.addEventListener("klaviyoForms", function(e) {
if (e.detail.type == 'open' || e.detail.type == 'embedOpen') {
gtag('event', 'form_open', 'Klaviyo form', e.detail.formId);
}
if (e.detail.type == 'submit') {
gtag('event', 'form_submit', 'Klaviyo form', e.detail.formId);
}
if (e.detail.type == 'close') {
gtag('event', 'form_close', 'Klaviyo form', e.detail.formId);
}
});
</script>
Track Signups in Google Analytics (Legacy)
First, you need to record an event in Google Analytics whenever someone signs up. You do this using the successcallback option when configuring your Klaviyo sign up form.
<script>
KlaviyoSubscribe.attachToForms('#email_subscribe', {
...
success: function ($form) {
_gaq.push(['_trackEvent', 'Acquisition', 'Newsletter Sign Up', 'Website']);
}
...
});
$form is a jQuery wrapper around the form that was submitted. This makes it easy to get the email address or form fields if you need them.
Setup Corresponding Goal in Google Analytics
After you have set up tracking for new signup events in Google Analytics, you can configure a corresponding "Goal":
View ArticleOverview
Abandoned cart emails are one of the most valuable emails for any ecommerce business. Theyre an email or sequence of emails sent to someone who added an item to their shopping cart, but failed to complete the purchase. Not contacting these customers is leaving money on the table -- almost 70% of shopping carts are abandoned on average.
There are a lot of reasons why someone abandons a cart. Perhaps the shopper didn't have their credit card in front of them or wanted to browse your site a bit more before making a decision. Whatever their reason is for leaving mid-checkout, most often it's not because they're no longer interested in the product.
Depending on your ecommerce platform, you may already have a built-in abandoned cart flow that is running. For example, if you use Shopify, you likely already have a Shopify abandoned cart flow. Klaviyo allows you much more customization and targeting than your ecommerce platforms default abandoned cart flow. In Klaviyo, you can fully customize the content of the email, add multiple emails, and branch the flow based on things like the value of the item in the cart, and much more. Youll want to turn off any default platform abandoned cart emails to make sure that youre not double-emailing anyone.
Navigating Klaviyo's Default Abandoned Cart Flow
After you integrate your ecommerce store with Klaviyo, you'll find several best practice flows populate automatically in your account. One of these is the Abandoned Cart flow.This guide will walk through how to review and customize the default Abandoned Cart flow in your account.
Ifyou use Magento, install the Magento Extension before leveraging our Abandoned Cart flow. The Extension is what allowsKlaviyo to receive data whenever someone starts a checkout. For most other ecommerce platforms, after integrating your store, you will see Started Checkout data populating in your account.
Flow Trigger and Filters
Klaviyo's default Abandoned Cart flowworks by tracking:
When someone starts a checkout
If someone completes their purchase and places an order
If someone adds an item to their shopping cart but doesnotmake a purchase, this is considered an abandoned cart. Hence, the flow is triggered when someone starts a checkout, but there is a filter on the flow excluding anyone who completes their purchase.
Guide to Creating a Post Purchase Flow
It is important to note that everyone who starts a checkout will enter the flow. Then, depending on whether or not they place an order, they will be skipped. For this reason, you may see a large number of people who enter the flow being skipped due to "failing Flow Filters."This is nothing to be alarmed about and simply means the flow is functioning correctly by not sending abandoned cart emails to people who placed an order.
If you have more than one email in your flow, Klaviyo will check your Flow Filters before each individual email is sent out. This means that if someone completes their purchase after the first email, they won't receive any otheremails in your series.
If someone abandons the checkout process and never goes back to complete the process, they will get all the emails in your Abandoned Cart series.
Dynamic Content
One of the most compelling aspects of an abandoned cart email is the ability to include information about the item someone abandoned directly in the email. Klaviyo's default Abandoned Cart flow contains a dynamic content block and go-to-cart button that is unique to each ecommerce integration. This content block is what allows you to include an image, link, and other information about the product in the email. The go-to-cart button is what allows someone to navigate directly back to their cart.
Because these blocks utilize tags that are unique to each integration, it can be challenging to rebuild them on your own. We highly recommend saving these blocks before editing the default email or swapping out the template. This way, you can completely customize the design of your email, but don't have to worry about affecting its functionality.
By default, the abandoned cart block will pull in all the items that someone has left in their cart. To change or limit the number of items displayed, you can edit the block.
If you accidentally delete either of these dynamic blocks, you can re-add Klaviyo's default Abandoned Cart flow to your account from the Flows Library in the Browse Ideas tab.
How Many Abandoned Cart Emails to Send
Based on research from thousands of Klaviyo ecommerce customers, we have found that sending 2-3 abandoned cart emails in your Abandoned Cart flow leads to optimal performance. For more information on how we determined this result, check out our Abandoned Cart Benchmark Report.
This is also something you can test for your unique business using the branching technique outlined below.
When to Send Your Abandoned Cart Emails
Deciding when to send your first abandoned cart email can be difficult. As a rule of thumb, we recommend sending your first email between 2-4 hours after someone starts a checkout, and then sending a second email 1-2 days later.
Bear in mind that someone will enter the flow as soon as they start a checkout, so if you configure your Abandoned Cart flow to send immediately, they will receive the first email as soon as they add the item to their cart, without the opportunity to abandon it first. You want to give shoppers the chance to complete their purchase before sending them a cart reminder.
There is no one-size-fits-all rule for the best time to send abandoned cart emails. Each business and audience is different, and what works for one store may not work for another. Timing may varydepending on what you sell -- for example, if you sell big-ticket items, like mattresses, the buying process likely requires more consideration than something smaller, like shoes. For this reason, you might find that a longer Time Delay is more effective. If you email someone too soon after they abandon a cart without giving them the opportunity to finish making a purchase, you can come off as tone-deaf or overly pushy.
Additionally, if youre using an integration besides Shopify or Bigcommerce, we may not sync Checkout Started data immediately. You will want to double-check how often data is synced from your ecommerce store to your Klaviyo account to ensure that your first abandoned cart email doesnt send until after these events are synced.
A/B Test a Time Delay
To find the optimal Time Delays for your Abandoned Cart flow, we recommend testing. To do this, first, drag a Conditional Split into the top of your flow. Then, configure your split to be based on a 50% random sample.Bear in mind that if you change the weighting of the random sample to something other than 50%, that will be the percentage of people who flow down the YES path.
This will allow you to run an A/B test on the timing of your first abandoned cart email. Next, drag a Time Delay to the NO branch of the flow. Set this to be the other timeframe that you would like to test.
Last, clone all of the components on the YES branch and drag the clones over to the NO branch, so that everything is identical except the timing of the first email. This allows you to isolate this as the variable that you're testing.
After you set the cloned emails live, monitor the conversion rate of the first email to determine which Time Delay is performing best. Then, you can test another Time Delay or delete the Conditional Split and only keep the winning Time Delay.
You can repeat this process with your second or third abandoned cart emails if you would like to test these as well, but remember to A/B test them one at a time so that you can isolate this as the only variable you're testing.
Content to Include in Your Abandoned Cart Flow
Klaviyo's default Abandoned Cart flow will pull in the styling and logo that you configured while going through the Setup Wizard. That said, you will likely want to tweak the appearance and language of these emails before turning them live to ensure that they are aligned with your brand.
As we mentioned, the core part of Klaviyo's default Abandoned Cart flow that you will want to keep is the dynamic content. We recommend saving the dynamic content block and button before editing the default template to ensure that you don't overwrite it. Then, if you have a base template that you've already designed for your other emails, you can use this as your abandoned cart template and drag in the dynamic content from the Saved Blocks library.
Below is an example of a well designed abandoned cart email:
Notice that the primary focus of the email is the item that the recipient left in their cart. This dynamic content should be the core of your email template. After all, this is the item that they demonstrated an interest in in the first place.
Its not advised to have other products highlighted in the abandoned cart email since your main goal is to drive shoppers back to their cart to complete their purchase. Including other products can distract from this message and lead to an overall lower conversion rate.
For more inspiration for how to design your abandoned cart emails, check out Really Good Emails.
The language you use in your abandoned cart email should encourage people to reach out if they have questions about your products and inspire a sense of urgency to convince them to complete the purchase. For example, you could lead with "Hurry, before it sells out!"
While it's common to include a discount or incentive in an Abandoned Cart flow, we don't encourage you to include a coupon right off the bat in the first email. This can train customers to abandon carts in order to get the discount and is oftentimes giving money away unnecessarily. If you would like to include an incentive in your Abandoned Cart flow, it's best to hold off until the final email, or only offer it to people who have never purchased before.
Measuring Abandoned Cart Performance
Once you have your Abandoned Cart flow up and running, you will want to analyze how it is performing to see where there's room for improvement. Below are some benchmarks from our Abandoned Cart Benchmark Report :
Open Rate
Click Rate
Revenue per Recipient
41.18%
9.50%
$5.81
Your conversion rate will depend on the conversion window you have set in your account, which is why our report instead looked at revenue per recipient. By default, the conversion rate for your Abandoned Cart flow will be Placed Order, as this is the desired action someone would take after receiving your abandoned cart emails. However, you can change this conversion metric if you would like.
You can see an overview of your Abandoned Cart flow's performance on the Visual Flow Canvas by clickingShow Analytics.
If you click on a particular email and then clickView all Analyticsin the lefthand panel,you will be brought to a more granular view of that individual email's performance.
Learn more about Flow Analytics. Additionally, you can export your analytics to run your own analyses.
Analytics are directly tied to optimization. For example, if you notice your open rate is lower than average, you can A/B test subject lines or timing to find something that may work better. If you have a low click rate, maybe you need to make your call to action more obvious. If you notice you have a lower than average amount of revenue per recipient, you may want to consider offering a discount in the second email to nudge people to purchase.
Taking Your Abandoned Cart Flow to the Next Level
Once you have a basic abandoned cart flow set up, you might be wondering what comes next and how you can make your existing flow even better. Because all businesses are different and have their own unique audiences, there isn't just one formula that will work for everyone.
The Browse Ideas tab is a great place to look for new ideas and inspiration when leveling up your Abandoned Cart flow, and includes many of the best practice branched flows outlined below.
Testing new ideas is the best way to optimize your abandoned cart flow. Below are a few recommendations for where to start.
To influence open rate:
Timing
Subject lines
Urgency
Emojis
To influence click rate:
Email content
Plain text vs. graphic rich
Call to action (CTA) location
General email layout
To influence conversion rate or revenue per recipient:
If you're using Klaviyo to send SMS, add SMS messages to your abandoned cart
Branching
Purchasers vs. non-purchasers
Domestic vs. international
Number of emails in the flow
Product category/collection
Value of items in cart
Number of items in cart
A/B Test Subject Lines or Email Content
Subject lines are directly tied to your open rates. To test a new subject line, first, click on the email that you would like to test. Then, clickAdd Variationin the lefthand panel.
Click rates, on the other hand, are primarily affected by the content and layout of your emails. You can A/B test email content by changing the body of the email, but not the subject line. For example, you may want to test a more prominent CTA or plain text versus graphics rich. You can measure your results in the same way you would measure them for a subject line A/B test, but instead of looking at open rate, pay special attention to the emails click rate.
Be sure to only A/B test one variable at a time. You can also change the weighting of the test to suit your needs. For instance, you may only want to test a new subject line for 10% of your audience if your current subject line is already producing good open rates. This minimizes the risk of testing. Then, if you decide that your test subject line is better, you can change this to send to 90% of your audience and test a brand new subject line with the remaining 10%. These tests will run indefinitely, so be sure to check in periodically to see how your subject lines are performing.
Learn more about A/B testing flows.
Branching by Purchasers vs. Non-Purchasers
Messaging existing customers and non-customers differently is a good practice, especially if you plan on offering an incentive if your Abandoned Cart flow. You don't want to over-discount, so you may want to only offer a coupon code to shoppers who have never purchased from you before to encourage them to buy for the first time.
If you take this approach, be sure to include language like, "Take 10% off your first purchase" so that recipients don't grow to expect a discount every time they abandon a cart. Additionally, use dynamic coupon codes to prevent sharing on sites like RetailMeNot, etc.
Learn more about how to use coupon codes in Klaviyo:
Dynamic coupons for Shopify
Dynamic coupons for Magento 1
Dynamic coupons for other integrations
To split your flow by purchasers versus non-purchasers, first, drag a Conditional Split into the top of your flow. Then, set this split to be based onWhat someone has done or not done >Has Placed Order at least once over all time. People who have never placed an order before will go down the NO path while existing customers will go down the YES path.
Then, you can include a coupon in the final email of the NO path.
Branching by Domestic vs. International Shoppers
You may be able to offer special perks to domestic customers that you don't to international customers, like free shipping. Branching your flow by domestic versus international customers allows you to highlight these perks if your emails to domestic customers to persuade them to purchase.
First, drag a conditional split to the top of the flow. Then, set this split to be based onProperties about someone > Country equals US. Those who flow down the YES path will be domestic customers, and those on the NO path are international.
Branching by Number of Emails
You may want to test how the number of emails in your flow affects your conversion rate. For example, maybe you want to test adding a third email to your Abandoned Cart flow. When analyzing the third email, pay special attention not only to its conversion rate, but also the open and click rate. If an additional email has poor open and click performance, it could be doing more harm than good for your deliverability, even if its producing revenue. Refer to the benchmarks above to determine what below-average open and click rates look like.
To test the number of emails in your flow, drag in a Conditional Split below the trigger. Base the split on a random sample and select the weighting you would like to assign to the control branch. The test branch will be the NO branch or the remainder of people who enter the flow.
Branching by Product Category or Collection
If you have a large product offering, you may want to branch your abandoned cart flow by category or collection to include more relevant copy and images in your emails. One key example is if you sell men's and women's products. In this case, it's also important to include a default branch in case the product in someone's cart is not in either the men's or women's collection.
First, drag a Trigger Split to the top of the flow. Set the collection (or "category," depending on your ecommerce integration) to contain Women's. Then, drag another Trigger Split directly beneath the first one. Set this collection to contain Men's. Those who flow down NO path after this Trigger Split should receive a more generic abandoned cart flow.
Branching by Cart Value
You may want to message customers with larger cart values differently than those at or below your store's average order value. For example, if the value of the items in someone's cart adds up to triple your average order value, you may want to offer them an incentive to encourage them to complete the purchase.
To do this, drag a Trigger Split to the top of the flow. In this example, our average order value is $100. Next, configure the split to be based onCheckout started value is less than 300.Those whose carts are worth less than $300 will flow down the YES path, while those with triple your average order value or more will flow down the NO path.
Branching by Cart Size
Similarly, you may want to branch your Abandoned Cart flow based on the number of items someone has in their cart. For example, you may want to offer someone with three or more items in their cart a buy one get one free (BOGO) or other promotion to encourage them to place an order.
To do this, first drag a Trigger Split to the top of the flow and configure it based onItem Count is less than 3. Shoppers with fewer than 3 items will flow down the YES path, while those with more than 3 items will flow down the NO path.
Additional Resources
Still looking for ways to take your Abandoned Cart flow to the next level? Check out these additional resources:
Add SMS Messages to Your Abandoned Cart Flow
Create an Add to Cart event to trigger an Abandoned Cart flow as soon as someone adds an item to their cart (Shopify)
Automatically apply a coupon code to someone's cart (Shopify)
Personalize Flows with Dynamic Event Data
Ecommerce Brands that Nail Cart Abandonment (and What You Can Learn From Them)
15 Abandoned Cart Best Practices
4 Ways to Segment Your Abandoned Cart Emails (Infographic)
3 Reasons People Abandoned Your Shopping Carts, And How to Solve It
Deciding Not to Discount: 4 Ways to Make It Work
Guide to Creating a Welcome Series
View ArticleExport the HTML for an Email Template
Follow these steps to exporta template.
From theEmail Templates tablocate the template you want to export.
Click the Edit dropdown and selectExport. Troubleshooting Custom CSS, Javascript, and HTML in Klaviyo
The source code of your email appears. Click the source code to highlight all. From here you can copy/paste the source into another application.
Additional Resources
Import a Custom HTML Template
View ArticleOverview of Deliverability
An email is successfully delivered when it reaches the inbox (including the tabbed inbox). An email is unsuccessfully delivered when it ends up in the spam folder or is blocked entirely. You can achieve successful deliverability by following several key points:
Send to engaged customers
Send great content
Monitor your results and adjust your sending practices
Send to Engaged Customers
When customers open, click, and forward your emails, ESPs notice and reward you. Maintain a strong sender reputation and great deliverability by sending to customers who have engaged with your business, and filtering out or removing others.
Start by sending to an engaged segment.A great example of a 30-day engaged segment is illustrated below.
Monitor your sending to adjust to changes and stay at the top of your game
This exact definition of an engaged segment varies by business, but the best practice is to think about your customer base and send to your most engaged customers.
Please note that you should only include the final condition, "OR was added to your Newsletter list in the last 15 days," if you imported your this list over 15 days ago and have been organically collecting new subscribers since then.
Read more aboutbuilding an engaged master list.
Send Great Content
Great content helps ensure strong deliverability. The best email to send from your business is always the email your customers want to read. Put yourself in your customers' shoes when designing your email content.
Check out our email design guide if you need a great resource for learning email design best practices.
Sender Reputation
The various aspects of deliverability combine to form your sender reputation. Managing your sender reputation by monitoring your infrastructure and your sending is the best way to maintain great deliverability.
If you're just starting out sending, focus on sending great content to an engaged segment. This will help you build up a solid reputation in a short amount of time.
If you've already been sending and you're having deliverability issues, check out our guide on improving your sender reputation.
Monitor and Adjust Your Sending
Your business, your customers, and the world of email areever-changing. .
The difficulty with deliverability is that youdon'talways know when your emails have been successfully delivered. Inbox providers use a combination of different metrics to evaluate your emails and, to protect against spammers, these metrics and methods are purposely kept hidden from senders. Because of this, it's important to adhere to sending best practices to ensure that you have great deliverability.
View ArticleYou can find Klaviyos Email Campaigns Trend Report by navigating to theCampaigns tab and clickingOptions > View Email Trends.
improving email open rates
This report allows you to track how your campaigns are performing in the aggregate. This means you can get a big-picture view of how your clicks, open rates, and recipients change over time.
These are the metrics youll see in the report for each campaign:
Total sends, or the number of recipientsyou'vesent to
Opens, or the raw number of opens for a campaign
Open Rate, or the total number of opens divided by the number of delivered emails
Clicks, or the total number of clicksyou'vereceived for a campaign
Click Rate, or the number of clicks divided by the number of delivered emails
Spam Rate, or the total number of spam complaints divided by the total number of delivered emails
Bounce Rate, or the total number of bounced emails divided by the total number of delivered emails
Conversion Rate (Revenue or Placed Order Rate), or the number of conversions attributed to a campaign divided by the number of recipients, as long as youre not using a custom integration that doesnt have a placed order event
Conversion Value (Revenue or Placed Order Value), or the number of conversions attributed to a campaign, as long as youre not using a custom integration that doesnt have a placed order event
Report Filtering
You can filter the report based on a list or segment, email domain (Gmail, Yahoo, etc.), and the number of campaigns (last 5, 20, or 50 campaigns).
List filtering allows you to track the progress of a specific list or segment. For example, you may want to compare a segment of recent purchasers to your newsletter list. This filter is designed to make it easy to compare the performance of lists or segments that you send to regularly.
Analyzing trends by email domain will give you a sense of which domain your most active subscribers are using.
Lastly, you can look at how your past 5, 20, or 50 campaigns have performed. Please note that this metric is the number of campaigns, not days.
You can also click Open Rate, Click Rate, etc. to show or hide graphs.
Open and Click Rates
Open, click, and conversion rates are graphed separately, which allows you to view them alone or in relation to one another. When you hover over a point on the Open and Click Rates graph, youll see the total number of recipients, open rate, click rate, and conversion rate for a particular campaign. Youll also see the send date and time.
You can use this chart to see how differences in your campaigns impact open, click, and conversion rates. For example:
Test sending on certain days of the week -- e.g., do your campaigns sent on Mondays have higher open rates than those sent on Wednesdays?
Test subject line or email content -- e.g., do certain types of emails have higher open or click rates than others?
See how a specific email domain is performing over time -- e.g., are Gmail open rates going up? Does this differ from Yahoo open rates?
Analyze and compare the performance of specific lists -- e.g., are newsletters sent to a weekly recipient list more successful than a daily one?
Test send times -- e.g., do your campaigns sent in the morning have higher open rates than those sent in the afternoon?
Total Opens, Clicks, and Recipients
When you hover over a point on the Total Opens, Clicks, and Recipients graph, you will see the total number of recipients, opens, clicks, and conversion value. Total recipients are on the right axis, while total opens, clicks, and conversions are on the left axis. You will also see the send date and time, along with the list or segment the campaign was sent to if your list is filtered to All. This view allows you to see how your list is growing over time, as well as how your open, click, and conversion rates are changing.
If you have your List filter set to All you will see all different lists displayed based on who you sent a campaign to.
See how open, click, and conversion numbers grow with your list size
See which campaigns are the most lucrative by looking at your conversion value
Spam and Bounce Rates
When you hover over a point on the Spam and Bounce Rates graph, you will see the total number of recipients, the spam complaint rate, and the bounce rate. The axis on the left corresponds with the bounce rate, while the axis on the right corresponds with the spam rate. These numbers should be very low and will give you insight into the quality of your list. Your spam rate should be lower than 0.1% and your bounce rate should be lower than 2%.
Youll also see the date and time the campaign was sent.
View this report on a per-list basis to see which lists may need cleaning
Identify problematic campaigns and reassess the content youre sending
Read more about campaign trend reporting and about on our blog.
View ArticleOverview
A "bounce" is when an email is not delivered or is rejected by the recipient's email server. If your account has a high number of bounces, this can have a negative impact on your deliverability rate. There are two types of bounces:
A hard bounce occurs when the email cannot be delivered due to a permanent reason. This could be caused by a variety of reasons, including a misspelled email or a deliberate block by the email server. Klaviyo automatically suppresses any address that hard bounces.
A soft bounce is always caused by a temporary reason, such as a full inbox or the recipient email server being down momentarily. If an email soft bounces more than 7 consecutive times, Klaviyo will suppress this address.
Why Emails Bounce
There are several possible reasons why an email address may hard or soft bounce:
Email address doesnt existThe contact could have given a false address or made a typo in the address. If you are unsure, you can try correcting the email address and sending a one-off email. If the email still bounces, this address should remainsuppressed.
Email is undeliverableThe email was unable to be delivered due to an error with the server, etc.
Mailbox is fullIf the profile has opened emails from you in the past, they may need to empty their mailbox.
Vacation/Auto-replyThe contact may have set a temporary auto-reply. If there is previous activity in the account, they may need to turn off the auto-reply.
Blocked EmailThe receiving server has blocked the incoming email.
ViewingHard Bounce and Soft Bounce Metrics
To see overall bounces across all campaigns, view the Campaign Trends Report. Additionally, you can use segments to identify addresses that have hard or soft bounced.
Removing Bounced Emails
Klaviyo will automatically suppress emails that hard bounce, and then exclude them from future emails. You can see these emails by clicking the Profiles tab and then clickingSuppressed Profiles. Selectemail bounce from the dropdown.
If an email soft bounces more than 7 consecutive times, Klaviyo will suppress this address.
View ArticleSelect the View & thePerformance Snapshot
When you navigate to the Email Performancetab in your dashboard, you will have the option to filter the timeframe of your view, as well as which conversion metric you'd like to analyze. You can choose to view data from:
A specific month
The last 7 days
The last 30 days
The last 90 days
The last year
Today
one live email Next, you will see a snapshot overview of our account's email performance. Here, you will find the following:
Total Revenue /ConversionsIf your selected conversion metric has a monetary value associated with it, you will see the Total Revenue number associated with this metric over the time range you've specified. If the conversion metric you've selected does not have an associated monetary value (such asActive on Site), you will see a Total Conversions number instead. The numbers here reflect ALL tracked activity in your account. The chart displayed in this snapshot view represents total revenue/conversions, with the percentage attributed to email colored in green. Any gray "unattributed" revenue displayed is from a non-email source.
From EmailThe value you will see here reflects all conversion activity attributed to email. Klaviyo breaks down this From Emailnumber so you can understand how both flows and campaigns are contributing to your overall conversions:
Flows:Here, you can see which percentage of total activity attributed to email is coming from automated flow sending
Campaigns:Here, you can see which percentage of total activity attributed to email is coming from campaign sending
$ / Recipient or Conversion / RecipientIf your selected conversion metric has a monetary value associated with it, you will see the overall $ earned per email recipient here. If the conversion metric you've selected does not have an associated monetary value (such as Active on Site), you will see a number reflecting overall conversions per email recipient over the time range you've specified.
Flow & Campaign Activity Snapshot
Below this snapshot overview, you will see an overview of flow activity. Only flows that currently contain at least will populate here.
If your dashboard view is centered around a conversion metric with an associated monetary value, you will see an Earnedvalue for each live flow, as well as $ / Recipient. If your selected metric does not have a monetary value associated with it (such as Active on Site), you will see a total Conversionsnumber here, as well as Conversion / Recipient.
The final section is an overview of Campaign activity. This view will display the most recent 8sent campaigns from the timeframe you've selected. As with flows, you will see numbers around total revenue earned from each campaign, or conversely the total number of conversions from each campaign, depending on whether your conversion metric is associated with a monetary value or not.
While this view only shows the 8 most recentcampaigns in the time range you've selected, the Performance Snapshotsection at the top of the tab will always show the total attributed revenue/conversions for all campaigns during the selected time range.
View ArticleOverview
Klaviyo's advertising integration with Facebook offers two features:
Sync lists and segments to Facebook as Custom Audiences so that you can advertise to these subscribers, as well as create Lookalike Audiences
Add subscribers who sign up via Facebook Lead Ad Forms to a list (or lists) in Klaviyo
The Facebook integration syncs with Klaviyo every hour.
welcome series flow
Add the Facebook Advertising Integration
Click on the Integrations tab in the left sidebar of your account. Navigate to the All Integrations tab and find Facebook Advertising on the list of available integrations. Then click Add Integration. Click Authorize with Facebook Advertising. This will bring you to Facebook to give Klaviyo the permissions we need to sync your data. After you have gone through this authentication process, you will be brought back into Klaviyo.
If you are working with an agency or if you have multiple people working on your advertising account, only Facebook users with admin permissions will be able to manage lead ads and custom audiences.
Once back in Klaviyo, you will be prompted to choose which Advertising Account you want to connect with. Select your business's Facebook Page, then click Update Facebook Advertising Settings.
If you have trouble setting this up, check out our troubleshooting docs or contact our customer success team.
Sync a List or Segment to a Custom Audience
Once you have enabled Klaviyo's Facebook Advertising integration, you will be able to start syncing existing lists and segments in Klaviyo to Facebook as advertising audiences.
To get started, first go to the Settings page for the list or segment you'd like to sync. Towards the bottom of this page, you will see a Facebook Advertising section. Here, click Choose an audience to sync with.
A list of your existing Facebook custom audiences appears, along with the option to create a new custom audience. Select the custom audience you want to sync your Klaviyo list to.
If you select an existing custom audience and the profiles in your Klaviyo list are not syncing to your Facebook account, test syncing the same Klaviyo list to a new custom audience by clicking the Create new audience... option.
Your list or segment will begin a one-to-one sync with the selected Facebook audience.
When you create a new sync from Klaviyo to Facebook it can take up to 24 hours for the custom audience in Facebook to populate. This is due to a delay in Facebook accepting and processing profiles from Klaviyo.
As profiles are added or removed from your list or segment, they will also be added or removed from that audience on an hourly basis. One thing to note is that only email addresses within Klaviyo that are associated with a Facebook login will be synced, so the size of your audience may not match exactly with the size of your list/segment.
After you've started syncing a list or segment to a given Custom Audience, you can also switch the audience at any time or delete the sync completely.
It's worth noting that because Instagram ads are managed through Facebook, you can also advertise to this audience on Instagram.
Facebook doesn't allow us to sync with audiences that were created from a web pixel, so we won't show those audiences in the list of available audiences when syncing a list in Klaviyo.
Connect Facebook Lead Ads to a List
After selecting a Facebook page from your integrations settings, you are able to sync a Klaviyo list to a Facebook Lead Ad.
Klaviyo's double opt-in feature is not supported for customers filling out lead ads. Any customer that fills out a lead ad you have synced to a list will be added to your account and available to be emailed.
Navigate to the list you would like a specific Lead Ad Form to be funneled to and click Settings. Then, find the Facebook Advertising area and click Choose a lead ad form to connect.
If you don't see the option "Choose a lead ad form to connect" then double check that you have selected a Facebook page from the dropdown on the Integrations > Facebook page of your Klaviyo account.
When you click this link, a popup will appear asking which Lead Ad Form you would like to sync to your list. You can select one or more forms. You can also sync the same form with one or more lists. Lastly, click Update.
When you connect a Facebook Lead Ad to a list in Klaviyo, all future signups will be added to your list. If you want to add contacts that signed up to your lead ad prior to integrating with Klaviyo, you can export the list from Facebook and import the contacts into Klaviyo.
The "Filled Out Lead Ad" Metric
Whenever someone fills out a Lead Ad Form, Klaviyo will track a Filled Out Lead Ad event. A timeline view of all Lead Ad activity can be viewed by navigating to the Activity Feed section of your account's dashboard and filtering by this metic. You can view more detailed analytics around this metric by navigating to the Metrics tab of your account.
You can use the Filled Out Lead Ad event to build segments or trigger/filter flows. For example, you may want to create a welcome series flow for new Facebook leads -- just be sure to filter them out of the list's main welcome series.
The example below shows a flow triggered by the Filled Out Lead Ad metric. This flow also contains a trigger filter that only captures customers who fill out the ad with AdId 1234567.
All new Facebook leads who are added to a Klaviyo list will also have this Filled Out Lead Ad metric attached to their individual profiles. If a profile already exists associate with the lead's email address, Klaviyo won't create a duplicate, but instead will start tracking Facebook Advertising data on the person's existing profile.
Any questions or additional fields on your Lead Ad Form will also sync to Klaviyo for each new lead. These form responses will get recorded as custom properties on the lead's Klaviyo profile.
Best Practices for Custom Audiences
While Facebook has a lot of information about its users (age, gender, location, etc.), you likely have a lot of information about your users, too.
The same segmentation leveraged for targeted emails can be used for targeted ads:
Cart Abandoners: Target customers who started a checkout in the past seven days, but haven't placed an order in the past seven days, with an ad that echos the message or discount you provide in your abandoned cart flow
Winback: Target customers that havent purchased in a while featuring popular/trending items
Re-engage: Target inactive subscribers with a relevant Facebook ad featuring items theyve viewed on your site or featuring a limited time offer promotion
Cross-sell: Target customers who have bought one product (e.g. pants) with a different but complementary product (e.g. shirts)
New Customer: Target those that have visited your site but never purchased to encourage first-time conversions
Cross-Channel: Target those you're already reaching by email with a relevant Facebook ad that reinforces the message and has a similar call-to-action (CTA)
Lookalike: Take a VIP list or segment in Klaviyo and create a Lookalike Audience in Facebook to reach new leads that resemble your best customers
Best Practices for Lead Ads
In Klaviyo, you can create a segment of VIP customers or otherwise engaged subscribers. You can build this segment based on different criteria, such as:
Website Activity: Use Active on Site and Viewed Product metrics to segment frequent site visitors
Purchase Behavior: Use a Placed Order metric, and apply a frequency and/or a timeframe filter, to capture loyal customers (for example, everyone that has placed at least 2 orders in the last 6 weeks)
Lifetime Value: Use the Revenue metric to segment those that have purchased over a certain amount over all time
Sync this VIP segment to a Custom Audience in Facebook. Once you do this, you can create a Lookalike Audience to try to find new customers with similar interests and attributes. Target this audience with the same introductory offer you would run on your website, except in order to receive it, all they need to do is fill out the form attached to your Lead Ad on Facebook.
From here, when these new leads come into Klaviyo through your Lead Ad, you can trigger a targeted to get these new prospective customers to use their offer.
View ArticleOverview
One way to be more targeted with your popups is to only have a popup display after someone clicks a certain button. For example, when someone clicks to view a collection or a certain section of your website.
This guide will explain how to add a popup that displays "on click" of a button.
Trigger a Popup When a Button is Clicked
First, create your popup in Klaviyo and navigate to theBehaviorstab. Here, there are two settings that you will need to edit:
Set the display frequency to 0.
Set the URL targeting to URL contains #signup.
ID of the list
Next, publish the form.
On your website,set the URL on the button that you would like to trigger the form to #signup. When clicked, this will append#signup to the URL -- for example, www.klaviyo.com#signup. This will cause the form to display when someone clicks the button.
Currently, when someone closes the form, they won't be able to open it again until they either refresh the page or navigate to another page and then back. If you would like the form to display every time someone clicks the trigger button, please follow the instructions outlined below.
Trigger a Legacy Popup When a Button is Clicked
When you copy and paste the code snippet for a customized Klaviyo popup form on your website, you're actually pasting two things:
The code for the form
The code to let our JavaScript library know which element on your page represents your sign up form
To configure a popup so that it only appears after a button is clicked, you don't need to adjust your form code. You only need to adjust the method by which the form is called.
To build your own popup, use the HTML below as a starting point. This contains Klaviyo classes to get the same look as a basic Klaviyo popup form:
<div class="klaviyo_modal" id="k_id_modal" style="display:none;">
<div class="klaviyo_inner">
<a rel="noopener,nofollow" target="_blank" href="https://help.klaviyo.com/hc/en-us/articles/115005077007-Trigger-a-Popup-When-a-Button-is-Clicked#" class="klaviyo_close_modal klaviyo_header_close"></a>
<form action="//manage.kmail-lists.com/subscriptions/subscribe" method="POST" novalidate="novalidate" class="klaviyo_subscription_form">
<input type="hidden" name="g" value="LIST_ID">
<div class="klaviyo_fieldset">
<p class="klaviyo_header">Interested in our Newsletter?</p>
<p class="klaviyo_subheader">Stay in the know with news and promotions.</p>
</div>
<div class="klaviyo_fieldset">
<div class="klaviyo_field_group">
<label for="k_id_modal_$email">Email Address</label>
<input type="email" id="k_id_modal_$email" name="email">
<label for="klaviyo_form_first_name">First Name:</label>
<input id="klaviyo_form_first_name" type="text" name="first_name" value="" />
<label for="klaviyo_form_last_name">Last Name:</label>
<input id="klaviyo_form_last_name" type="text" name="last_name" value="" />
</div>
</div>
<div class="klaviyo_fine_print"></div>
<div class="klaviyo_form_actions">
<button type="submit" class="klaviyo_submit_button">
<span>Subscribe</span>
</button>
</div>
<div class="klaviyo_below_submit" ></div>
</form>
<div class="error_message" ></div>
<div class="success_message" ></div>
</div>
</div>
Make sure to replace LIST_ID with the you want new subscribers to sync to. The code above will give you a form that looks like the following:
Next, you will need to add code to trigger this popup with the click of a button. Add the following code snippet right below the form code you've already pasted in:
<script type="text/javascript" src="//www.klaviyo.com/media/js/public/klaviyo_subscribe.js"></script>
<button onclick="KlaviyoSubscribe.attachToModalForm('#k_id_modal',{delay_seconds: 0.01, hide_form_on_success: true, ignore_cookie: true, success_message: false});">Click me</button>
Things to note here:
Yourform will have an ID associated with it that can be found in the first line. Inthe above example, our form ID isk_id_modal. You will notice that in the second snippet, this same ID is referenced as follows:#k_id_modal. This is important to ensure the "on click" functionality added is connected to the right form on your site.
In this example, the button isn't styled and the button text set is "Click me!" -- when you use this on your site, you will probably want to use an existing button. To do this, copy the full "onclick" function used in the example: onclick="KlaviyoSubscribe.attachToModalForm('#k_id_modal',{delay_seconds: 0.01, hide_form_on_success: true});"
View ArticleOverview
This guide explains how to redirect existingsignup forms to point to Klaviyo, orotherwise ensure that all of your future subscribers are added to your Klaviyo account after switching from another email service provider.
If you're using one of our pre-built ecommerce integrations, like Shopify or BigCommerce, ecommerce platform-specific forms are synced automatically through the integration. Review the integration settings for your ecommerce platform to confirm these subscribers are automatically synced.
Additionally, Klaviyo offerspopup, flyout, and embedded forms that come free with your Klaviyo account. Check out this guide to installing Klaviyo Signup forms.
As you consider importing contacts and connecting signup forms to Klaviyo, keep in mind that maintaining one primary newsletter list will make it easy to later manage and communicate with your contacts efficiently. The segment builder allows you to create dynamic segments of your lists thatdon'trequire any maintenance.
Redirect Existing Signup Forms
If you already have different signup forms on your website, you'll need to make sure that subscribers using these forms end up in Klaviyo. To start, consider the following:
list of available integrations
Redirecting a Custom Form to Klaviyo
If you're migrating over from Mailchimp, you will not be able to redirect existing forms to Klaviyo. Instead, leverage Klaviyo's native Signup Form Builder to create your forms.
If you've configured a custom form, this form likely has a Form Action URL that tells the form where to send new subscribers' email addresses. You will need to simply change this URL to the subscribe page URL for your Klaviyo list. To find this URL, navigate to theSubscribe Pagestab for the particular list.
Generally speaking, the form should have the following properties:
<form id="email_signup" action="//manage.kmail-lists.com/subscriptions/subscribe" method="POST">
<input type="hidden" name="g" value="LIST_ID_HERE">
<input type="email" value="" name="email" id="k_id_email" placeholder="Your email" />
OTHER_FORM_CONTENT_HERE
<button type="submit">Subscribe</button>
</form>
<script type="text/javascript" src="//www.klaviyo.com/media/js/public/klaviyo_subscribe.js"></script>
Using a Third-Party Tool
Klaviyo integrates with a number of third-party list growth and landing page tools. Scan our to find yours. If you don't see your tool of choice on our list, we strongly encourage you to reach out to ask them to integrate with us.
View ArticleOverview
Once you enableKlaviyo'sShopify integration, it's important to fully understand the data that will begin to sync from Shopify to Klaviyo.
Navigate to the Metrics tab fromthe left-hand navigation sidebar, where you can view all of the metrics in your account. The metrics with a Shopify icon represent all of the metrics syncedfrom your Shopify integration. You can filter this view to see only Shopify metrics by using the filter selector in the upper right-hand corner. account page
The Shopify Metrics
Below is a list of all the metrics synced from Shopify and an explanation of the data included along with each metric.If you are interested in learning how to review the raw metric data that gets synced to Klaviyo, check out this guide.
Checkout Started
This event is tracked when a customer enters his/her contact and shipping information on the first page of the Shopify checkout process and clicks continue. The event that Klaviyo tracks includes all of the product information about the items in someone's cart including product names, images, and variant information so you can use this information in your abandoned cart emails.
This event syncs with a checkout URL property, which links back to each customers unique cart. If someone opens an abandoned cart email from a new device, this link willrebuild the person's cart when clicked through. You can filter and target Checkout Started events based on the following criteria:
$value: The total value of the cart at time of started checkout.This may include any line prices, taxes, shipping costs, tips, and discounts.
Items:The names of the products in someone's order, e.g.,t-shirtorpants
Collections:The complete set of the collections of the products in someone's order, e.g.,t-shirts, men's, pantsandsale
Item Count:The number of items in the order, e.g.,2
Discount Codes:Any discount or coupon codes someone used towardsthe order, e.g.,SPRING2015
Total Discounts:The total amount of any coupons or discounts if someone used code, e.g.,10.00
If there is billing address information available, we will also capture all relevant address details.If there is a referring site captured by Shopify, we will sync this as well.
Placed Order
This event is tracked when a customer completes the checkout process and creates an order in your Shopify store. The event Klaviyo tracks includes all of the product information about the items someone purchased including product names, images and variant information so you can use that information in purchase follow up emails. You can filter and target Placed Order events based on the following criteria:
$value:The total value of the placed order, inclusive of shipping and any applied discounts
Items: The names of the products in someone's order, e.g., t-shirtor pants
Collections:The complete set of the collections of the products in someone's order, e.g., t-shirts, mens, pants, andsale
Item Count: The number of items in the order, e.g., 2
Discount Codes: Any discount or coupon codes someone used towardsthe order, e.g., SPRING2015;while this isn't synced as a specific metric, there will be aDiscount Codes property for each order that will allow you to see who purchased using particular codes.
Total Discounts:The total amount of any coupons or discounts if someone used a code, e.g., 10.00
Source Name:POS, Mobile etc.
Revenue, orPlaced Order value, is calculated as follows: (sub-total + shipping) - any discounts.
You may see that theRevenuevalue on your Klaviyo dashboard does not always match up with the revenue value you see in Shopify; this is because Shopify subtracts canceled and refunded orders from their revenue calculation, while Klaviyo does not.
Note
Placed Order and Ordered Product events are synced to Klaviyo seconds apart. For this reason, it is important to be consistent with the metric you use to trigger and filter your flows and segments. For example, if your flow is triggered by the Placed Order event and you add a filter to exclude anyone who Ordered Product since starting the flow, all recipients will be skipped because the two events are separate, but sync seconds apart. As a best practice, use the Placed Order event to trigger and filter flows and segments.
Ordered Product
This event is also tracked when a customer places an order, but a separate event is tracked for each item someone purchases. For example, if someone buys a t-shirt and a pair of pants, one Placed Order event will be tracked along with two Ordered Product events -- one Placed Order event for the purchase as a whole, and then one Ordered Productevent for the t-shirt and one Ordered Productevent for the pants.
The events Klaviyo tracks includes detailed information about each product someone purchases. This is useful when creating behavioral segments based on product variant options and other detailed information that's not available in the Placed Order event. You can filter and target Ordered Product events based on the following criteria:
$value:The total value of the item purchased; no shipping costs or discounts included
Name: The name or title of the ordered product in Shopify, e.g., t-shirt
Variant Name:The name or title of the product variant in Shopify, e.g., red, size medium t-shirt
SKU: The SKU of the product variant, e.g., REDMEDIUMTSHIRT
ProductID: The ID associated with the product in your store
Quantity:The total quantity ordered of the product
Collections: The complete set of collections or categories applied tothe product, e.g., t-shirts, men's andsale
Tags:Any tags applied to the product in your store
Variant Option: <OptionName>: the name and value of any variant options for the variant ordered, e.g.,Variant Option: Sizewould be Medium and Variant Option: Colorwould beRed
Attribute: <AttributeName>: the name and value of any product attributes for the product ordered, e.g.,Attribute: Season would be Spring
Fulfilled Order
This event is tracked when an order is marked as "fulfilled" in your Shopify store. Klaviyo will track aFulfilled Order event specifically whenwesync an orderwith a Fulfillment Status of "fulfilled."
The event Klaviyo tracks includes allproduct information regarding the items someone purchased including product names andimages so you can use that information in purchase follow up emails. You can filter and target Fulfilled Order events based on the following criteria:
$value:The total value of the fulfilled order
Items:The names of the products in someone's order, e.g.,t-shirtorpants
Collections:The complete set of the collections of the products in someone's order, e.g.,t-shirts, men's, pants,andsale
Item Count:The number of items in the order, e.g.,2
Discount Codes:Any discount or coupon codes someone used towardsthe order, e.g.,SPRING2015
Total Discounts:The total amount of any coupons or discounts if someone used a code, e.g.,10.00
Canceled Order
This event is tracked when a customer creates an order in your Shopify store but then cancels the order before fulfillment. The event Klaviyo tracks includes all of the product information about the items someone purchased including product names and images. You can filter and target Canceled Order events based on the following criteria:
$value:The total value of the canceled order
Items:The names of the products in someone's order, e.g.,t-shirtorpants
Collections:The complete set of the collections of the products in someone's order, e.g.,t-shirts, men's, pantsandsale
Item Count:The number of items in the order, e.g.,2
Discount Codes:Any discount or coupon codes someone used towardsthe order, e.g.,SPRING2015
Total Discounts:The total amount of any coupons or discounts if someone used a code, e.g.,10.00
Refunded Order
This event is tracked when a customer completes the checkout process in your Shopify store and a payment is made, but the customer requests the payment to be returned. Klaviyo only receives events from fully refunded orders (not partially refunded orders). The event Klaviyo tracks includes all of the product information about the items someone purchased including product names, images, and variant information. You can filter and target Refunded Order events based on the following criteria:
$value:The total value of the refunded order
Items:The names of the products in someone's order, e.g.,t-shirtorpants
Collections:The complete set of the collections of the products in someone's order, e.g.,t-shirts, men's, pantsandsale
Item Count:The number of items in the order, e.g.,2
Discount Codes:Any discount or coupon codes someone used towardsthe order, e.g.,SPRING2015
Total Discounts:The total amount of any coupons or discounts if someone used a code, e.g.,10.00
Synced Customer Data
In addition to the metrics Klaviyo syncs from Shopify, Klaviyo will also create a unique profile for every customer that we sync. When we sync contact information, there are also certain custom properties that may get added to each Klaviyo Profile. You can use these properties in segments and in flows. Here are the properties that are automatically synced from Shopify:
Email, First and Last Name, City, State/Region, Zip Code, Country, Phone Number:These built-in Klaviyo fields are automatically populated with all available data from Shopify
Accepts Marketing: Whether or not a customer has opted-in to receivemarketing, e.g., True/False
Shopify Tags: Any custom tags assigned to that customer in Shopify, e.g., Wholesale or VIP
Frequency of the Shopify Sync
Metrics and profile properties from Shopify are synced in real-time. You should see event data appear in your Klaviyo account within a few seconds of when the event is tracked in your Shopify store.
Because we sync all metricsin real-time, any tags -- such as Order Tags -- that might be added to an orderafterit is processed will not sync into Klaviyo. Klaviyo does not re-sync metrics after the initial event takes place, so no tags or adjustments made to an order after-the-fact will be updated in Klaviyo.
Verifyyour Order Data
Klaviyo imports all of your Shopify data. To verify this, you can compare the number of orders on a particular day with what's in the Shopify interface and confirm they match. Click on theMetricstab, find the Placed Order metric, and click on it. This will take you to the metric's reportingpage and show the last 30 days of data by default.
Hover over yesterday's data point or look in the table of data below the chart to see how many orders you had yesterday. Compare that number to what's stored in Shopify and you should see them match exactly. If they don't, the most likely issue is your Klaviyo account's timezone doesn't match Shopify's timezone. To check your timezone setting, go to your, then click the Organization tab at the top.
View ArticleOverview
Once you're sending regular campaigns and have active flows, your dashboard will provide a helpful summary of your account's activity. When you log into Klaviyo, you'll be brought to the dashboardautomatically, but you can also navigate there any timeby clickingDashboardin theleft-hand navigation menu.
customizing your Analytics tab
Objectives
The Objectives tab presents you with a customized list of onboarding tasks and ideas to help you get started growing with Klaviyo. Review these cards if you're not sure where to start, and if you see something you don't need, just click the X to remove it from your list.
Email Performance
The Email Performance tab of the dashboard has three main sections:
A high-level snapshotof your overall email performance
Snapshot of flow email performance
Snapshot of campaign email performance
This area of your dashboard focuses on conversion activity. To learn more about the Email Performance tab, click here.
Analytics
TheAnalyticstab allows you to create any number of configurable views, each with metric cards that you can drag-and-drop. This is usefulfor organizational purposes or if you have several members on your team who would like to create their own views. For example, you may want to separate your email, revenue, and active on site data.
Check out our article on for more information on best practices for tracking metrics.
Lists & Segments
This section of your dashboard will feature all starred lists and segments.
To add a star to a list or segment, navigate to your account'sLists & Segmentstab. Here, you will see a small star icon to the right of each list/segment name.
Activity Feed
The activity feed is a live feed of all metrics flowing into your Klaviyo account. You can filter this feed by metric.
View ArticleFind Your List ID
To find the list ID for an existing Klaviyo list, navigate to theLists & Segmentstab of your account and click on a particular list.
Then, navigate to theSettings tab in your account. Here, you can find a list's ID.Every list has a unique ID, as does every user, flow, campaign, etc.
Create Customer Engagement Tiers
Additionally, you can find a list's ID in the URL in your browser when viewing this list. In the URL, you will find a short series of numbers and letters -- this is the list ID.
Switching Sign Up Forms from One List to Another
You will need to know a list's ID when you're connecting a sign up form. If you use Klaviyo's sign up form builder, the code that automatically populates includes the correct list ID.
If you delete a listor want to adjust a sign up form so that it adds subscribers to a different list, you will have to locate the list ID in the form code and swap it out.
Additional Resources
Guide to Creating Segments
View ArticleOverview
Allowing your subscribers to choose how often they hear from you is a great way to maintain engagement and reduce unsubscribes. If you come on too strong and send to your subscribers very frequently, you risk having new signups unsubscribe right off the bat. If you provide different email frequency preferences, you can preemptively set expectations and provide more relevant content.
Add Frequency Options to Your Newsletter List's Subscribe Page
The first step to segmenting your newsletter list based on frequency preferences is allowing your subscribers to choose how often they hear from you. To do this, you must add additional fields to your newsletter list's main subscribe page. These fields will then be directly reflected on the list's manage preferences page, too.
When someone signs up or chooses to edit their preferences, a custom property will be added to or changed on their contact profile.
Guide to Developing a Content Calendar
First, add radio buttons to your subscribe page with the frequency preferences you would like to provide. For example, these could be daily, weekly, and monthly. Be sure to select radio buttons so that subscribers can only select a single option.
The Labelis the text that will appear on your subscribe and manage preferences pages.TheField Property is the custom property you will be using to build your segments later on. For example, if someone selects the "Weekly" frequency, a custom property where the valueFrequencyequalsWeekly will be added to their profile.
While you cannot edit the fields on a manage preferences page, these options will be reflected from the subscribe page.
After setting up your subscribe page, you can also ask for email frequency preferences in-email using buttons.
Build Email Frequency Segments
Once you collect this information from you subscribers, you can build the segments to include/exclude in your campaign sends. If you make frequency preferences optional, you will need to have a default sending cadence in case a subscriber does not choose any of the options provided. It is usually best to make this amiddle ground rather than start sending your subscribers daily emails off the bat.
Daily
Weekly
Monthly
Subscribers Whose Email Frequency Preference is Not Set
If you make email frequency preferences optional, you will have some people on your newsletter list whose email frequencyis not set. It is important that you do not forget to message these subscribers. To get a count of how many people this is, you can build a segment using the conditions:
You can email these subscribers by building a campaign for your newsletter list and excluding your Daily, Weekly, and Monthly segments.
Then, you can build campaigns for your Daily, Weekly, and Monthly segments and send to them as you normally would.
The content that you send to each of these segments should vary. For example, weekly newsletters can be a digest of any new product releases, etc. that have happened over the course of the week, while daily updates can highlight any sales or promotions you're running. Monthly newsletters should be longer and carefully curatedsince you don't communicate with these subscribers very often.
Want to learn more about content strategy? Check out our for more information!
View ArticleOverview
Klaviyo's built-in campaign reporting includes the basics of delivery rate and data around opens/clicks, but that's just the start. The real value comes from tracking what happens after someone opened or clicked your email: website activity, checkouts started, and revenue that is directly attributable to your email.
View General Campaign Analytics
Navigate to your account's Campaigns tab and you'll see a list of all the campaigns you've created and sent.
Learn more about the Activity Map for sent campaigns.
For sent campaigns, open and click rates are accessible right on this front page.
The far right column displays data around an adjustable conversion metric. You can update it by clicking the icon beside the conversion metric and selecting a new metric. This allows you to get a comprehensive understanding of how your campaign performed across a number of different metrics by toggling in real-time.
The Placed Order metric in Klaviyo is always customizable. Some example use cases include seeing how many:
Purchases occurred as a direct result of an email
People viewed at least one product page
People started a checkout after receiving your email
Export Campaign Analytics
You can export your campaign data into CSV format.You can also access exports from the last 30 days by navigating to the Downloadstab from yourAccount Page.
Click the Export Analytics button at the top of the page.
Complete the wizard by selecting the following options:
Adjust the Time Range of the export (or select All Sent Campaigns)
Adjust the Tag you'd like to export (or select All Tags)
Choose to include all email variations in your export (your file will break out analytics for all A/B tested campaigns by variation)
Click the Export Analytics button to begin your export. Theexport will download in your browser once finished.
Individual Campaign Activity Overview
When you click on any sent campaign, you'll be taken to a page with more detailed analytics for that individual campaign.
The graph at the top of the page shows hourly engagement for the first 48 hours after your campaign was sent. You can toggle on/off the different metrics that populate this graph, choosing from Delivered, Opened, Clicked, and then a Conversion Metric of your choice.
The conversion metric you see here can be adjusted -- the same way it can be adjusted when viewing front page analytics. To change the conversion metric in this view, just click on the metric itself and you will see a change menu pop up.
The lefthand area below the graph has summary information for your campaign. This information shows:
SubjectThe subject line of the campaign
From / Reply-ToThe from/reply-to email set for the campaign
Sent ToName of the campaign's target list/segment and total number of recipients
Sent OnThe date/time the campaign was sent
People SkippedThis section displays the number of people that were "Skipped" by the campaign send, grouping people into key buckets based on why they were skipped; for example, if your campaign had Smart Sending enabled, this section will show how many people were skipped because they had received another email too recently
The key metrics area below the graph shows more detail about how recipients engaged with your campaign.
Opens and ClicksThe Opened and Clicked data you see directly under the graph represents unique opens and clicks, whereas the Total Opens and Total Clicks data you see below this middle section represents all opens/clicks recorded. These numbers will likely be different.
Conversion MetricBelow the section with Opened and Clicked data, you will see a star icon that represents a configurable conversion metric -- you can change this metric by clicking on it and using the menu that pops up; the metric you select will also determine the data that populates next to it.
Spam ComplaintsThe Overview campaign report will always show the percentage of spam complaints received; this number does not represent the percentage of emails that went to Spam, but rather what percentage of people marked the email as spam after receiving it in their primary inbox.
Successful Deliveries and BouncesIf you notice that your Successful Delivery rate drops below 99%, and your bounce rate is increasing above 1%, this suggests it is probably time to clean your lists !
Conversion Tracking
By default, conversions for each campaign are tracked up to five days after an email is sent; you can adjust this conversion period for your account by navigating to theAccount > Settings > Email Settingspage and scrolling to theEmail Conversions & Smart Sending section.
We associate opens/clicks/revenue with the date the email was sent; if someone was sent a campaign email on Aug. 1, opened and clicked on it on Aug. 2, then made a purchase on Aug. 3, we'd associate the open, click, and purchase with Aug. 1.
Review Recipient Activity
The Recipient Activity tab contains data about how each recipient has engaged with your campaign.
Recipient Activity data can be exported by clickingExport CSV.
The Recipient Activity data available here includes:
RecipientsEvery person who has received the email in their inbox
OpenedPeople who have opened the email at least once
ClickedPeople who have clicked a link inside the email
Select Other to view additional data:
UnsubscribedPeople who unsubscribed through the unsubscribe link in your email
Marked as SpamPeople who have marked this email as spam after receiving it
BouncedWhen trying to send to these people, we received a delivery failure notification
SkippedThe "Skipped" section will include buckets for each reason people may have been skipped, such as: "Person is no longer in list", "Smart Sending", or "Person is Suppressed"
Review Link Activity
The Link Activity tab contains analytics for the links tracked in your campaign email.
Klaviyo tracks who has clicked a link in the email, how many times they've clicked, and how many times the links have been clicked overall. Below these analytics is a list of the top 25 links in each campaign, including the unique and total clicks. You can toggle between a table view and a visual view of the clicks in the campaign.
In theUTM Parameterssection, you will see all of the UTM parameters and values that were tracked for the campaign. This will only include any campaign-level settings, not any UTM parameters that were manually set.
Tracking Links
The Link Activity report will only record clicks to unique URLs. If you have several elements in your email that link to the same URL, you will not be able to tell which element got clicked the most.
If you'd like to differentiate between elements that link to the same location, you can add identifying URL parameters to your links in your email. For example, instead of having a button and an image both link to www.example.com, you could have:
www.example.com/?link=button
and
www.example.com/?link=image
Both of the links would still go to the same place, but they will be tracked separately in the Link Activity report.
Review Conversion Activity and Advanced Reporting
The Conversion Activity tab allows you to filter your revenue conversions by product name, SKU, or by collection. The filtered view will then display the number of conversions as well as the total conversion value. This tab is helpful if you're curious about how your revenue conversions break down across your product catalog.
Advanced Reports
Klaviyo's Advanced Reports tab features three main sections, and the advanced analytics you find here can be very useful as you refine your overall email marketing strategy:
Performance by Email Domain The domain of an email address is what comes after the @ (i.e., "[email protected]"); if you are noticing general email deliverability issues, this advanced report can help you determine if these issues can be isolated to a specific email domain
Performance by Email Client Here, you can gain insight into how your recipients are consuming your email -- we report the percentage of emails viewed on desktop vs. mobile, as well as provide a detailed breakdown of performance for each desktop and mobile client; if your audience is mainly viewing your email on mobile, optimizing your templates for mobile viewing should become a priority
Performance by Country This section can help you better understand your contact base; paying attention to the performance breakdown by country can help you optimize send times and messaging for your primary audience
The Activity Map
You can also use the Activity Map to view campaign metrics as they unfold.
View Articlean email within a flow
Overview
Custom properties are fields that you can use to gather information about the contacts in your account. Here are several examples of how you might use custom properties:
To collect additional information about your contacts, such as gender, size, coupon code, etc.
To collect contacts' preferences, such as email frequency, type of content, etc.
To collect contacts' responses to a questionnaire
You can collect virtually any type of information you'd like about a contact using custom properties, and then later use this information to tailor content or filter segments/flows. There is no limit to the number of custom properties that can be added to one profile.
How to Add a Custom Property to a Profile
There are three main ways custom properties are added to a contact's profile:
You add this information yourself
You ask contacts to provide this information
The properties are synced through an integration
Add a Custom Property Yourself
When uploading a list, any column after the "Email" column can be used to attach a custom property to a profile. For example, you could have a "Gender" column that corresponds with a contact's gender. Additional points to keep in mind are:
Any new value/column that you include in a CSV upload that does not already exist on a contact's profile will be added as a new custom property
Any value/column that you include in a CSV upload that already exists on a contact's profile will be overwritten in the most recent upload
Any new value/column that you include in a CSV upload that does not already exist on a contact's profile will not affect existing custom properties
Learn more
Learn more about how to add custom properties to an import file.
You can also add custom properties directly to a contact's profile. First, select the profile you would like to add a custom property to. Then, navigate to the bottom of the page and find theInformationsection. Here, you will see an area labeledCustom Properties, with an option toAdd. Click this and add the custom property you would like.
Ask Contacts to Provide Information That is Collected as a Custom Property
You can collect custom properties straight from your subscribers when they sign up using a subscribe page, sign up form, or third-party list growth integration. You can also collect custom properties from existing subscribers using a manage preferences page, or by asking customers for information within your emails.
Collect custom properties with a sign up form
Collect custom properties with a subscribe or manage preferences page
Collect custom properties by asking for information in your emails
Any additional fields you add to a subscribe page or sign up form will be collected as custom properties. You can even use these methods as a sort of questionnaire if you would like to filter segments or flows by the responses you receive. If people update a custom property on a manage preferences page, this change will be reflected on their profile and their original property will be overwritten.
Custom Properties Synced Through Integrations
If you have any active integrations, these may also sync a number of specific custom properties. For example, the Shopify integration syncs an "Accepts Marketing" custom property. For more information on the custom properties that are synced through your integrations, please refer to the integration documentation.
How to Use Custom Properties
You can use custom properties to segment your audience, filter flows, and include dynamic content within emails. Once you've created a custom property, you will see it populate in the segment builder when you selectProperties about someone. If at least one contact has a certain custom property, you will see it auto-populate in the drop-down menu. Likewise, this will happen when you add filters to a flow or .
You can also dynamically populate your emails with a custom property by using the "lookup" filter:
Your gender is: {{ person|lookup:'Gender' }}
Your gender is: Female
Custom Properties vs. Special Properties
Klaviyo also automatically records a number of "special" properties, which are different from custom properties. These can be identified by a "$" prefix and include:
$email: email address and the unique identifier for a profile
$first_name: first name
$last_name: last name
$address1: address line 1
$address2: address line 2
$city: city they live in
$region: region or state they live in
$country: country they live in
$zip: postal code where they live
$image: url to a photo of the person
$latitude: latitude
$longitude: longitude
$organization: business or organization they belong to
$phone_number: phone number
$source: where a contact came from
$timezone: time zone
$title: title at their business or organization
If you would like to manually input one of the above values for a list, follow the same process as adding a custom property. Create an additional column and put the name of the special property in the first row. For example, if you would like to input a value for subscribers' home city, you would title the column "$city" and then fill in the values for each subscriber.
In order to import a special property, youmust put a "$"before theproperty name. Otherwise, the property will be recorded as a custom property instead. The only exceptions to this rule are "First Name," "Last Name," and "Email."
View ArticleOverview
GDPR stands for the General Data Protection Regulation. Its a law enacted by the European Commission in 2016 that went into effect on May 25, 2018. Its designed to protect the privacy of all EU citizens, including when those citizens engage with businesses located outside the European Union, by imposing regulations around personal data. For more information on GDPR, check out our blog series.
Because GDPR requires informed and freely given consent before you can send marketing emails to a given contact, having GDPR compliant signup forms is critical. While we still recommend you contact legal counsel to review the language relayed on your forms, Klaviyo provides built-in GDPR compliant forms as a starting point.
If you have an existing list that you would like to import into Klaviyo and you have already collected consent, check out our guide to applying consent properties to an existing list.
The information provided here is intended to be educational and should not be construed as legal advice. Klaviyo encourages all of our customers -- and all ecommerce merchants -- to seek legal advice for counsel on how they specifically should ensure that they are GDPR compliant.
Use a GDPR Compliant Form
After you install Klaviyo signup forms on your site, you will have the option to start building forms within the form editor in theSignup Forms tab in your account. When you create a new form, you can selectEnable GDPR Fields.This will ensure that the default template includes GDPR compliant language.
Article 7
You can edit the language of this form or add additional fields using checkboxes to suit your needs. Bear in mind that GDPR requires granular consent, which means that subscribers must have the option to subscribe to some, but not all, types of marketing. For example, a subscriber may want to receive emails from you, but not be retargeted by your business on social media. Using checkboxes allows subscribers to choose as many or as few types of marketing they would like to receive from you.
Any value that a subscriber selects will be stored as a$consentproperty on their Klaviyo profile. Consent is recorded as a list data type, and as such may contain any number of values.
Once you have your form styled to suit your needs, you can publish it on your site to ensure that, going forward, you are collecting email addresses in a GDPR compliant fashion.
Additionally, you may choose to only show this form to browsers who are located in the EU. Or, as an alternative, you may only choose to display your existing signup form to browsers who arenot in the EU. You can do this by navigating toBehaviors > Targeting > By Location. Here, you can specify where to show/hide a form to browsers in specific locations. Klaviyo determines a browser's location using their IP address.
Use a GDPR Compliant Embedded Form
In addition to a popup or flyout form, you may want to include a GDPR compliant embedded form on your site. You can do this by creating a GDPR compliant embedded form in the Klaviyo Signup Form Builder, as outlined above.
Alternatively, you can copy the code provided below and install it on your site. Note that you must replace eachLIST_ID valuewith your newsletter list's ID to ensure that contacts are added to the list. Learn more about how to find the ID for a given list.
<form id="email_signup" class="klaviyo_styling klaviyo_gdpr_embed_LIST_ID" action="//manage.kmail-lists.com/subscriptions/subscribe" data-ajax-submit="//manage.kmail-
lists.com/ajax/subscriptions/subscribe" method="GET"
target="_blank" novalidate="novalidate">
<input type="hidden" name="g" value="LIST_ID">
<input type="hidden" name="$fields" value="$consent">
<input type="hidden" name="$list_fields" value="$consent">
<div class="klaviyo_field_group">
<label for="k_id_email">Newsletter Sign Up</label>
<input class="" type="email" value="" name="email" id="k_id_email" placeholder="Your email"/>
<div class="klaviyo_field_group klaviyo_form_actions">
<div class="klaviyo_helptext"> How would you like to hear from us? (please select at least one option) </div>
<input type="checkbox" name="$consent" id="consent-email" value="email">
<label for="consent-email" >Email</label><br>
<input type="checkbox" name="$consent" id="consent-web" value="web" >
<label for="consent-web">Online advertisements</label>
<div class="klaviyo_helptext klaviyo_gdpr_text"> We use email and targeted online advertising to send you product and services updates, promotional offers and other marketing communications based on the information we collect about you, such as your email address, general location, and purchase and website browsing history. <br>
<br>
We process your personal data as stated in our Privacy Policy {Insert privacy policy link}. You may withdraw your consent or manage your preferences at any time by clicking the unsubscribe link at the bottom of any of our marketing emails, or by emailing us at {insert customer support email address}.</div>
</div>
</div>
</div>
<div class="klaviyo_messages">
<div class="success_message" style="display:none;"></div>
<div class="error_message" style="display:none;"></div>
</div> <div class="klaviyo_form_actions">
<button type="submit" class="klaviyo_submit_button">Subscribe</button> </div>
</form><style type="text/css">
.klaviyo_styling.klaviyo_gdpr_embed_LIST_ID,
.klaviyo_condensed_styling.klaviyo_gdpr_embed_LIST_ID {
font-family: "Helvetica Neue", Arial;
}.klaviyo_styling.klaviyo_gdpr_embed_LIST_ID .klaviyo_helptext,
.klaviyo_condensed_styling.klaviyo_gdpr_embed_LIST_ID .klaviyo_helptext {
font-family: "Helvetica Neue", Arial;
padding-top: 10px; padding-bottom: 10px;
}.klaviyo_styling.klaviyo_gdpr_embed_LIST_ID .klaviyo_gdpr_text,
.klaviyo_condensed_styling.klaviyo_gdpr_embed_LIST_ID .klaviyo_gdpr_text {
font-size: 14px;
line-height: 1.3;
}
.klaviyo_styling.klaviyo_gdpr_embed_LIST_ID label,
.klaviyo_condensed_styling.klaviyo_gdpr_embed_LIST_ID label {
color:#222;
}
.klaviyo_styling .klaviyo_field_group .klaviyo_form_actions {
text-align:left;
}
.klaviyo_styling.klaviyo_gdpr_embed_LIST_ID input[type=checkbox] + label,
.klaviyo_condensed_styling.klaviyo_gdpr_embed_LIST_ID input[type=checkbox] + label {
display: inline;
font-weight:normal;
padding-left:5px;
}.klaviyo_styling.klaviyo_gdpr_embed_LIST_ID input[type=text],
.klaviyo_styling.klaviyo_gdpr_embed_LIST_ID input[type=email],
.klaviyo_condensed_styling.klaviyo_gdpr_embed_LIST_ID input[type=text],
.klaviyo_condensed_styling.klaviyo_gdpr_embed_LIST_ID input[type=email] {
border-radius: 2px;
}.klaviyo_styling.klaviyo_gdpr_embed_LIST_ID .klaviyo_submit_button,
.klaviyo_condensed_styling.klaviyo_gdpr_embed_LIST_ID .klaviyo_submit_button {
background-color:#0064cd;
border-radius: 2px;
}.klaviyo_styling.klaviyo_gdpr_embed_LIST_ID .klaviyo_submit_button:hover,
.klaviyo_condensed_styling.klaviyo_gdpr_embed_LIST_ID .klaviyo_submit_button:hover {
background-color:#0064cd;
}
</style>
<script type="text/javascript" src="//www.klaviyo.com/media/js/public/klaviyo_subscribe.js"></script>
<script type="text/javascript">
KlaviyoSubscribe.attachToForms('#email_signup', {
hide_form_on_success: true,
extra_properties: {
$source: '$embed',
$method_type: "Klaviyo Form",
$method_id: 'embed',
$consent_version: 'Embed default text'
}
});
</script>
How Consent is Stored in Klaviyo
When subscribers submit their consent through a form, Klaviyo stores several key custom properties on their profile:
$consentThis identifies which types of consent a subscriber has given. Consent is stored as a list array and may contain several properties, like email and web. There are five supported values for consent, which correspond to different methods you can use for marketing to your subscribers:
Value to include
When to use
"email"
When a person opts-in to marketing email content
"web"
When a person opts-in to on-site targeted content
"mobile"
When a person opts-in to mobile push
"sms"
When a person opts-in to SMS
"directmail"
When a person opts-in to direct mail
Form IDThis is the unique form ID that allows you to identify the specific form someone used to opt-in. Every form created in Klaviyo has a unique ID, which can be found in the URL of the form as a six-digit alphanumeric code.
MethodThis identifies the method that a subscriber used to opt-in. If you are using a Klaviyo signup form as outlined above, this will read "Klaviyo Form."
Form VersionThis identifies the iteration of the form that a particular subscriber saw. Klaviyo keeps a record of the exact text and language that was used for each version of a form you create, which you can request from support if necessary. For example, if you see "2" as the consent version, this means that the subscriber signed up to the second variation you made of the form.
TimestampThis is a timestamp recording precisely when they submitted the form and granted consent.
Handling Requests for Data or Deletion
Under GDPR, you are required to provide a contact with all of their user data if they request it. Additionally, if a contact requests that their data is deleted, you must keep a record of this deletion to prove that the request was met.
Check out our guide on Handling GDPR Requests for specific instructions.
Build a Segment of EU Contacts
To isolate a group of contacts in your account that are in the EU, create a segment with the following conditions:
Filter EU Contacts Out of Flows
For any non-transactional flows, you will want to add a filter to only include those who have given email consent or are not in the EU.
Some common flows that will require this filter are:
Browse abandonment
Winback
Upsell
Cross-sell
Product review
For more information on the difference between transactional and non-transactional flows, check out this guide. The one exception to this list may be abandoned cart emails. There is a prevailing view in the industry that you can still send abandoned cart emails under basis of legitimate interest because you can consider an abandoned cart email a communication relevant to the explicit intent to complete a transaction with your business.
That said, you need to be able to defend the notion of legitimate interest in order to use it as a lawful basis and ifyou'vesent someone 100 emails about an item they added to their cart 30 days ago, your abandoned cart series is indefensible. We strongly recommend you stick withan abandoned cart series of no more than 2-3 emails.
Suppressing EU Contacts Who Do Not Provide Consent
Anyone in your EU subscriber segment who did not opt into a re-permissioning campaign by May 25, 2018 should be suppressed in your account to prevent you from accidentally emailing them. To ensure that you've filtered out any subscribers who provided consent, add the following condition to the EU segment outlined above.
Suppress this segment to ensure that youdon'tinadvertently email these contacts. If they later decide that they want to opt back in, they can resubscribe.
Best Practices
Once you have a GDPR compliant signup framework in place, you can use segmentation and flow filters to ensure you only send to profiles who have consented to receive marketing emails. The condition below outlines the filter that you would add to ensure that the group you're targeting has consented to receive emails.
In order to maintain your GDPR compliance, youll also want to adhere to the following best practices:
Display links to your Privacy Policy, Terms of Service, and cookie policy in all of your emails.
Use double opt-in.
Understand what consent means:
Freely given. In other words, youcan'tmislead or force someone into letting you use their information. They must be given a legitimate choice -- and youcan'twithhold a service or transaction on the basis of consent if that consent is not integral to the service or transaction.
Specific. Consent to process personal data must include details around both the purpose of the processing and the type of processing.
Informed. Closely tied to the idea of specific consent, informed consent simply means that the individual data subject must be told how their data is going to be used, the specific purpose their data is being used for,and the type of data processing you are using.
Unambiguous. To go one step further, consent under GDPR must be obtained through clear language and indicated through affirmative action on the part of the data subject.
Easy to withdraw. Though not called out in the definition of consent upfront, of the GDPR goes on to specify that consent must be as easy to withdraw as it is to grant.
View ArticleSegmentation in Klaviyo
Segmentation is one of the most important aspects of your Klaviyo account. Not only can you get extremely granular with your data, but segmentation happens fast, allowing you to get back to your data-driven marketing.
Not sure where to get started with segments? Check out our guide on Guide to Creating Segments.
What is a segment?
Unlike a traditional subscriber list, segments are defined by a set of conditions. For example, a segment could include everyone who's ever purchased, visited your website last week, or opened a specific email.Segments are typically used in three ways:
To send targeted campaignsInstead of sending a campaign to your entire newsletterlist, you can usea segment to build meaningful cross-sections of your list to which you can send more relevant content; i.e. you could contact everyone on your newsletter list who also opened an email from you in the past 30 days.
To trigger email flowsIf you would like to trigger an automated email flow whenever someone meets a set of conditions (i.e. has made exactly one purchase) for the first time, you can use a segment as the flow trigger.
For analysisSince segmentsare automatically updated in real-time, they provide an easyway to see what's going on with your audience.
Lists vs. Segments
If you explore the Lists & Segments tab of our account, you will see and be able to create both lists and segments:
Lists are used by almost all ESPs -- they're a collection of people's email addresses grouped under an identifiable label; you can add people to a list manually, or people can join a list themselves by subscribing through a form
Segments are defined by a set of conditions, as explained above, rather than a fixed list of people -- a segment will grow as new people meet the conditionsand shrink as people no longer meet them
Lists are used for growing an audience that you can then keep in touch with through automated flows and campaigns.
Segments can be used to help witha variety of additional marketing efforts:
List cleaningOne example, people who havereceived but notopened your last 20 emails should be segmented out of the main list you send to.
Cross-sellBuild a segment of people who bought a specific product but havenot purchased one or more related products.
MarketingBuild a segment of people who havenever purchasedfrom a specific category or visited certain pages on your website.
Loyalty programsBuild a segment of people who havespent over a certain threshold.
Segments, unlike lists, will automatically curate from all people in your account based on the conditions you establish -- this is why it is important toconfine yoursegments to a specific list (like your newsletter list) if you are going to send them an email campaign. Otherwise, segments will pull from everyone in your account, including people who have not necessarily opted in to receive marketing emails from you.
View ArticleOverview
Add contacts to a list if you are pulling them from another email service provider or if you collected a list of contacts from an event, giveaway, or signup form.
Can I Upload My List?
Before uploading your list make sure to answer the following two questions:
Does my list abide by Klaviyo's Terms of Service ?
Does my list include opted-in subscribers that subscribed by filling out a signup form or providing their email address at an event you attended?
If you're unsure or answered "No" to either of the questions above, then review our guidelines for compliant lists before uploading your list.
Create a New List
To create a new list click theLists & Segmentstab and then click the blueCreate List/Segmentbutton in the upper right corner.
Next,choose to create a new List and you're ready to add contacts.
list import troubleshooting
Formatting Your Data
There are some important requirements for formatting your data.
First, your list of contacts should be in CSV format. If you're working in Excel or another spreadsheet program, you can save your data to CSV by clickingFile > Save As and selecting "CSV" as the file format. The maximum allowed file size is 50MB.
Second, the header in the first column of you CSV file must contain the word "Email" or "Email Address.
After this, you can add other columns for Klaviyo Special Properties or custom properties, depending on what information you would like to import.
Below is the list of Klaviyo Special properties. If any of your columns have a Klaviyo Special property as their header, the data in that column is automatically mapped to the corresponding Klaviyo Special Property and the datatype is automatically selected.
$email: email address and the unique identifier for a profile
$id: optional unique identifier for a person (if used, this becomes the primary identifier instead of email)
$first_name: first name
$last_name: last name
$phone_number: phone number
$title: title at their business or organization
$organization: business or organization they belong to
$address1: address line 1
$address2: address line 2
$city: city they live in
$region: region or state they live in
$country: country they live in
$zip: postal code where they live
$timezone: time zone
$latitude: latitude
$longitude: longitude
$source: where a contact came from
$image: url to a photo of the person
If you want to include any extra data you can import custom properties for your contacts during your list import by adding this data into additional columns in your CSV.
Name each column with the intended custom property name. For example, if you are importing birthdays, name the column "Birthday." Then, give each row a value, for example, "1992-06-21." The image below shows an import that includes two custom properties: "Gender" and "Birthday."
Insert dates in the format: (YYYY-mm-dd) (HH:MM:SS).Dates must be imported in this format in order for Klaviyo to recognize the value as a date. A few other points to keep in mind:
Any new value/column that you include in a CSV upload that does not already exist on a contact's profile will be added as a new custom property
Any value/column that you include in a CSV upload that already exists on a contact's profile will be overwritten in the most recent upload
Any new value/column that you include in a CSV upload that does not already exist on a contact's profile will not affect existing custom properties
If you are interested in uploading a list of values for a single property (such as, Sizes), you will need to use JSON syntax. Create an array of your values that looks like this: [value1, value2, value 3].
Once you have your data formatted and saved as a CSV you're ready to upload your data.
Upload and Map Your Data
Click into your list and selectUpload Contacts.
Select your CSV file from your computer or drag and drop it into the upload box.
The import review screen allows you to map the columns in your uploaded CSV to Klaviyo fields. The Klaviyo fields represent where your data is stored on your contacts in your Klaviyo account.
Here, if you don't have GDPR consent fields already stored in your CSV, we can create them for you. To do this, clickAdd GDPR specific consent. Then, you will be prompted to specify the types of consent the contacts on your list have given. This information will then be stored on their profile as custom properties.
If you're uploading Klaviyo special fields, the datatype is already selected for you and you're unable to modify it.
If you're uploading custom properties, you can select the field you'd like to map them to, along with the datatype.
If you're uploading custom properties, select the field you'd like to map the properties to and select the data type. You can also add a new custom property by typing the new property name and selectingCreate option.
Other Ways to Add Contacts to a List
There are two additional ways to upload contacts to a list.
If you have an existing list and you prefer to copy/paste contacts into Klaviyo instead of uploading your file, choose Copy/Paste from Excel.
If you want to quickly add one or two people to a list -- to create a preview list, for example -- you can use Quick Add.
List Import Troubleshooting
If you're having trouble uploading your list, check out our guide on .
View ArticleOverview
Please note that only account Owners and Admins will have the ability to add/manage sending numbers.
When you start using Klaviyo to send SMS messages, you will automatically be assigned a sending number. This is the number from which your text messages will be sent, as well as the number that new subscribers will text to confirm their subscription.
That said, you may want to change this number. Klaviyo provides several different options for you to lease on a monthly basis, which are outlined in this guide.
Sending Number Options
By default, Klaviyo will provide you with a long number (1-XXX-XXX-XXXX). To change your sending number, navigate toAccount > Settings > SMS Setup. UnderSending Numbers, clickAdditional Numbers.You can select eitherRequest Additional Numbers orPort an Existing Number from the resulting dropdown menu.
How Klaviyo Bills Customers for SMS
If you select Request AdditionalNumbers, you will be provided with the following options:
Long number (1-XXX-XXX-XXXX) When you select this option, you will then be prompted to select the number of long numbers you would like (up to nine).You will receive a new long number immediately upon requesting it.
Toll-free number (1-800-XXX-XXXX)When you select this option, you will then be prompted to select the number of toll-free numbers you would like (up to nine). You will receive a new toll-free number immediately upon requesting it.
Short code (XXX-XX) When you select this option, you will initiate the process of leasing a short code. We do not currently support shared short codes, meaning your short code will be unique to your business. When you request a short code, you will see your request move to a pending state and will receive an email from a Klaviyo representative regarding next steps.
Vanity short code(XXX-XX) When you select this option, you will see your request move to a pending state and will receive an email from a Klaviyo representative regarding next steps. You will then work with this representative to specify which numbers you would like included in your short code, provided the number is available.
Porting Over an Existing Number
If you are migrating over from another SMS sending service and you have an existing short code you would like to use to send text messages, selectPort an Existing Number from theRequest Additional Numbersdropdown.
Next, you will see a modal confirming that you would like to submit a port request. To confirm this request, selectSubmit Port Request, and you can expect to be contacted by a Klaviyo representative. Please note that we are only able to port over short codes, not toll-free or long numbers. Additionally, we cannot port over shared short codes. If you were previously sending from a shared short code, you will instead need to request a brand new number.
SMS Sending Speeds
Below, we've outlined the major differences between long numbers, short codes, and toll-free numbers.
Number Type
Sending Speed
Price per Month
Time to Provision
Long number
1 msg/second
First one is free, then $1/month
Immediate
Short code
100+ msg/second
$1,300/month (random)
$1,800/month (vanity*)
Plus additional throughput costs
8+ week application process
Throughput increase takes ~1 week
Toll-free number
3-150 mgs/second
$2/month
Plus additional throughput costs
Immediate
Throughput increase takes ~1 week
*Vanity is the only option that allows you to specify the number, pending availability.
How to Choose the Right Number for Your Business
There are pros and cons associated with each type of number outlined above. To help you choose what's right for you, we've outlined some recommendations for each number type.
Long Number
If you're just starting out and would like to test to see if SMS is a channel you would like to invest in, we recommend starting with the long number provided. This allows you to explore starting an SMS program with a very low financial commitment since it is free. If you would like to add another long number, this will only cost $1/month.
Another benefit of a long number is that you can start sending immediately -- no need to fill out an application and wait weeks to be approved.
Short Code
If you have already established an SMS strategy and know for certain that this is a channel you would like to invest in, short codes are your best option. Short codes allow you the flexibility to send quickly to a large group of subscribers, which is a benefit if you have an existing SMS subscriber base and/or are migrating over from a previous SMS provider.
Short codes are also the only option that allows you to specify which number you're provisioned, so if brand recognition is very important to your business, this is another benefit.
While the application process for a short code can take several weeks, if you are certain this is a channel that you are going to use heavily, it is likely worth the wait.
Toll-Free Number
A toll-free number is similar to a long number, but it is more obvious that it's coming from a business because it's a toll-free number. Likewise, the benefits are similar: you can start sending immediately and it is a relatively low financial investment. The main distinction is that you can send more messages at once.
If you're somewhere in between starting from scratch with SMS and already having a substantial subscriber base, this is a good option for you.
Manage Your SMS Numbers
You can add up to 10 numbers to your Klaviyo account by clicking Request Additional Numbers. If you need more than 10 numbers, you will have to reach out to our Support Team.
If you later decide that you no longer need a number, you can release it by clicking the settings dropdown beside the number and selectingRelease Number.
Set Up SMS
View ArticleOverview
Each Klaviyo account can support multiple users each with a unique username and password for login. We also supporttiered user roles, which allows you to restrict certain levels of access within your account to specific users. Only Owners and Admins can add new users to an account.
Available User Roles
There are currently the following user roles:
Owner: An account can only have one Owner. Owners have full account access and can close an account. By default, the first person to create a Klaviyo account will be the account's Owner.
Admin: Admins have full account access. An Admin can also edit account details and add/delete users, but cannot close an account.
Manager: Managers can access all core Klaviyo features, but they:
Cannot export any email addresses from Klaviyo (i.e. lists/segments, email recipient activity lists, suppressed profiles)
Cannot edit/delete account users
Cannot close an account
Analyst:Analysts have access to analytics, segments, and reporting. The tabs they have access to are:
Dashboard, Profiles, Metrics, Lists & Segments
Campaigns, but they can only view details for sent campaigns
Flows, but they can only view analytics, export analytics, and preview flow emails
Campaign Coordinator: CampaignCoordinators can create and send campaigns and create and edit templates. The tabs they have access to are:
Campaigns, Email Templates, Signup Forms, Data Feeds, Coupons, Preference Pages, Image Library
Lists & Segments, but they can only modify Sign Up Forms and Subscribe Pages and cannot see list/segment members
Flows, but they can only edit flow details (name and tag), edit email content, and preview flow emails
Content Creator: Content Creators can create and edit templates. The tabs they have access to are:
Email Templates, Signup Forms, Data Feeds, Coupons, Preference Pages, Image Library
Campaigns,but they can't schedule or send campaigns or see analytics from sent campaigns
Lists & Segments,but they can only modify Signup Forms and Subscribe Pages and cannot see list/segment members
Flows,but they can only edit flow details (name and tag), edit email content, and preview flow emails
The below chart displays the different access levels for users, separated by available tabs.
Key: Full Restricted No Access
Owner
Admin
Manager
Analyst
Campaign Coordinator
Content Creator
Dashboard
Campaigns
Flows
Email Templates
Signup Forms
Lists & Segments
Profiles
Metrics
Integrations
Data Feeds
Coupons
Image Library
Preference Pages
Tags
Flow Specific User Permissions
The following table breaks out the details on flow specific permissions.
Owner
Admin
Manager
Analyst
Campaign Coordinator
Content Creator
Create, Clone, and Delete a Flow
Edit Flow Details (Name and Tag)
Export Flow Analytics
Export Recipient Activity
See Analytics
Backpopulate Flow
Edit Flow Triggers and Filters
Edit Flow Email Settings
Create, Update, Delete Individual Components
Change Flow Action Status
Preview Emails
Edit Email Content (including variations)
Add Users & Manage Permissions
Account Owners and Admins have the ability to add new users to an account and set theirrole. To add a new user, navigate toAccount > Settings > Users. Here, selectAdd New Userand type in the email address of the new user and select their role. Accounts can only have one Owner, so you will be able to choose from Admin, Manager, Analyst, Campaign Coordinator, or Content Creator.
reset the password
On this page,you can also:
Change the role of existing users by clicking on their email address and updating their settings
Delete a user by clicking the "X" icon beside their email address (note: Owners cannot be deleted from an account)
See which users have set up their accounts and which still have their email invitation pending
Resend invitation emails to users who have not completed setting up their accounts
Click on a user to view their details, which include:
Name
When they were added
When they last logged in
Their current role
Once you add your new user, they will receive an email from [email protected] with a link to set up their account. Here, they can set their password and log into their account.
Transferring Account Ownership
Only account Owners have the ability to transfer ownership of their account to a new owner. If you've purchased or inherited a store from a prior owner, you must work with the prior owner to gain access to the account. If you no longer have access to the prior owner, then you must use the email address associated with the Owner's user to on the account.
Per our security guidelines, permission to transfer ownership of an account must come from the current account Owner. Klaviyo does not have the power to unlock accounts without an owner. You must work with the existing owner to gain access to the account.
To add a new owner the current owner must add a new user, then update the new user's role to Owner.
Keep in mind there can only be one Owner per account. By making another user the owner, the prior owner's user becomes an admin. Only the new owner can reverse this action. The new owner also has the power to remove any other users, including the prior owner.
View ArticleOverview
When designing a new email template in Klaviyo, you will notice that thedefault width of every template is 600px.
Getting Started with Klaviyo - Design to Your Mission
While you can adjust this default setting, we don't recommend increasing thewidth of your template unless this is required for a more advanced layout. If you adjust the width above 600px we also recommend conductingrobust testing around how your email will look across different email clients and devices.
If you want to change the default setting, head into an email template, andthe width is the first option within Styles.
UnderstandingEmail Width
When you're designingan email in Klaviyo, the establishedwidth of your template createsthe frame for youremail content.Any content you add into your template shouldfit within this frame.
The 600px email width has become an "industry standard" in email marketing because historically, the average size of a viewport in all popular desktop email clients was between 500-600px. The"viewport" is the framed area on a display screen where a recipient will read your email. By settingthe width of your email to 600px, you can ensure that, for the average viewport size, your recipients won't have to do a lot of horizontal scrolling to see all of your content.
The standard for 600px-wide emails has stuck around, and remains common today, even as optimizingemails across different devices (such as mobile) becomes increasingly important. Klaviyo works hard to give our customers "the best of both worlds" -- we highly recommend designing your emails at a width of 600px so they look great on desktop clients, and then we'll do the hard work to render your emails such that they're responsive across smaller screens (such as mobile devices) as well.
Note, however, that sticking with a600px width will help optimize emails builtwith Klaviyo for mobile viewing. Emailsdesigned to be much wider havea higher potential to look skewed when scaled down on a mobile device unless the email was carefully designed and optimized for this. This is why we encourage you to avoid increasing your templatewidth beyond 600px unless you have a designer and/or other dedicated resources to optimize your layoutacross clients/devices.
Learn more
Learn more about Klaviyo's options for mobile optimization.
Template Content and Set Email Width
As mentioned above, the establishedwidth of your template createsthe frame for youremail content. While you can manually ensure that all contentyou add into your template hasa maximum width that fits within your email's established frame,Klaviyo will alsotake care of this for you as you add content into your template.
Klaviyowill automatically scale down images, with the aspect ratio preserved, and otherwise limit the width of all blocks so they never extend past the set width of the template itself. This means asyou add images into your template, or build a table with multiple columns, you will see that all blocksremain constrained by your template's email width.
If you are adding custom code into template blocks, make sure you are taking into consideration the setwidth in your template's Style settings. The established email width in your Style settings will impact the rendering of all template blocks, even those with custom code that may attempt to seta different, larger width.
Additional Resources:
Guide to Email Design
Designing Emails That Convert
View Article