Klaviyo Integration
Overview
Klaviyo is a powerful email marketing and customer data platform designed for e-commerce businesses. The Klaviyo integration package enables seamless synchronization of customer lists and event tracking between Klaviyo and your systems, allowing you to build sophisticated email marketing campaigns and customer engagement workflows.
This integration uses the Klaviyo SDK to provide reliable connections to your Klaviyo lists for managing subscribers and tracking customer events.
Key Features
📧 List Management
Add, remove, and sync members across Klaviyo lists for targeted email campaigns
📊 Event Tracking
Track customer events and behaviors to power personalized marketing automation
🔄 Bi-Directional Sync
Both pull and push operations to keep contact data synchronized across platforms
👥 Customer Profiles
Sync email addresses, phone numbers, and custom properties for rich customer profiles
🎯 Segmentation Ready
Organize subscribers in lists for precise audience targeting and campaign management
⚡ Workflow Integration
Seamlessly integrate with multi-step workflows for automated marketing operations
When to Use This Integration
- Sync subscribers from e-commerce platforms to Klaviyo email lists
- Track customer events like purchases, cart abandonment, or page views
- Remove unsubscribed users from Klaviyo lists when they opt out elsewhere
- Pull list members to sync Klaviyo contacts with CRM or database systems
- Automate list management based on customer behavior or lifecycle stage
- Build marketing workflows triggered by customer actions across systems
Configuration
Required Fields
Configure the Klaviyo integration with your API credentials and list information:
{
"klaviyo": {
"api_key": "pk_8eef70f5c90d76f5ecd2c10487b7f9c402",
"list_id": "KKbLLU"
}
}api_key
Type: String (required)
Description: Your Klaviyo Private API Key
Format: Starts with pk_ (e.g., pk_8eef70f5c90d76f5ecd2c10487b7f9c402)
Location: Klaviyo Account → Settings → API Keys → Private API Keys
list_id
Type: String (required)
Description: The unique identifier of the Klaviyo list to work with
Example: KKbLLU
Location: Klaviyo Lists → Select List → Settings → List ID
🔑 How to Get Your API Key
- Log into your Klaviyo account
- Navigate to Account → Settings → API Keys
- Under Private API Keys, click Create Private API Key
- Give it a name (e.g., "Retrieve Integration") and set appropriate permissions
- Copy the full API key (starts with
pk_)
📋 How to Find Your List ID
- Go to Lists & Segments in your Klaviyo account
- Click on the list you want to integrate with
- Go to Settings tab
- Find the List ID (typically 6 alphanumeric characters)
Available Actions
📥 Add List Members
Add or update subscribers in Klaviyo lists with email and phone data
Push / Destination🗑️ Remove List Members
Remove subscribers from Klaviyo lists to keep audiences clean and compliant
Push / Destination📤 Pull List Members
Retrieve all members from a Klaviyo list for synchronization with other systems
Pull / Origin📊 Track Events
Send customer events and behaviors to Klaviyo for marketing automation
Push / DestinationUse Cases
🛍️ E-commerce Customer Sync
Automatically add customers to Klaviyo when they make purchases or create accounts in your e-commerce platform.
📧 Newsletter Subscription Management
Sync website newsletter signups to Klaviyo lists for email marketing campaigns.
🎯 Behavior-Based Segmentation
Track customer events (purchases, page views, cart abandonment) to trigger targeted campaigns.
🔄 CRM Integration
Keep Klaviyo lists synchronized with your CRM for unified customer data management.
⚖️ Compliance Management
Automatically remove unsubscribed users from Klaviyo when they opt out in other systems.
📊 Analytics & Reporting
Pull Klaviyo list data for analysis, reporting, or syncing to data warehouses.
API Rate Limits
Klaviyo API Limits
Klaviyo enforces rate limits to ensure platform stability:
- Standard rate limit: Varies by endpoint and account type
- Burst allowance: Short bursts allowed, then throttled
- Best practice: Add delays between batch operations
- 429 responses: Implement retry logic with exponential backoff
💡 Rate Limit Best Practices
- Use batch operations when adding multiple members
- Configure appropriate
chunk_waiting_timein workflows - Monitor API usage in Klaviyo account dashboard
- Implement error handling for rate limit responses
- Consider upgrading Klaviyo plan for higher limits if needed
Data Privacy & Compliance
GDPR & Privacy Regulations
When working with Klaviyo customer data, ensure compliance with privacy regulations:
- ✅ Obtain consent before adding contacts to email lists
- ✅ Respect unsubscribe requests and sync them across all systems
- ✅ Handle personal data securely during transfers
- ✅ Maintain audit trails of consent and subscription sources
- ✅ Implement data retention policies consistent with regulations
- ✅ Provide data deletion mechanisms when users request removal
⚠️ Important: Email Marketing Compliance
Adding contacts to Klaviyo lists without proper consent violates CAN-SPAM, GDPR, and email marketing laws. Always obtain explicit permission before subscribing users to marketing communications.
Field Mapping
Standard Fields
Map your source system fields to Klaviyo's expected format:
{
"mapped_fields": [
{
"origin_field": "Email1",
"destination_field": "email",
"convert_function": ""
},
{
"origin_field": "PhoneNumber1",
"destination_field": "phone_number",
"convert_function": ""
}
]
}📝 Field Requirements
- email: Required for all list operations. Must be valid email format.
- phone_number: Optional. Include country code for best results (e.g., +1234567890).
- Custom properties: You can include additional fields in your mapping for custom profile properties.
Troubleshooting
🔴 Issue: "Invalid API Key"
Cause: API key is incorrect, expired, or doesn't have required permissions.
Solution: Verify API key in Klaviyo settings. Ensure it's a Private API Key (starts with pk_) and has appropriate permissions for lists and tracking.
🔴 Issue: "List not found"
Cause: List ID is incorrect or list was deleted.
Solution: Check list_id in Klaviyo Lists → Settings. Ensure list exists and ID is correct (case-sensitive).
🔴 Issue: "Rate limit exceeded"
Cause: Too many API requests in short time period.
Solution: Increase chunk_waiting_time in workflow settings. Reduce batch sizes. Implement retry logic with delays.
🔴 Issue: "Invalid email address"
Cause: Email format validation failed.
Solution: Validate email addresses before sending to Klaviyo. Ensure proper format (user@domain.com) and no special characters.
🔴 Issue: "Member already exists"
Cause: Email already exists in the list.
Solution: This is typically not an error. Klaviyo will update existing member. Use add action for upsert behavior.
Performance Optimization
⚡ Batch Operations
Process multiple members in batches rather than individual API calls:
- Configure chunk_size in Retrieve workflow (typically 50-200)
- Add chunk_waiting_time between batches (1000-3000ms recommended)
- Monitor API response times and adjust accordingly
🎯 Selective Syncing
Only sync necessary data to reduce API calls:
- Filter records before sending to Klaviyo
- Use incremental sync based on last modified dates
- Skip unchanged records to avoid unnecessary updates
⏰ Schedule During Off-Peak
For large list syncs, schedule workflows during low-traffic hours to minimize impact and stay within rate limits.
Support & Resources
For help with Klaviyo integration:
- Check the Klaviyo Developer Documentation
- Review Klaviyo API Keys guide
- See Lists & Segments API reference
- Check Track API documentation
- Contact Retrieve support for integration-specific questions