Amplitude

Automatically track funnels, conversions, subscriptions, and payments into Amplitude.


How It Works

  1. Connect Amplitude

    • Go to Settings → Integrations in Zellify dashboard

    • Enter your Amplitude API Key

    • Select Server Zone (US or EU)

    • Optionally enable Session Replay (sample rate 0-100%)

  2. Event Tracking

    • Zellify automatically streams funnel, payment, subscription, and authentication events to Amplitude

    • Events include metadata like funnel ID, campaign ID, session ID, and user email

  3. Analysis in Amplitude

    • Events appear in real time

    • Build dashboards, funnels, and retention reports


Setup Process

  1. Connect Your Amplitude Account

    • Go to Settings → Integrations

    • Click Connect next to Amplitude

    • Enter your Amplitude API Key

    • Choose Server Zone (US or EU)

  2. API Key Validation

    • Zellify validates by sending a test event

    • Confirms connectivity and permissions

  3. Optional: Enable Session Replay

    • Toggle Session Replay in settings

    • Set Sample Rate (0-100%)

  4. Optional: Enable Answer Text for Multiple Choice

    • Go to Settings → Advanced

    • Enable "Include answer text in webhooks" toggle

    • When enabled, zellify_user_answer events will include human-readable answer text for multiple choice questions

  5. Save & Start Tracking

    • Events from all funnels automatically sent to Amplitude


Features

  • Funnel Tracking - Track funnel progression, view presentations, completions, conversions

  • Session Replay - Capture replay sessions (optional)

  • Payment Tracking - Monitor successful, failed, pending, processing payments

  • Subscription Tracking - Track activations, cancellations, trial starts, status updates

  • User Identity - Emails synced as user_id

  • Flexible Metadata - All events include tracking IDs, funnel/campaign names, and contextual properties

  • Cookie Consent Support - Events queued when consent pending, sent when allowed, blocked when declined


Events Sent to Amplitude

Funnel Events

zellify_funnel_started

Triggered when: User lands on first page of funnel

Properties:

zellify_page_view

Triggered when: User enters or completes a funnel page

States:

  • presented - Page is displayed to user

  • converted - User completed the page and moved forward

Properties:

Note: There are two types of converted events:

  • EXPLICIT - Sent when frontend explicitly fires view complete event

  • AUTOMATIC - Sent as fallback when user enters next page (only if explicit not sent)

zellify_funnel_completed

Triggered when: User completes entire funnel (reaches last page)

Properties:


User Events

zellify_user_email_collected

Triggered when: User submits email during registration

Properties:

zellify_user_answer

Triggered when: User completes a page with form fields

Sent: One event per answer (sent when page is completed)

Properties:

Answer Value Formats:

  • Text/Email/Phone: String value

  • Number/Slider: Numeric value

  • Single Choice: Answer ID (with optional zellify_answer_text)

  • Multiple Choice: Array of answer IDs (with optional zellify_answer_text as comma-separated)

  • Date: ISO date string

  • Boolean/Checkbox: true/false

Deduplication:

  • Events are cached for 1 hour per session+field combination

  • Duplicate answers within the hour are automatically skipped

  • Prevents duplicate events if user goes back and resubmits

How to use in Amplitude:

  1. Search for event: zellify_user_answer

  2. Filter by zellify_question_text to analyze specific questions

  3. Segment by zellify_answer_value to group users by responses

  4. Create cohorts based on answer patterns (e.g., users who answered "Daily" for training frequency)

  5. Use zellify_answer_text for readable multiple choice analysis (when enabled)


Payment Events

All payment events include these common properties:

  • zellify_payment_successful — Triggered when payment is completed successfully

  • zellify_payment_failed — Triggered when payment fails or is declined

  • zellify_payment_processing — Triggered when payment is being processed

  • zellify_payment_pending — Triggered when payment is pending

Note: Payment events are deduplicated using in-memory cache (5-minute window) to prevent duplicates from webhook retries.


Subscription Events

All subscription events include these common properties:

  • zellify_start_trial — Customer starts a trial subscription

  • zellify_subscribe — Customer subscribes (non-trial)

  • zellify_subscription_activated — Subscription becomes active

  • zellify_subscription_trial_started — Trial period begins

  • zellify_subscription_canceled — Subscription is canceled

  • zellify_subscription_past_due — Subscription payment is past due

  • zellify_subscription_paused — Subscription is paused

  • zellify_subscription_unpaid — Subscription is unpaid

  • zellify_subscription_updated — Subscription details are updated


Common Event Properties

Base Properties (included in most events)

  • zellify_funnel: Formatted as funnel_{funnelId} (legacy format, still included)

  • zellify_funnel_id: Numeric funnel ID

  • zellify_funnel_name: Human-readable funnel name

  • zellify_campaign_id: Tracking link/campaign ID

  • zellify_campaign_name: Human-readable campaign name

  • zellify_abtest_id: A/B test experiment ID (if applicable)

Identity Properties

  • device_id: Tracking session ID (anonymous identifier)

  • user_id: User email address (when authenticated)

Context Properties

  • zellify_slug: Page slug identifier

  • zellify_view_cid: Unique view component ID

  • zellify_view_name: Human-readable page name

  • zellify_country: User's country code (ISO 2-letter)

  • url: Current page URL


Zellify respects user cookie consent preferences:

  • Pending: Events are queued in memory until user decides

  • Allowed: All queued events are flushed to Amplitude

  • Declined: Events are blocked, queue is cleared

This ensures compliance with GDPR and other privacy regulations.


Error Handling

  • Invalid API keys detected during validation

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

  • Failed Amplitude calls are non-blocking—funnel flows continue

  • Duplicate prevention via in-memory caching for critical events


Best Practices

Segmentation & Analysis

  • Use Amplitude cohorts to segment by funnel, subscription status, or conversion events

  • Create conversion funnels from zellify_funnel_startedzellify_page_view (converted) → zellify_payment_successful

  • Analyze drop-off rates between funnel pages

  • Segment users by zellify_user_answer responses for behavioral analysis

Performance & Cost

  • Enable Session Replay sampling thoughtfully (5-10%) to avoid excessive data usage

  • Events are automatically deduplicated to reduce unnecessary volume

  • Answer events are sent only when pages are completed (not on every field change)

Data Quality

  • Ensure correct region (US/EU) for data compliance

  • Test integration with Amplitude's test mode first

  • Use zellify_campaign_name and zellify_funnel_name for easier dashboard filtering

  • Enable answer text toggle only if you need human-readable multiple choice values

Campaign Tracking

  • Set up UTM parameters on your funnel links to populate campaign data

  • Use zellify_campaign_id to track performance by traffic source

  • Leverage zellify_abtest_id for A/B test analysis

  • Track full conversion path from campaign to payment


Troubleshooting

Events not appearing in Amplitude

  1. Check API key is valid in Settings → Integrations

  2. Verify correct Server Zone (US vs EU)

  3. Check browser console for cookie consent status

  4. Ensure Amplitude integration is marked as "Active"

Duplicate events

  • Payment events have 5-minute deduplication

  • Answer events have 1-hour deduplication per field

  • Converted page events have 1-hour deduplication per view

  • If duplicates persist, check for multiple Amplitude integrations

Missing properties

  • Ensure tracking link is properly configured for campaign tracking

  • Check that funnel has UTM parameters in the URL

  • Verify user has completed authentication for user_id to appear

  • Enable "Include answer text" toggle for zellify_answer_text property


Migration Notes

Deprecated Events

  • zellify_user_answers (plural) — REMOVED due to property explosion issue

    • Use zellify_user_answer (singular) instead

    • Each answer is now sent as individual event

    • Better for long-term scalability and Amplitude property limits

Last updated