Skip to main content

How can I migrate profiles from Klaviyo to Brevo using PushOwl?

Written by Nayan Kulshreshtha

PushOwl, as part of Brevo, provides a seamless migration experience from Klaviyo to Brevo.

Overview of Migration Services

PushOwl/Brevo makes it straightforward to transfer your profiles from Klaviyo to Brevo. Data migration includes automatic sync of your Klaviyo lists and segments into PushOwl & Brevo with all the customer profiles created in Brevo as contacts. The subscription status is maintained as per what we fetch from Shopify, however.

The PushOwl x Klaviyo integration allows you to sync customer data and automate personalized email/SMS marketing campaigns. Engage effectively with your customer base using Klaviyo's robust email and SMS marketing features directly integrated with your e-commerce operations.

Steps for Migrating Profiles

Follow these steps to ensure a smooth migration from Klaviyo to Brevo:

  • Synchronize Klaviyo with Shopify: Ensure that your Klaviyo account is synced with Shopify. This ensures that customer tags and subscription statuses are accurate and up-to-date.

  • Log in to PushOwl Dashboard - Access your PushOwl dashboard and log in with your credentials.

  • Navigate to Integration Settings In your PushOwl dashboard, click on Settings. Under Settings, select Integrations.

  • Activate Klaviyo Integration Find the "Klaviyo" tile in the integrations section. You will be prompted to enter an API token generated from the Klaviyo account.

  • Generate Klaviyo API Token: Steps to Create a New API Key in Klaviyo. Log in to your Klaviyo account. Go to Integrations → Developer → Manage API Keys. Click Create Private API Key (Custom Scopes) and provide a meaningful name to easily identify its purpose (e.g. PushOwl migration).

  • Set the following required API permissions for smooth integration:

Permission

Used for

Read Accounts

Validate the connection

Read Lists

Sync lists and list members

Read Profiles

Sync profile fields (required when lists exist)

Read Segments

Sync segments and segment members

Read Subscriptions

Map email/SMS consent to Brevo

Read Templates

Template sync (optional until you use Templates Sync)

  • Click Activate to finalize the API key setup.

  • Copy the generated API token and paste it into the PushOwl integration setup panel.

Important Considerations

Data Discrepancies

  • Please note that Klaviyo to Brevo syncs might show data discrepancies due to:

    • Invalid contacts (e.g., malformed emails, invalid SMS numbers).

    • Duplicate contacts

Default Field Mapping

  • The integration uses default mapping for syncing standard contact fields. Custom field mapping or advanced configurations are not supported directly in the UI.

Subscription Status Sync

  • The integration checks whether each contact is subscribed or unsubscribed to email and SMS in Klaviyo and syncs that status to Brevo. Opt-out choices are preserved during the migration.

Attribute Explanation

All available Klaviyo profile properties are synced to Brevo as custom attributes.

Standard Attributes

Brevo Attribute

Description

FIRSTNAME

Customer first name

LASTNAME

Customer last name

SMS

Customer phone number

CUSTOMER_ID

External customer ID

LOCALE

Customer locale

COUNTRY

Customer country

CITY

Customer city

ZIP

Customer zip code

COMPANY

Customer organization/company

TITLE

Customer job title

IMAGE

Customer profile image URL

Activity Timestamps

Brevo Attribute

Description

CUSTOMER_CREATED_AT

Date the profile was created in Klaviyo

CUSTOMER_UPDATED_AT

Date the profile was last updated in Klaviyo

KLAVIYO_LAST_EVENT_DATE

Date of the contact's most recent activity

Location Attributes

Brevo Attribute

Description

ADDRESS_1

Street address line 1

ADDRESS_2

Street address line 2

STATE

State or region

TIMEZONE

Customer's local timezone

IP

Last known IP address

LATITUDE

Geographic latitude

LONGITUDE

Geographic longitude

Consent & Suppression Attributes

Brevo attribute

Description

KLAVIYO_CAN_RECEIVE_EMAIL_MARKETING

yes / no based on property "can_receive_email_marketing"

KLAVIYO_CAN_RECEIVE_SMS_MARKETING

yes / no based on property "can_receive_sms_marketing"

KLAVIYO_IS_EMAIL_SUPPRESSED

HARD_BOUNCE, or USER_SUPPRESSED

KLAVIYO_IS_SMS_SUPPRESSED

HARD_BOUNCE, or USER_SUPPRESSED

KLAVIYO_ACCEPTS_MARKETING

yes / no based property - "Accepts Marketing"

KLAVIYO_EMAIL_SUPPRESSION_DATE

ISO timestamp from first qualifying email suppression

KLAVIYO_SMS_SUPPRESSION_DATE

ISO timestamp from first qualifying SMS suppression

Troubleshooting

Symptom

Likely cause

Fix

Activation unsuccessful. Review key permissions.

Token missing Accounts/Lists/Profiles access

Recreate key with required scopes

Sync already in progress

Overlapping job

Wait; check Contacts Sync modal

Sync unsuccessful. Review key permissions.

Token revoked or scopes changed

Update key in Klaviyo; re-activate

Sub Account not found

Brevo not linked

Complete Brevo setup

Counts lower than Klaviyo

Invalid contacts skipped

Expected; audit Klaviyo list quality


Important Note

Real-time sync from Klaviyo is not supported, please plan on periodic manual Contacts Sync after major Klaviyo changes.


Did this answer your question?