When using the Klaviyo app, contact data and order metrics from your Brightpearl account are synchronized automatically with Klaviyo. This article explains how to set up the connector and how data is transferred once setup is complete.
If you don't currently have a Klaviyo account you can sign up here.
Installing and connecting Klaviyo
Please contact Brightpearl Support or your Technical Account Manager if you are interested in adding the Klaviyo connector to your Brightpearl account. We will complete the initial installation and configuration of the connector on your behalf. Once set up, you'll be given access to a web application where you can log in to view and amend the connector's configuration.
Note: The Klaviyo app is not included as a part of your subscription.
Once logged in, use the panel on the left-hand side to navigate the app. Click the menu icon (three horizontal lines at the top left of the screen) to expand the panel and see all the options.
Connect to Brightpearl
- Navigate to Account settings > Brightpearl settings > Accounts
- Click Add new account
- Enter the Brightpearl account ID in the account name field
- Add your data center (this is "eu1" for Europe or "use" for the Americas)
- Enter the email and password you use to log into your Brightpearl account
- Click Save
Connected accounts can be edited by clicking the View button, or deleted by clicking the Delete button under the Actions header.
Configure Brightpearl settings
You can specify the default configuration for each Brightpearl account connected to the application. Before doing so, ensure that a contact tag has been created in Brightpearl to identify contacts to be removed from Klaviyo. Read more about setting up tags here.
To add a new configuration:
- Navigate to Account settings > Brightpearl settings > Default configuration
- Click Add new configuration
- Select the Brightpearl account ID from the dropdown
- Select the sales order status to trigger order data to be transferred to Klaviyo
- Select the tag used to remove contacts from the Klaviyo list
- Enter your base currency into the Default currency field. This should be the three letter currency ISO code (for example, USD for US dollars, GBP for pounds sterling, etc.)
- Select the sales channel(s) for which order data is to be transferred to Klaviyo
- Click Save
These settings may be changed at any time by clicking the View button under the Actions header. Changes have an immediate effect on the connected Brightpearl account.
Connect to Klaviyo
Before connecting Klaviyo you must first connect your Brightpearl account by following the instructions above.
You must also have the owner, admin or manager role in Klaviyo in order to generate an API key.
Once you have connected your Brightpearl account and ensured you have the correct role, follow these steps:
- Log into Klaviyo
- Navigate to Account > Settings > API keys
- Click Create API Key and then give it a label, such as "Brightpearl"
- Copy the Private API key
- In the connector, navigate to Account settings > Klaviyo settings > Accounts
- Click Add new account
- Select the Brightpearl account from the dropdown
- Paste the API key into the Client secret field
- Click Save
Configure Klaviyo settings
- Navigate to Account settings > Klaviyo settings > Default configuration
- Click the Add new configuration button
- Select the Klaviyo ID from the dropdown
- Choose the list to be used in Klaviyo
Contact data sync
Contacts (customers and vendors) are synced from Brightpearl to Klaviyo automatically every 30 minutes. There are three actions performed by the app during this sync:
- Add contacts - any new contacts that have "Receive email newsletters" set to "Yes" in Brightpearl are created in Klaviyo and are added to the list specified in the app's configuration
- Update contacts - any changes made to existing contacts in Brightpearl are made to the linked profiles in Klaviyo
- Remove contacts - any contacts tagged for removal in Brightpearl are removed from the Klaviyo list (please note, the profile itself is not deleted)
The Customer listing report is accessed via the navigation panel on the left of the screen.
Here you can view the basic information about customers listed in the application, along with their sync status and the date they were last updated. You can also perform actions to fetch and post customer data.
|Brightpearl account||Brightpearl account name|
|Klaviyo account||Klaviyo account name|
|Brightpearl ID||Contact ID in Brightpearl|
Contact ID in Klaviyo
Note: This ID appears once the contact has been successfully pushed to Klaviyo
|First name||First name|
|Last name||Last name|
|City||Delivery address city|
|State||Delivery address county/state|
|County||Delivery address country|
|Zip||Delivery address postcode/zipcode|
|Date updated||Date and time when the record was last updated in Brightpearl|
|Status||Customer data sync status|
Fetching new customers is the process of syncing customer records from Brightpearl to the web application. This is a scheduled, automatic operation which takes place every 30 minutes. Therefore it is not required for a user to manually fetch customer records. Nevertheless, clicking the Fetch customers button on the Customers listing will trigger a sync immediately.
Posting new customers is the process of synchronizing customer records from the web application to Klaviyo. Like fetching, it is a scheduled operation that happens every 30 minutes. It is not required that this process is manually triggered by the user, but it is possible to do so by clicking the Post customers button on the Customer listing.
The automated fetch/post job includes updating existing customer data whenever changes are detected in Brightpearl. All updates to customer data in Brightpearl are fetched by the web application and are posted to Klaviyo automatically.
Search customer records
You can search for a customer using the search boxes at the top of the Customer listing screen.
Type into the relevant field and click the Search button to filter the report. You can search by Brightpearl ID, Klaviyo ID, email, first name, last name, phone, city, state, zip, status and date updated (from and to).
You can navigate to a different page of the report or change the number of records shown per page using the buttons at the top.
Customer data synchronization status
There are several statuses of customer data sync, which are updated automatically depending on where they are in the process of being fetched or posted.
|Pending||New customer in Brightpearl, pending sync to Klaviyo|
|Sent||Customer has been sent to Klaviyo|
|Updated||Existing customer has been updated in Brightpearl, the changes are pending sync to Klaviyo|
|Error||There has been an error syncing data|
|Delete in BP||Customer has been tagged for removal in Brightpearl|
|Deleted||Customer has been removed from the Klaviyo list|
If a contact opts out of marketing, they can be set to not receive newsletters in Brightpearl. This can be updated in the info tab of the contact record or in bulk from the Customers list.
To update the setting in bulk, select the relevant customers, then click "More" and select "Update receive newsletters".
This will remove their profile from the Klaviyo list and update their consent status. Switching this back will reverse the changes.
If a customer is unsubscribed via Klaviyo, this will not update Brightpearl. However, the user cannot be resubscribed by the connector.
Right to be forgotten
If a contact is "forgotten" in Brightpearl, their data is anonymized in Brightpearl only. They will be removed from the mailing list in Klaviyo and their consent removed, but the profile should be manually deleted from Klaviyo.
Order data sync
Sales orders are synced from Brightpearl to Klaviyo automatically every 30 minutes. There is one action performed by the app during this sync:
- Update order metrics - The profiles of synced contacts are updated in Klaviyo
The Sales Order List is accessed via the navigation panel on the left of the screen.
Here you can view orders that have been fetched from Brightpearl. The report shows the sync status of each order as well as basic information such as the customer name, order date and shipping method. You can also perform actions to fetch and post order data.
|Brightpearl ID||Order ID in Brightpearl|
|Customer name||Contact first and last name|
|Shipping method||Shipping method name|
|Created||Date the order was created|
|Status||Order data sync status|
Fetching orders is the process of syncing sales orders from Brightpearl to the web app. This is an automated scheduled operation that happens every 30 mins, but it can also be triggered manually by clicking the Fetch sales orders button in the Orders screen.
Posting orders is the process of synchronizing sales orders from the web application to Klaviyo. Like fetching, it is a scheduled operation that happens every 30 minutes. It's possible to trigger this manually by clicking the Post sales orders button, though this is not necessary due to the automated process.
Order data synchronization status
There are several statuses of order data sync, which are updated automatically depending on where they are in the process of being fetched or posted.
|Pending||New order in Brightpearl, pending sync to Klaviyo|
|Sent||Order has been sent to Klaviyo|
Order metrics in Klaviyo
You can view synced order details in Klaviyo by viewing the contact's profile.
|Item count||Total item quantity|
|Line items||Product details: SKU, Product Id, Price, Line Tax, Product Name|
|Order ID||Brightpearl order ID|
|Total price||Order total gross amount|
When is data synced?
A scheduled job runs every 30 minutes which fully automates fetching and posting data.