You will learn
Learn how to integrate your PrestaShop store with Klaviyo. Klaviyo is PrestaShop’s preferred marketing automation partner. This process involves 2 steps: installing a free module (PrestaShop Automation with Klaviyo) in PrestaShop and enabling the integration within Klaviyo. This article also provides information about monitoring your data sync, setting up transactional emails, and updating your module so that you can grow with Klaviyo.
Before you beginBefore you begin
In order to use the Klaviyo module, you’ll need to be on one of the following PrestaShop versions:
- PrestaShop 1.7.0 and up (and using PHP 7.1 or higher)
- Please note that if you want to use our SMS consent at checkout collection feature, you'll need to be on PrestaShop 1.7.6 or higher.
- PrestaShop Edition 8.0 and up.
- PrestaShop Project 8.0 and up.
If you are using a PrestaShop version prior to 1.7.0 and want to upgrade in order to use a Klaviyo module, check out PrestaShop's guide to upgrading your store.
Please review the following information before integrating:
- If you're using PrestaShop Edition, the PrestaShop Automation with Klaviyo module comes pre-installed. If you're using another version of PrestaShop, you’ll need to install it (detailed in the next section).
- PrestaShop Automation with Klaviyo is designed to integrate with PrestaShop back office functionality like PrestaShop Account. Note that stores running on PrestaShop Project 8.0 will need to install the PS_MBO module to use the Klaviyo module.
- Don’t want to integrate with back office functionality on your open source PrestaShop store? You can use our Klaviyo by PrestaShop Partners module instead, which contains the same set of features as PrestaShop Automation with Klaviyo and does not require PS_MBO.
Looking to update your current Klaviyo module? See the end of this article to learn more.
How-to videoHow-to video
Install the module in PrestaShop
- If you use PrestaShop Edition, the PrestaShop Automation with Klaviyo module comes pre-installed. You should:
- Log in to your PrestaShop shop.
- Under Configure in the left-hand menu, select Klaviyo.
- Skip to the next section of this article to configure the module.
- If you do not use PrestaShop Edition, head to the PrestaShop Automation with Klaviyo module page on the PrestaShop marketplace and proceed to the next step.
- On the module page, click Download. Validate your details if necessary, then select the version of PrestaShop you're using and download the zip file. You do not need to extract the zip file.
- Log in to your PrestaShop shop and navigate to Modules > Module Manager. Click Upload a module, then drag and drop the zip file to the module manager.
- The module will display a successful installation message upon completion. Next, click Configure and continue to the next section.
Configure the module in PrestaShop
- You will need to retrieve your Klaviyo public API key (also known as your site ID), as well as generate a Klaviyo private API key for use in PrestaShop.
- Log in to Klaviyo, then click your organization name in the lower left.
- Select Settings > API keys.
- Copy your public API key from the page and paste it in the corresponding setting in PrestaShop.
- Back in Klaviyo, click Create Private API Key, name it, select Full Access Key, and click Create.
- Securely copy your newly created private API key and paste it in the corresponding setting in PrestaShop.
- Toggle on Send real-time order events to Klaviyo if you want transactional order events to sync in real time. These events can be used to send transactional messaging, and will appear as a second set of events labeled as transactional (e.g., you’ll see a metric in Klaviyo labeled Placed Order Transactional, which will sync in real time, in addition to a metric labeled Placed Order, which will sync every 30 minutes).
- Toggle on Turn off PrestaShop-generated transactional order emails if you wish to do so. We recommend leaving this setting disabled until you have transactional emails ready to go in Klaviyo. You can return to this page at any time and toggle on the setting to disable PrestaShop sending. Note that toggling on this setting blocks transactional emails associated with Placed Order, Fulfilled Order, Canceled Order, and Refunded Order, as well as payment reminder emails.
- Enable Sync PrestaShop email subscribers to Klaviyo if you wish to sync email subscribers collected at checkout or via a sign-up form.
- Enable Sync PrestaShop SMS subscribers to Klaviyo if you wish to enable users to opt-in to SMS marketing during checkout.
You must set up SMS in Klaviyo before you can sync SMS subscribers. - Click Save to proceed.
- If you toggled on the email subscriber sync setting, you will be prompted to select a list from your Klaviyo account to add email subscribers to. All new subscribers will be added to the list you choose. We recommend using the Email List.
- If you would like to subscribe profiles to a Klaviyo list using the PrestaShop Newsletter Subscription module, please make sure you have enabled the module, and that the module uses version 2.6.0 or higher.
- If you toggled on the SMS subscriber sync setting:
- You will be prompted to select a list from your Klaviyo account to add SMS subscribers to. All new subscribers will be added to the list you choose. We recommend using a separate list for email and SMS subscribers.
- Choose When do customers subscribe? This can either be after they start checkout, or place an order
- Add a consent label for your marketing checkbox; use a clear label to inform users what they’re opting in to (e.g., “Subscribe to SMS marketing”).
- Add consent disclosure text. You must include disclosure language for compliance. Make sure to include the terms of your SMS marketing program in your terms of service and privacy policy. Please note that you must use HTML in the disclosure box. Example disclosure language:
By checking this box and entering your phone number above, you consent to receive marketing text messages (e.g. promos, cart reminders) from [Company Name] at the number provided. Msg & data rates may apply. Msg frequency varies. Unsubscribe at any time by replying STOP or clicking the unsubscribe link (where available). <a href="link">Privacy Policy</a> & <a href="link">Terms</a>. - You can use the language toggle to the right of the disclosure box to add language-specific disclosure text for each language your store is displayed in.
- Click Save to proceed.
- Next, complete the order status mapping form by either accepting the default values or selecting different values. Order statuses correspond to which order events are recorded in Klaviyo. You can select multiple values for each order event. Use Cmd or Ctrl+Click to select multiple. The same value cannot be selected in multiple order events. Selecting a duplicate value will result in an error message and cannot be saved. Both transactional and non-transactional events will adhere to the order mapping you select.
- When you are done configuring order statuses, click Save.
- You’ll see a Coupons section where you can generate coupons. On the Cart Rule Limit field, select One cart rule per prefix or One cart rule per order to limit how customers can use coupons. By default, this is set to One cart rule per prefix, preventing a customer from adding more than one code with the same prefix at checkout.
- If you wish to generate coupon codes as well using the Quantity to generate field, you can return to this page later. Read about how to create static coupons for PrestaShop for more information.
- Next, select Advanced Parameters within the Configure section of the left-hand navigation. Select Webservice. Copy the Klaviyo webservice key that has been generated for you and continue to the next section.
- This key will be used when enabling the integration in Klaviyo in the next step. We recommend validating that the webservice key has the correct Klaviyo permissions by selecting the pencil icon next to the Klaviyo webservice key. Scroll down the list of all permissions and locate Klaviyo. Ensure all permissions checkboxes are checked. Select Save to apply any changes.
Enable the integration in Klaviyo
- Next, enable the PrestaShop integration within your Klaviyo account. In Klaviyo, select your organization name in the lower left corner; then, select Integrations.
- Click Add integrations, search for PrestaShop, and select the card. Then, click Install.
- On the next page, click Connect to PrestaShop.
- On the next page, enter your PrestaShop shop URL in the Shop URL field. You can find your shop URL in your PrestaShop account under Shop Parameters > Traffic & SEO > Shop URLs. You can also click View my shop to quickly navigate to your PrestaShop site from any page within your account to retrieve your shop’s URL.
- Paste the Webservice key you copied from PrestaShop into the Webservice key field.
- If you’d like to convert all currencies used by your shops to a single currency in Klaviyo, check Convert all currencies to one standard currency and select a global currency code from the dropdown list.
- This will not change the currency of your Klaviyo account. To change the currency you use account-wide, please refer to our guide to Changing the Currency for Your Account.
- Pull a list of your available PrestaShop shops by selecting Retrieve list of shops. Then, check the shops you wish to integrate. You must select at least 1 shop to proceed.
- Click Connect to PrestaShop. You’ll see a success message indicating your accounts have been connected.
PrestaShop data in Klaviyo
3 types of events sync from PrestaShop to Klaviyo:
- Order events synced every 30 minutes (e.g., Placed Order).
- Transactional order events synced in real time, if you choose to enable them (e.g., Placed Order Transactional).
- Klaviyo onsite events (e.g., Active on Site, Viewed Product, and Added to Cart).
Additionally, customer information syncs from PrestaShop to Klaviyo profiles, including email address, phone number, email consent, and SMS consent if applicable.
You can view all these events in Klaviyo by navigating to Analytics > Metrics. Filter by PrestaShop to see order and transactional order events (they will have a PrestaShop icon) or filter by API to see Klaviyo onsite events (they will have a gear icon). For a full list of metrics synced from PrestaShop, check out our PrestaShop data reference.
When you first integrate with PrestaShop, Klaviyo will sync the last 90 days of your data so you can start engaging your most recent customers right away. After the sync of your most recent 90 days of data, Klaviyo will begin your complete historical data sync. Depending on how many orders, customers, and products your store has, it can take anywhere from a few minutes to several days to sync all of your data.
We recommend that you have a minimum of 1024 mb allotted PHP memory while your historical sync is in progress. This allows the sync to complete in a timely manner. The initial memory requirements can be reduced after the historical sync is completed, if desired.
When the sync is complete, the PrestaShop integration in the Integrations tab will be marked complete. To verify that all data from PrestaShop is successfully 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 PrestaShop. To check or update your account's timezone:
- Click your organization name in the bottom left.
- Select Settings.
- Select the Organization tab.
Send transactional emails
Want to send transactional emails using real-time order data synced from PrestaShop? You’ll need to create flows from scratch in Klaviyo to do so. Read How to use flows to send transactional emails to learn about how transactional emails work in Klaviyo. You’ll need to set up these flows and then contact Klaviyo’s support team to get them approved. Once they’re approved, you can toggle off transactional email sending in PrestaShop and set your transactional flows live in Klaviyo.
Update your moduleUpdate your module
Are you using a PrestaShop module version below 1.4.1? We recommend upgrading immediately to 1.4.1 or higher. Older versions of the module use Klaviyo’s v1 and v2 APIs which have been retired and no longer operate as expected.
Additionally, upgrading to version 1.4.1 or higher will let you take advantage of these features first released on 1.3.0:
- Easily display the true price and inclusive value-added tax (VAT), for products promoted in your emails. Please note that upgrading from below version 1.2.10 to version 1.2.10 or above can cause email template inaccuracies due to this change; read our article to learn what to do.
- Send transactional emails to your customers with a real-time event sync.
- Quickly generate and import bulk coupons into Klaviyo.
To update your module to the newest version:
- Log in to your PrestaShop admin.
- Navigate to Modules > Module Manager.
- Scroll to find the Klaviyo module and select Upgrade.
If you are upgrading from a version below 1.3.0: it’s important to note that, once you have completed the upgrade, cart rebuild links that were used in abandoned cart emails sent prior to the upgrade will no longer work. However, all abandoned cart emails sent after the upgrade will function properly.
To learn about changes made in each version, head to the Klaviyo module on the Addons marketplace, scroll down to What’s New, and click Show changelog history.
Interested in a patched version?Interested in a patched version?
If you are using Klaviyo's PrestaShop module version 1.2.18 or 1.2.9, and wish to use a corresponding patched version (as opposed to Klaviyo's newest module), these patches are available. To upgrade to these modules:
- Log in to your PrestaShop admin.
- Navigate to Modules > Module Manager.
- Find the Klaviyo module, click the dropdown next to Upgrade, and select Uninstall.
- Use these links to download your patch version:
- Upload the module in the PrestaShop module manager, starting with step 4 in the section above.
- Re-integrate PrestaShop with Klaviyo by continuing to follow the steps.
Outcome
You’ve now integrated PrestaShop with Klaviyo and can start using Klaviyo for your owned marketing needs.
Additional resources