← All integrations Traffic & behaviour

FunnelKeeper + Google Analytics 4

One Google sign-in connects GA4 with read-only scopes. FunnelKeeper reads sessions by channel and landing page, and turns the GA4 events you nominate into funnel stages, so spend has something to be measured against.

Accessread-only
SyncDaily
On demandSync now available

What FunnelKeeper reads from Google Analytics 4

  • Sessions and engaged sessions by channel, at day grain
  • Landing-page traffic, which is what the Pages surface scores
  • GA4 events you map to funnel stages, as daily aggregates

What it never does

  • No writes to your GA4 property. The OAuth grant asks for read-only analytics scopes
  • No user-level export — FunnelKeeper reads the aggregates GA4's Data API returns
  • No refresh token is kept from the Log in with Google flow; that is a separate, smaller grant

How to connect Google Analytics 4

Dashboard Integrations → Google → Connect with Google, or Grant access instead (service-account email)
MCP connect_service_account (zero-click if you have GA4 admin) or connect_source_start with kinds: ["ga4"]
CLI fk connect google-sa --product <slug> or fk connect ga4 --product <slug>
API POST /connect/google/service-account/start or POST /connect/google/start

Daily. A new property backfills in stages — 30 days, then a year, then everything your plan's history window allows — then restates the last 3. Saving credentials also triggers a sync, so the dashboard fills in one step.

Google Analytics 4 questions

Which GA4 events become funnel stages?

The ones you map. Set them in Integrations → GA4 → Event mapping, with MCP set_ga4_event_maps, or via POST /products/{slug}/connections/ga4/event-maps. Each map is an event name plus the canonical stage it counts as — generate_lead as 'lead', for example.

What happens if I connect both GA4 and PostHog?

GA4 owns traffic. Events from two sources would sum in every volume reader, so PostHog then contributes only its mapped events and session replay. The Integrations panel records and shows which source is the traffic owner.

Does this replace my GA4 reports?

No. GA4 stays the better tool for audience and behaviour reporting. FunnelKeeper reads it for the one thing GA4 does not do: joining that traffic to ad spend and to revenue so each channel gets a payback day.

Usually connected alongside

Connect Google Analytics 4 on the free tier. The first sync backfills history, so the dashboard opens with something in it.

Start free

Agents: the same page as markdown at /integrations/ga4.md.