This article explains how to migrate Profiles (Contacts), Segments, and Lists from Klaviyo to SmartPush using the Klaviyo Data Sync integration. The goal is to help you smoothly transition from Klaviyo to SmartPush with minimal setup and data loss.
|
Notes:
|
In This Article
- Overview
- Data Supported
- How Klaviyo Data Is Migrated into SmartPush
- Sync Timing and Frequency
- How to Set Up Klaviyo Data Sync
- Integration Status and Error Handling
- Subscription Status Sync Rules
- Notes and Limitations
- FAQ
Overview
SmartPush supports proactive integration with Klaviyo. By authorizing a Klaviyo Private API Key, SmartPush can automatically sync your Klaviyo contacts and their associated attributes, segments, and lists.
This migration is designed to:
- Reduce switching costs for Klaviyo users
- Preserve existing audience structure
- Allow users to immediately use SmartPush for campaigns, automations, and segmentation
Data Supported
SmartPush currently supports migrating the following Klaviyo data:
Contact (Profile) Data
- Email address
- Phone number
- Profile properties (standard and custom)
- Subscription status (email and SMS, subject to sync rules)
Group Membership
- Segment names
- List names
Segment conditions, flow logic, templates, campaigns, popups, and flows are not supported to be migrated in this phase.
How Klaviyo Data Is Migrated into SmartPush
1. Contacts (Profiles)
SmartPush retrieves all profiles from your Klaviyo account and creates corresponding contacts in SmartPush.
- Each imported contact is assigned a SmartPush UID.
- Contacts imported from Klaviyo are stored only in SmartPush and are not created via Open API in the main store
2. Profile Properties Mapping
SmartPush maps Klaviyo profile properties as follows:
Default Properties
| Klaviyo Property | SmartPush Property | Notes |
| Encrypted | ||
| phone_number | kla_phone_number | Encrypted |
| country | country | Encrypted |
| first_name + last_name | name | Combined into one field |
Custom Properties
- Properties not supported natively by SmartPush are imported as custom properties
- All custom properties are prefixed with kla_ (e.g. kla_$source, kla_locale)
These properties can be used in:
- Segment conditions
- Flow conditions
- Contact list display
3. Segments > SmartPush Tags
Klaviyo Segments are migrated as tags in SmartPush.
- Each segment name is converted into a tag with the prefix:
- kla_segment_
- Naming rules:
- All lowercase
- Spaces converted to underscores (_)
Example:
- Klaviyo segment: Repeat Purchasers
- SmartPush tag: kla_segment_repeat_purchasers
Tags are available under:
- Segments > Other > Custom User Tags
4. Lists > SmartPush Tags
Klaviyo Lists are also migrated as tags in SmartPush.
- Each list name is converted into a tag with the prefix:
- kla_list_
Example:
- Klaviyo list: Newsletter
- SmartPush tag: kla_list_newsletter
These tags can be used for segmentation and targeting.
Sync Timing and Frequency
SmartPush supports both manual and automatic synchronization:
- Manual sync: Triggered when you start a contact sync
-
Automatic sync: Daily incremental sync
- New or updated contacts
- Updated segment and list memberships
How to Set Up Klaviyo Data Sync
Step 1: Open Klaviyo Data Sync
In Smartpush,
- Go to: Contacts > All > Import.
- Select Sync Klaviyo Contacts.
Or
- Go to Apps > Integrations > Klaviyo Data Import Tool.
Step 2: Create a Klaviyo Private API Key
In Klaviyo:
- Go to Account > Settings > API Keys
- Click Create Private API Key in the upper-right corner.
- Ensure the key has permissions to access:
- Profiles (contacts)
- Segments
- Lists
Step 3: Enter the API Key in SmartPush
- Paste the Klaviyo Private API Key into SmartPush.
- Click Integrate.
SmartPush will validate the key and start syncing data.
Integration Status and Error Handling
Integration Status
- Pending Integration: No API key added
- Syncing: API key added, data syncing
-
Sync Paused:
- API key expired or invalid
- Sync error
- Subscription downgraded
Recovery
- Replace with a valid API key > sync resumes automatically
- Upgrade to a paid plan > sync resumes when new data is detected
Subscription Status Sync Rules
When syncing contacts from Klaviyo:
- Subscribed contacts overwrite SmartPush subscription status
- Unsubscribed contacts are maintained locally in SmartPush and do not overwrite
SmartPush handles subscription precedence between platforms automatically. You do not need to manage platform priority manually.
Notes and Limitations
- Segment and list conditions are not migrated
- Tag names are auto-generated and cannot be renamed during sync
- Some Klaviyo properties are read-only or unsupported by API and will not sync
FAQ
- Does syncing Klaviyo overwrite existing SmartPush contacts?
Answer: No, SmartPush uses its latest ID mapping logic to merge contacts safely.
- Can I stop syncing Klaviyo data?
Answer: Yes. You can select Cancel Integration at any time.
- Will SmartPush sync data back to Klaviyo?
Answer: No. This integration is one-way from Klaviyo to SmartPush.

Comments