FunnelKeeper + PostHog
The one source that is both halves at once: a product-analytics warehouse FunnelKeeper reads the funnel out of, and a replay tool it reads friction out of — on a single personal API key.
What FunnelKeeper reads from PostHog
- Sessions and engaged sessions by channel, rolled up from $pageview with first-touch attribution
- PostHog events you map to funnel stages, exactly like GA4 event maps
- Session replay links, plus $rageclick, $dead_click and $exception counts by page
What it never does
- No writes to your PostHog project — the key needs query:read and session_recording:read, nothing more
- No video is copied. Recordings are pointers back into PostHog, where access control stays yours
- No feature flags, experiments or cohorts are touched
How to connect PostHog
Integrations → PostHog → personal API key, project id, host connect_posthog, then set_posthog_event_maps fk connect posthog --product <slug> POST /products/{slug}/connections/posthog Daily, and on demand — PostHog is rate-limited rather than metered, so Sync now works. Saving credentials also triggers a sync, so the dashboard fills in one step.
PostHog questions
Does self-hosted PostHog work?
Yes. The host is part of the connection, so US Cloud, EU Cloud and a self-hosted instance are all valid — paste the base URL you use for the app.
Which scopes does the personal API key need?
query:read for the HogQL endpoint that produces sessions and mapped events, and session_recording:read for replay links and friction counts. Anything wider than that is more access than FunnelKeeper uses.
Is FunnelKeeper a PostHog replacement?
No. PostHog is the stronger product-analytics tool and stays that way. FunnelKeeper adds the two things it does not join for you — ad spend and revenue — and returns a payback verdict per channel. Run both.
Usually connected alongside
Google Analytics 4
Sessions, channels and landing pages — the traffic half of the payback join.
Read what it pulls →Microsoft Clarity
The recording that explains why a step leaks — rage clicks, dead clicks, errors.
Read what it pulls →First-party event tracking
No database to connect? Send funnel events straight from your site or backend.
Read what it pulls →Connect PostHog on the free tier. The first sync backfills history, so the dashboard opens with something in it.
Start freeAgents: the same page as markdown at /integrations/posthog.md.