The integrated solution of Klaviyo and Optimove helps increase customer engagement and spend by using predictive customer modeling to personalize retention campaigns.

Once configured, Optimove connects to the Klaviyo system to instruct Klaviyo to execute email campaigns, i.e., to send out particular email templates to specified customer lists.

Setting Up the Integration

In order to set up the integration between your Optimove site and your Klaviyo account, the following steps are required:

  1. Each customer's email address, as it appears in Klaviyo, must be included in the daily data update that Optimove receives. If this field is not already included in the daily data update, contact your Optimove CSM to make the necessary arrangements.
  2. If you wish to use personalized fields coming from Optimove through to your Klaviyo email templates (e.g., first name, favorite department), you will need to ensure that those fields exist in the Optimove customer database, and then to refer to these personalized fields within your Klaviyo email templates (step-by-step instructions are below). In this case, contact your Optimove CSM with the exact Klaviyo field names you will be using so that they can be configured for you.
  3. Provide your Optimove CSM with the following information about your Klaviyo account. These details are available from the Klaviyo Portal UI:
    1. API information:
      • API key (step-by-step instructions for generating an API key can be found below in this page; learn more about this topic here)
      • Your account’s limit for uploading users to lists using the API version 2 (you need to ask Klaviyo what your account’s limit is)
      • Your monthly sending plan limit (step-by-step instructions for finding your plan’s limit can be found below in this page)
    2. Portal UI access information
      • Username of an Optimove test user (you need to create this user in the portal UI)
      • Password of the Optimove test user that you created
      • Six-digit key – this is the verification code that you will receive to your Klaviyo admin user’s email address when Optimove attempts to log in using this new user account for the first time
    3. Email header information:
      • FromName
      • FromEmail
      • ReplyTo
      • ConfirmationEmail
    4. In some cases, Kalviyo will require the whitelisting of Optimove IP addresses used to access their systems. If required, your Optimove CSM will supply you with the IPs for Kalviyo to whitelist.

Once the above steps are complete, your Optimove CSM will ensure that the integration is configured on the Optimove side. When the integration is ready for use, your CSM will let you know so that you can send your first Klaviyo campaign from Optimove.

Executing Klaviyo Campaigns Using Optimove

  1. Schedule a campaign in Optimove, selecting Klaviyo as the execution channel.
  2. Select the desired template(s) from the list of available templates (Optimove retrieves the list of available templates from Klaviyo every 15 minutes).
  3. Set the desired send time for the campaign.

Optimove will automatically execute your Klaviyo campaigns as scheduled.

Important note: In order to cancel a campaign that has already been processed, you will need to delete it in the Optimove UI and also in the Klaviyo portal UI.

Behind the Scenes

Template Sync

Optimove syncs your Klaviyo email templates into the Optimove UI every 15 minutes.

When Optimove syncs Klaviyo templates into Optimove, Klaviyo verifies whether the email template's personalization fields (custom properties) are valid. If they are not valid, Optimove will rename the email subject from Your Template Subject to Your Template Subject [Invalid Personalization Field(s)]. Before you will be able to use these templates, you will need to modify/fix the template's custom property within the Kaviyo UI.

Campaign Execution

On a daily basis, Optimove performs the following steps for each campaign that is scheduled for that day:

  1. Optimove selects the list of customers to receive the campaign.
  2. Optimove prepares the campaign in Klaviyo (via the Klaviyo API).
  3. Optimove instructs Klaviyo to send the email by providing the following parameters via the Klaviyo API:
    • The recipients’ email addresses
    • The ID of the email template to use
    • The date and time of execution
  4. Optimove creates a temporary Klaviyo customer list and populates it with all the email addresses associated with the campaign. This list will be automatically removed after eight days.
  5. Optimove creates the campaign via the Klaviyo API, which appears in the Klaviyo Campaigns UI in this format: Optimove_CampaignID_TemplateID_ScheduleDateTime.000Z (example: Optimove_27007_4_2019-08-24T19:46:00.000Z)

Klaviyo Campaign Metrics in Optimove

Optimove connects to the Klaviyo API once a day, for a period of one week following the sending of each Klaviyo campaign, in order to retrieve the campaign's delivery metrics. These metrics are displayed within Optimove's Campaign Analysis page for each executed campaign.

This table presents the equivalent metric names between Klaviyo and Optimove:





Received Email


Opened Email

Unique Opens

Clicked Email

Unique Clicks


Unique Unsubscribes

Klaviyo Step-By-Step Guides

The following guides are referenced from the Setting Up the Integration section of this page, above.

Creating an API Key

  1. Click your account name in the top-right corner of the Klaviyo portal UI and select Account.

  2. Click Settings and select API Keys.
  3. In the Private API Keys section of the API Keys page, click Create API Key.
  4. Change the label name of the new API key to “Optimove”.

Checking Your Plan’s Monthly Send Limit

You will not be able to send more emails via Klaviyo than the limit permitted by your account. Follow these steps to see what your monthly plan limit is:

  1. Click your account name in the top-right corner of the Klaviyo portal UI and select Account.
  2. Click Overview – the limit is shown in the second column.

Adding Personalized Fields to Klaviyo Email Templates

  1. Go to the Email Templates section in the Kaviyo UI, and click to edit the desired template.
  2. Click on the text block into which to want to add personalization fields.

  3. Add the following custom property, using this format:
     {{ person|lookup:'PersonalizedFieldName'|default:'None' }}

    • Change PersonalizedFieldName to be the exact personalized field name that is also enabled within Optimove for this integration.
    • Change the default value from None to your desired default value for this field. Examples:
      • Hello {{ person|lookup:'FirstName'|default:'Friend' }}
      • Your email address is {{ person|lookup:'Email' }}

For more information about using Custom Properties within Klaviyo email templates, click here.