CONNECTOR

Google Analytics 4

LIVE

What Google Analytics knows about your traffic, in the same warehouse as your spend and your money.

WHAT IT CONNECTS

Your GA4 property, read-only, through a service account you grant access to. Not the Universal Analytics data Google retired, and not a replacement for GA4 itself. Your reports carry on working exactly as they do now.

GA4ONE MODELEVERY SOURCE, ONE DEFINITION OF SPEND
Google Analytics 4 is one line in. Every line meets the same model.

WHAT COMES ACROSS

What lands in the warehouse

Sessions and channels

By source, medium and default channel group.

Landing pages

With country and city.

Key events

By event name and source.

BigQuery export

Where a BigQuery export exists we read that too, which gets us event-level detail the reporting API will not give.

Synthetic sample, not a client’s datagold_ga4_sessions_by_channelOne row per client, day and channel. Sessions and key events as GA4 counts them, grouped into channels by source and medium.
gold_ga4_sessions_by_channel. One row per client, day and channel. Sessions and key events as GA4 counts them, grouped into channels by source and medium. Synthetic sample data; no client is named or represented.
datechannelsessions (Platform-estimated)engaged_sessions (Platform-estimated)key_events (Platform-estimated)
2026-09-14Organic Search41226319
2026-09-14Paid Social28814111
2026-09-14Direct1671026
2026-09-14Email54394

The column names are the ones the warehouse writes. The rows are invented.

WHAT WE DO WITH IT

Traffic on its own tells you how many people arrived. Put it beside the ad spend that bought them and the money that actually landed, and it tells you which channel is worth more than it costs. That is the question GA4 cannot answer alone, and it is the reason this connector exists.

WHAT YOU GRANT

Viewer access on the GA4 property for a Grapeworks service account, using the read-only analytics scope. Nothing we hold can change a setting, edit a report or write an event. You revoke it in the GA4 admin screen in about ten seconds and the connection stops that night.

Every read is scoped to one client before it executes. A query that reaches outside that client is rejected, not quietly trimmed.

New agency clients are provisioned in the UK. Our existing estate runs on UK and European infrastructure, and we are migrating it to the same footing.

STATUS

LIVE

Running today against real client data, consultant-operated.

It runs every morning at 03:10 UTC across the client fleet, registered as an enabled timer. If a day fails, the history rebuilds from what is already stored without going back to Google.

Everything Kist plugs into, and the honest status of each.