Klaviyo

Automatically capture user emails and campaign attribution from your funnels into Klaviyo.

How It Works

  1. User interacts with your funnel

    • The user enters their email during the flow or authenticates via Google OAuth

  2. Automatic Klaviyo sync

    • Email is added to the Klaviyo list specified in your campaign

    • Profile is created with unconverted status and metadata

    • Note: the campaign must have a Klaviyo List ID configured

  3. Conversion tracking

    • When the user completes a purchase, status updates to converted

    • Conversion date and additional metadata are recorded

  4. Campaign attribution

    • Klaviyo campaigns can be tracked and attributed to conversions

Setup Process

1) Connect your Klaviyo account

  • Go to Settings → Integrations in your Zellify dashboard

  • Click Connect next to Klaviyo

  • Enter your Klaviyo Private API Key

Find your Private API Key in Klaviyo under Settings → API Keys.

2) API key validation

Zellify validates your key by:

  • Testing connectivity to the Klaviyo API

  • Fetching available lists from your account

  • Confirming permissions

3) Configure Klaviyo List ID in campaigns (Required)

For each campaign, specify which list receives emails:

  • Navigate to Tracking Links

  • Create or edit a campaign

  • In Integrations, enter your Klaviyo List ID

  • Save the campaign

Find your List ID in Klaviyo under Lists & Segments (see list details/URL).

4) Campaign assignment

When steps 1–3 are complete, emails are automatically added to the specified list when users:

  • Authenticate through your funnel

  • Interact with campaign tracking links

Features

Automatic email collection

  • Email tracking: collected on manual entry or via Google OAuth

  • Deduplication: smart profile matching prevents duplicates

Conversion tracking

  • Status management: unconverted → converted

  • Timestamps: signup and conversion dates

  • Metadata enrichment: funnel ID, organization ID, custom properties

Profile management

  • Smart matching by email

  • Property updates to keep data consistent

  • Error resilience: failed syncs do not interrupt funnel flows

Profile Data Structure

When emails are added to Klaviyo, profiles include properties such as:

{
  "email": "[email protected]",
  "properties": {
    "conversion_status": "unconverted",
    "signup_date": "2024-01-15T10:30:00Z",
    "organization_id": "org_abc123",
    "funnel_id": "funnel_xyz789",
    "funnel_name": "Product Quiz"
  }
}

After conversion:

{
  "properties": {
    "conversion_status": "converted",
    "conversion_date": "2024-01-16T14:20:00Z"
  }
}

Integration Points

Funnel Event
Klaviyo Action
Status

User Authentication

Add email to list

unconverted

Purchase Complete

Update conversion flag

converted

Error Handling

The Klaviyo integration is designed to be non-blocking:

  • Failed API calls don't interrupt funnel flows

  • Rate limiting handled with exponential backoff

  • Invalid API keys detected during validation

  • Network errors trigger automatic retries (up to 3 attempts)

Best Practices

Campaign attribution

  • Use consistent UTM parameters in your links

  • Configure Klaviyo to capture UTMs for attribution

  • Build segments on conversion_status for targeting

List management

  • Create dedicated lists per funnel or campaign

  • Use segmentation to target unconverted leads

  • Automate welcome and conversion flows

Data hygiene

  • Review conversion rates by funnel regularly

  • Monitor for duplicates and API usage limits

Troubleshooting

Integration not working
  • Verify API key permissions in Settings → Integrations

  • Check that the Klaviyo List ID is configured in the campaign

  • Ensure the List ID exists and is accessible in Klaviyo

  • Confirm the organization is correctly configured

Missing emails
  • Verify List ID is set in Tracking Links → Campaign

  • Check that the specified Klaviyo list exists

  • Verify email validation in your funnels

  • Review error logs in the Zellify dashboard

Conversion tracking issues
  • Confirm payment provider webhooks are configured

  • Check that purchase events are being recorded

  • Verify emails match between signup and purchase

Last updated