AB Commerce integrates with Klaviyo as a paid upgrade. Please contact the Help Desk if you want further information. The following is how Klaviyo's integration works.
We are currently running a Klaviyo pilot. All functionality below except the line in RED is being implemented for the pilot group (i.e. the creation of a basket).
Klaviyo comes with advanced email marketing platform features which will be rolled out as part of the managed services programme.
The following are additional features that we will look into as part of the pilot:
- How to integrate preferences with Klaviyo
- How to integrate Klaviyo with Google Analytics & Google Ads
- How to ensure your emails do not go into SPAM folders
- How to add an UNSUBSCRIBE link to your emails (ideally link to your /unsubscribe url so that they can be kept up to date in your website database)
- Adding RFM analysis features to Klaviyo's lis: - OR Does Klaviyo already have this built in?t
- RFM fields for each email address
- Automated RFM segments
- How to send targeted / personalised emails:
- Using Klaviyo's in built automated order emails and email flows
- NOTE: We are currently sending PRODUCT MASTER CODE as ProductID with the orders integration and are leaving SKU as blank - this is so that we can link up with the catalogue where we only send parent products and not version products. However, if you want to send automated order emails, you will need to use the VERSION CODE (which we could populate into the SKU?) in the email.
- Using Order History fields - Klaviyo may already have enough order data coming through for this
- Using RFM analysis - OR Does Klaviyo already have this built in?t
- Using TAGS for products, brands, categories, counties/states, countries - OR Does Klaviyo already have this built in?
- Using birthdays
- Using Customer Preferences
- Using Klaviyo's in built automated order emails and email flows
- How to exclude emails that have opted in to your loyalty platform
Also, we need to review this new integration for GDPR and ensure that it is protecting the client's data correctly.
How to set up the Klaviyo integration
All you need to do is provide the Help Desk with the public API key and the private API key. To get this, just log into your Klaviyo account and click on your name in the top right hand corner, click Account - then click Settings in the nav bar across the top of the page, and click API Keys. The public API key should be visibile, and so should the private API key. If the private API key is not visible, just click Create Private API Key.
Setting up an automated catalogue feed
If you have an automated catalogue feed, then you can drag and drop products from your website easily into Klaviyo emails.
To set up an automated catalogue feed so that Klaviyo always has an up to date catalogue feed, just take the following steps after getting a url for the Klaviyo product feed from the Help Desk:
- Log into your Klaviyo account and click on Catalogue in the left sidebar menu
- Click Manage Custom Catalog Sources
- Click Add New Source and enter the following and then click Define Source and complete the set up:
- Source Name = AB Commerce Feed
- Source URL = The Help Desk will provide this to you
- Leave the other fields blank
- After this, the catalogue will sync every day to have your latest product details.
Real time Integration
As users enter your website and traverse around the website, the following information is sent to Klaviyo in real-time:
- When they arrived on the web site
- When they opt in for email (immediately when they opt in) - currently sending over the following information:
- First Name
- Last Name
- We are not sending over opted in mobile numbers as they are generating a validation error
- When they opt out (immediately when the opt out) - as long as the opt out is using the /unsubscribe url on your website
- The products they viewed (as they are viewing them)
- The items added to the basket (as they are adding them)
- The orders made (immediately when the order is made)
- Note that the nightly batch job will send all orders made for each email address including the latest order, if for some reason it is not synced at the time of the order
- Note that when tracking events in Klaviyo, each order tracks one "Placed Order" event for the order including a list of "Items" - and for each order item, it tracks an "Ordered Product" event. This means that each order item is recorded under 2 tracking events - one under the order and one just for the order item.
This means that you can automate emails immediately as events happen for an email address.
Nightly Batch Job
Every night, all opted in emails are synced with your Klaviyo account into a list called ABC_WebsiteSubscribers. For each opted in email address, all their order history is also sent to Klaviyo during the nightly batch job.
This ensures that if an opted in email, or a new order, is not synced with Klaviyo in real-time due to an error, they will be uploaded that night during the batch job.
When users come onto the website, if they don't Accept Cookies, we don't record the pages they traverse and the products they view.
Opting in through your website
For the current release, you can not use Klaviyo pop-ups for collecting emails. This is because users who opt in through these pages are not recorded on the AB Commerce database. Instead, you should use the standard AB Commerce subscribe and opt-in features by following these articles:
- How to set up the subscribe page, opting in during checkout, home page pop-ups, etc:
- How to collect the customer's birth date and customer preferences:
- How to turn on the home page pop-up:
- How to edit the JOIN page and the SUBSCRIBE page:
- How to edit the NEW ACCOUNT or NEW SUBSCRBER page:
Opting out through your website
When you opt out of Klaviyo, the email address is added to the Global Exclusion List so that the email address never gets an email from Klaviyo.
Using Klaviyo's Popups for opt-ins
If you want to use Klaviyo's pop-ups for collecting opt-ins, the disadvantage is that the website does not know about these opt-ins. However, they can lead to you getting more sign-ups.
If you want to do this, you just need to set it up so that they are added to a new list called KlaviyoSubscribers and not into the ABC_WebsiteSubscribers list. This is because the ABC_WebsiteSubscribers list is an automated copy of the website subscriber list and should never be changed.
Adding domain authentication to your DNS settings will mean that more emails will get past the email spam filters. To do this, just get the Domain Authentication DNS settings from Klaviyo and send them into the Help Desk who should be able to add these to your DNS settings for you.
This article contains more details:
Migrating from Mail Chimp
If you are already integrated with Mail Chimp and want to move to Klaviyo, the Help Desk will switch over the integration which will mean the following:
- The nightly batch job will push out all the opted in emails on the website and their order history to Klaviyo - this may take a few days as AB Commerce has a limit to how many emails it will sync each night
- If you used Mail Chimp,s OPT OUT features instead of using AB Commerce's OPT OUT /unsubscribe url, then you will need to then import the OPT OUTS manually from Mail Chimp
- If you created other lists, you will need to migrate these manually as well as any other items you set up yourself manually
- NOTE that you are not meant to manually add any other emails to the ABC_WebsiteSubscribers list on Mail Chimp - and if you set up a Mail Chimp form for collecting subscribers, these should not have been added to the ABC_WebsiteSubscribers list. This is because this list is kept in sync with the data collected on the website, and AB Commerce does not download any changes you make within Mail Chimp to this list - it only "pushes" information up to it - and does not "pull" any information back.
So in summary, to migrate to Klaviyo, let the Help Desk switch your integration to Klaviyo, then wait a few days until all emails have been uploaded from AB Commerce's master database, and then migrate the rest of the data manually.
For more info on this see Klaviyo Implementation Phase 1