PostHog
For teams using PostHog as their product analytics tool. You'll have funnel events, answer breadcrumbs, and session recordings in your PostHog project. You need a PostHog project and its API key.
What this integration does#
Zellify loads the PostHog SDK on funnel pages. It captures funnel events with a z: prefix, identifies visitors by email (set as the PostHog distinct id), and records sessions. A dedicated z:revenue event fires on purchase with product metadata.
Connect PostHog#
- Open Dashboard → Settings → Integrations.
- Locate PostHog.
- Toggle it on.
- Paste the project API key and pick the region (US or EU).
- Save.
Where to find your project API key#
In PostHog, open Project Settings and copy the project API key.
Events sent#
| Event | Trigger | Key properties |
|---|---|---|
z:page_completed | User completes a funnel page | All answers from that page, attached as event and person properties |
z:email_captured | Email is collected | Full answers (including metadata) on the answers property |
z:checkout_presented | Checkout or payment form is shown | Checkout context |
z:payment_method_added | User enters their payment method | Checkout context |
z:payment_succeeded | Payment completes | Also fires z:revenue |
z:payment_failed | Payment fails | Failure reason |
z:trial_started | Free trial begins | Subscription context |
z:subscription_started | Paid subscription begins | Subscription context |
z:revenue | After a successful payment | See properties below |
See Event reference for the canonical taxonomy.
Funnel answers#
Each answer pushes a property keyed by the question id onto the event and the person. A multiselect pushes an array. On z:email_captured, the full answer set (with metadata) is also attached as the answers property.
User identification#
When z:email_captured fires, Zellify sets the user's email as the PostHog distinct id. Subsequent events attach to that person.
Revenue events#
z:payment_succeeded also emits z:revenue with these properties:
| Property | Type | Example |
|---|---|---|
revenue | number | 9.99 |
currency | string | USD |
product_id | string | prod_123 |
price_id | string | price_123 |
quantity | number | 1 |
revenue_type | string | subscription |
payment_type | string | recurring |
product_name | string | Pro plan |
category | string | subscription |
Automatic tracking#
PostHog autocapture is enabled by default (clicks, inputs, page views), alongside session recording, web vitals, and page-view tracking — all controlled by your PostHog project settings. If you already initialise PostHog elsewhere on your site, disable autocapture on that init to avoid double-counting.
Session replay#
Enabled by default. Input masking is on; passwords and inputs never reach the recording. Configure sample rate in your PostHog project settings.
Region#
Pick US or EU at connect time. Zellify routes to the matching PostHog endpoint.
Test and verify#
- Open a test funnel.
- Advance through a question, the paywall, and a test payment.
- Confirm events in PostHog → Activity.
- Confirm the session recording in PostHog → Session replay.
Troubleshooting#
| Symptom | Likely cause | Fix |
|---|---|---|
| SDK loading twice | Manual PostHog init on your domain plus the Zellify toggle | Remove the manual init on funnel pages |
| Session replay missing | Replay disabled in PostHog project | Enable in PostHog → Project Settings → Recordings |
| Wrong region data | Region mismatch | Re-save the integration with the correct region |