Integrations
Compare with Google Analytics 4
GA4 runs in the browser, so it never sees agents that skip JavaScript, and it counts browser-based agents as people. The GA4 reconciliation report puts the two side by side and explains the gap, day by day.
What the report shows
| Number | Means |
|---|---|
| GA4 sessions | What Google Analytics reported |
| People (Punchline) | Human and AI-referred sessions |
| Agents GA4 likely counted as people | Browser-based agents (signed agents, headless and automated browsers). An estimate |
| Agents GA4 never sees | Fetchers, crawlers and declared agents that never load GA4's script |
| Unexplained | GA4 minus (people + likely-counted agents). Negative usually means consent banners or ad blockers stopped GA4 |
GA4 days use your property's time zone; Punchline's are UTC, so single days can differ even when totals agree.
Connecting GA4
Punchline reads GA4 read-only, as daily totals: no user-level data, and no Google credential is stored (it uses identity federation). Connect it in Site settings → Integrations → Google Analytics 4 (Growth plan and up):
- In GA4, add the service account shown on that card as a Viewer on your property (Admin → Property access management).
- Add a DNS TXT record
punchline-site=<your site ID>to the domain your property's web stream measures, or to its parent domain (acme.comcoverswww.acme.com). The card shows the exact value. - Enter the numeric Property ID (Admin → Property details, not the
G-measurement ID) and press Connect GA4.
Why the DNS record: every Punchline customer shares their property with the same service account, so being able to read a property doesn't prove it's yours. Only your domain's owner can add the record, so nobody else can connect your GA4 data to their site. Punchline checks it once, when you connect; you can remove the record afterwards.
From the API or your AI tools
GET /v1/reconciliation?from=…&to=…, or the get_reconciliation MCP tool: "How many of last month's GA4 sessions were probably agents?"
Import your GA4 history
With GA4 connected, Reports → GA4 history → Import GA4 history brings in up to 14 months of daily totals (sessions, users, page views and engagement, by GA4's channel grouping, device and country), so your reports don't start from zero the day you install Punchline. These are GA4's own numbers and definitions, clearly labelled: its sessions include automated traffic GA4 didn't filter, so compare them with Punchline's using the comparison above. Only aggregates are imported; import again any time to refresh.
Ask the docs
Answers come from these docs only, written by Claude (Anthropic). Your question is sent to answer it, and isn't stored.