Integrations

What FunnelKeeper connects to

FunnelKeeper answers one question — did the spend pay back — so it reads the three things that question needs: what you spent, what people did, and what you earned. Every source below is read-only unless the row says otherwise.

The minimum to get a verdict

One spend source, one traffic source, and one place your revenue lives. Google Ads + GA4 + your database is the common shape; PostHog and first-party tracking cover the case where there is no replica to expose.

Conversions & revenue

Where the money actually lands. Rows in your own database, or events you send us directly.

Traffic & behaviour

How people arrive and how far through the funnel they get.

Paid acquisition

What you spent, by channel and campaign, in the ad account's own currency.

Session recordings & friction

The rage clicks and dead clicks behind a step that leaks.

Tracking quality

Whether the measurement you are trusting is actually live.

Access at a glance

The same table the dashboard enforces. Two rows can write, and both need a person.

SourceContributesAccessCadence
MySQL Conversions & revenue read-only Hourly
Postgres Conversions & revenue read-only Hourly
MongoDB Conversions & revenue read-only Hourly
First-party event tracking Conversions & revenue you send, we store Real time
Google Analytics 4 Traffic & behaviour read-only Daily
PostHog Product analytics read-only Daily, and on demand
Google Ads Paid acquisition read + human-approved proposals Daily
Meta Ads Paid acquisition read + human-approved proposals Daily
Microsoft Clarity Session recordings read-only, your token Daily, one sampled pull
Semrush Search visibility read-only, your key Weekly, and only weekly
Google Tag Manager Tracking quality read, plus publish on explicit confirm Daily tag audit

Questions people ask before connecting

Which integrations do I need for a payback verdict?

Three things have to be present: spend, funnel events, and revenue. That is usually Google Ads or Meta for spend, GA4 or PostHog for traffic, and your own database or first-party event tracking for conversions and revenue. Everything else — Tag Manager, Clarity, Semrush — is context that makes the verdict easier to trust.

Does FunnelKeeper write to any of these systems?

Reads only, with two named exceptions. Tag Manager can publish the FunnelKeeper tracking snippet, but only when you explicitly confirm it. Google Ads and Meta budget changes are possible, but only as a proposal a human approves in the app — a database constraint stops a proposal reaching approved without a person recorded against it.

What if my tool is not on this list?

Send the events yourself. First-party event tracking accepts funnel events from a browser snippet or your backend, and the REST API and MCP server expose the same write path to an agent. If your revenue lives in a database we do not list, tell us — the database adapters are config-driven, not bespoke code.

Where are the credentials stored?

Encrypted at rest in Postgres with AES-256-GCM, bound per row, and never returned by the API or shown back in the dashboard. Public tracking write keys are the deliberate exception: they ship in your page source, so they can only write events and are revoked by rotating them.

Can an AI agent connect these for me?

Yes, and that is the intended path. Over MCP an agent holds connect_mysql, connect_posthog, connect_clarity, set_semrush_key and connect_source_start — the last returns the one Google consent link a human has to click. Every call lands in the audit log under the agent's key.

One source is enough to start. The first sync backfills 30 days, then keeps deepening.

Start free