Mixpanel
Send funnel behavior, answers, and payment lifecycle events to Mixpanel, then analyze them with Zellify's agent.
The Mixpanel integration connects each Zellify link to the Mixpanel project that should receive its traffic. It covers browser behavior, funnel answers, payment outcomes, user identity, optional session replay, and agent-assisted analysis.
You can use it to answer questions such as:
Where do visitors leave the funnel?
Which answers correlate with checkout or payment?
Which users reached checkout?
Did browser payment signals match provider-confirmed payments?
Are duplicate deliveries being collapsed into one logical event?
Two separate connections
Mixpanel uses one connection for tracking and another for agent access. They serve different purposes and do not share credentials.
Mixpanel project
Sends browser events to a selected Mixpanel project. Optional server delivery adds retryable funnel events and provider-confirmed billing events.
An organization member in Dashboard → Integrations → Mixpanel
Personal Mixpanel account
Lets Zellify's agent analyze the Mixpanel projects the signed-in person can access. It can also manage Mixpanel resources when that person explicitly asks.
Each Zellify user who wants agent access
Before you start
For browser tracking, collect these values from Mixpanel:
Project Token from Project settings → Access keys
The project's data region: US, EU, or India
For optional server delivery, also collect:
The numeric Project ID from Mixpanel project settings
A service-account username and one-time secret with access to that project
For agent access:
Mixpanel MCP must be enabled for your organization
Your Mixpanel user must have access to the projects you want to analyze
You must choose the same Mixpanel account region during OAuth
See Mixpanel's MCP documentation for the provider-side prerequisites.
Add a Mixpanel project
Select Add project.
Enter a name that identifies the Mixpanel project inside Zellify.
Paste the Mixpanel Project Token.
Select the matching Data region: US, EU, or India.
Choose the browser tracking options described below.
Optional: enable Server delivery and enter its required credentials.
Save the project.
Browser tracking options
Autocapture
On
Tracks supported clicks, form submissions, and page views.
Session replay
Off
Records a sample of browser sessions for playback in Mixpanel.
Sample rate
0% while replay is off
When replay is enabled, choose the percentage of sessions to record.
Zellify does not enable console capture or network recording for Mixpanel.
Optional server delivery
Server delivery adds two capabilities:
A retryable copy of the same Zellify funnel events sent by the browser
Provider-confirmed payment and subscription lifecycle events, including renewals, refunds, past-due subscriptions, and cancellations
Browser tracking remains active when server delivery is off.
When server delivery is enabled, enter the numeric Project ID, the service-account username, and the service-account secret. Zellify encrypts these credentials and does not return the saved secret to the dashboard or agent.
When editing an existing project:
Leave both service-account fields blank to keep the saved credentials.
Enter both fields to rotate the credentials.
Do not enter only one field.
Create a Mixpanel service account
Mixpanel calls this credential a service account, not a system user. Zellify uses it only for server delivery through Mixpanel's /import API. Agent access uses the separate personal OAuth connection.
In Mixpanel, open the project that should receive Zellify events.
Open Project settings → Service Accounts, then select Create service account.
Give the service account Owner or Admin access to this project. Mixpanel requires one of these roles for
/import. Do not grant access to unrelated projects.Copy the username and secret when Mixpanel shows them. The secret cannot be viewed again.
In Zellify, enable Server delivery, then enter the numeric Project ID, username, and secret.
Your Mixpanel user needs Owner or Admin permission to create or manage the service account. See Mixpanel's service-account documentation and Import Events API.
Assign the project to a link
Mixpanel delivery is selected per link. This prevents traffic from one link being sent to the wrong Mixpanel project.
When creating or editing a link:
Open the analytics and tracking destinations.
Find Mixpanel.
Select the Mixpanel project that should receive that link's traffic.
Keep the Mixpanel row enabled.
Save the link.
New links automatically select the first configured product analytics source. Review the selection when your organization has more than one Mixpanel project. Existing links must be edited if they were created before the Mixpanel project was added.
Connect Mixpanel to Zellify's agent
The personal connection is optional. Tracking works without it.
In Connections, select Connect Mixpanel account.
Choose the region used by your Mixpanel account.
Continue to Mixpanel and review the requested access.
Authorize Zellify.
Start a new Zellify agent chat so the connection is available in that session.
The personal connection is read and write. Mixpanel's consent page grants access to event and user-profile data, reports, dashboards, cohorts, metrics, data definitions, saved reports, and business context. Your existing Mixpanel project roles still apply.
Zellify's agent reads data when you ask an analytics question. It uses write operations only when you explicitly ask it to create or change a Mixpanel resource.
Example requests:
"Compare the last 30 days of page views, email captures, and checkouts."
"Show funnel answers by captured email."
"Build a dashboard for journey drop-off, answer distributions, payment outcomes, and delivery health."
"Create a cohort of users who reached checkout but did not complete payment."
"Explain whether browser payment events match provider-confirmed payments."
Funnel events
Zellify sends these browser events with the z: prefix:
z:page_view
A visitor viewed a funnel page.
z:lead
The funnel recorded a lead milestone.
z:page_completed
A visitor completed a page. Includes the time spent on the page and answer data available at that step.
z:email_captured
A visitor submitted an email. Includes the email and the cumulative answer snapshot.
z:checkout_presented
Checkout was shown to the visitor.
z:payment_method_added
Checkout accepted the visitor's payment method.
z:payment_succeeded
The browser observed a successful checkout.
z:payment_failed
The browser observed a failed payment.
z:trial_started
The browser observed a trial start.
z:subscription_started
The browser observed a subscription start.
z:experiment_assigned
The visitor was assigned to an experiment variant.
Common funnel properties
Every Zellify funnel event includes a stable event time and insert ID. Available context includes:
Identity:
$insert_id,$device_id,$user_id, anddistinct_idFunnel: organization, funnel, funnel version, link, experiment, page slug, and destination slug where available
Page: URL, title, hostname, referrer, screen, and language
Visitor context: country, region, city, browser, operating system, and device where available
Attribution: ad network, campaign, ad group, ad, UTM values, and supported click identifiers where available
Event-specific data such as answers, payment details, or experiment assignment
Billing lifecycle events
When server delivery is enabled, payment-provider notifications send these provider-confirmed events:
z:billing.payment_success
A provider confirmed a completed payment.
z:billing.payment_failed
A provider confirmed a failed payment.
z:billing.payment_refunded
A provider confirmed a refund.
z:billing.payment_voided
A provider confirmed a voided transaction.
z:billing.trial_started
A provider confirmed a trial start.
z:billing.subscription_started
A provider confirmed a subscription start.
z:billing.subscription_updated
A provider confirmed a subscription change.
z:billing.subscription_past_due
A provider reported a past-due subscription.
z:billing.subscription_canceled
A provider confirmed a subscription cancellation.
Billing events can include:
Major-unit
amountand uppercasecurrencyproviderandsandboxpayment_kind:one_time,initial,renewal, orupdateProvider customer, event, transaction, subscription, product, and price IDs
Subscription and transaction status, reason, and origin
Recovered link, funnel, experiment, session, and ad attribution where available
event_origin=payment_webhook
Browser success and billing success are different
z:payment_succeeded means the funnel page observed checkout success. z:billing.payment_success means the payment provider confirmed the transaction. They are separate events and should not be combined as duplicates.
Use payment_kind on z:billing.payment_success to separate:
Initial subscriptions:
initialRecurring subscription cycles:
renewalOne-time purchases:
one_timeSubscription changes:
update
For payment completion and revenue reporting, treat the z:billing.* events as the authoritative source when server delivery is enabled.
Identity and funnel answers
Before email capture, Zellify groups the journey under the funnel session as an anonymous Mixpanel user.
When z:email_captured fires:
The captured email becomes the identified user ID.
The event connects the previous anonymous session with the identified user.
$emailand the latest funnel answers are written to the Mixpanel user profile.Later page completions continue updating the profile with the latest answers.
A visitor who never submits an email still has a complete anonymous event history. They can appear in funnel, flow, retention, and behavioral cohort analyses, but no identified user profile is created.
Funnel answer values use stable analytics identifiers where available. Display labels can change when funnel copy changes, so Zellify does not rewrite historical values. Ask the agent to create readable report labels or dashboards from the funnel's answer choices.
Browser and server deduplication
With server delivery enabled, Zellify sends a retryable copy of each funnel event without suppressing the browser event. Both deliveries use the same event name, time, identity, and $insert_id, so Mixpanel reports them as one logical event.
Mixpanel Raw Export can retain both ingested rows. If you analyze Raw Export data, deduplicate using this tuple:
Event name
Identity
Event time
$insert_id
Do not assume the raw row count equals the logical event count. Mixpanel does not publicly guarantee that duplicate raw ingestion is excluded from every usage or billing meter.
Consent and privacy
Mixpanel follows the tracking consent configured for the funnel:
Tracking, autocapture, and replay do not start when consent is missing, invalid, pending, or denied.
Email capture and user identification do not replace tracking consent.
Marketing permission must come from a separate, clearly defined funnel field.
Session replay is off by default and follows its configured sample rate.
Console capture and network recording remain disabled.
Zellify encrypts saved service-account credentials and keeps personal OAuth tokens out of funnel code and agent messages.
Troubleshooting
No Zellify events appear
Check the following:
The correct Mixpanel project is assigned to the link.
The Project Token belongs to the selected region.
The visitor granted tracking consent.
The report uses Zellify's
z:event names.The report time range includes the test session.
Browser events appear, but billing events do not
Billing lifecycle events require server delivery. Confirm that:
Server delivery is enabled.
The Project ID is correct.
The service account can import events into the project.
The payment reached a provider-confirmed state.
The payment can be attributed to the link using that Mixpanel project.
The agent cannot use Mixpanel
Check that:
Your personal Mixpanel account is connected in Zellify.
The OAuth region matches your Mixpanel account.
Mixpanel MCP is enabled for your organization.
Your Mixpanel role can access the intended project.
You started a new agent chat after connecting or reconnecting.
If Mixpanel reports a missing permission, reconnect once and review the new consent page. Do not repeat the same reconnect flow if the requested permission is not listed.
Page-view counts look too high
Do not add Mixpanel's autocaptured $mp_web_page_view to Zellify's z:page_view. Choose one page-view definition for the report.
Raw Export contains duplicate rows
Raw Export can show both browser and server ingestion. Deduplicate on event name, identity, event time, and $insert_id.
Session replay is empty
Confirm that replay is enabled, its sample rate is above zero, and the visitor granted tracking consent.
A dashboard cannot save more reports
Mixpanel plan limits apply. Mixpanel Free currently limits each user to five saved reports. Consolidate related metrics into five reports or use a Mixpanel plan with a higher limit. See Mixpanel's report limits.
Related Mixpanel documentation
Last updated

