# FunnelKeeper + Google Analytics 4

> Sessions, channels and landing pages — the traffic half of the payback join.

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.

- **Category:** Traffic & behaviour
- **Access:** read-only
- **Sync:** 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.
- **On demand:** yes — Sync now is 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

| Surface | How |
| --- | --- |
| 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 |

## FAQ

### 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.

## Related

- [Google Tag Manager](https://funnelkeeper.com/integrations/google-tag-manager/) — Catch the broken tag that is quietly spoiling every number you trust.
- [Google Ads](https://funnelkeeper.com/integrations/google-ads/) — Spend at campaign, ad group, keyword and ad grain — so each row gets a real ROAS.
- [PostHog](https://funnelkeeper.com/integrations/posthog/) — Product analytics as the funnel, plus the replay behind each drop-off.

Full catalogue: https://funnelkeeper.com/integrations/ · Machine index: https://funnelkeeper.com/llms.txt
