FunnelKeeper + Google Ads
FunnelKeeper reads what you spent and puts it next to what that spend earned. Budget changes are possible, but only as a card a person approves — the API cannot execute one on its own.
What FunnelKeeper reads from Google Ads
- Daily spend by campaign, ad group, keyword and ad
- Impressions and clicks alongside each spend row
- Amounts in the ad account's native currency, converted from micros to integer cents
- Account structure, so manager-owned accounts resolve to the right customer id
What it never does
- No spend change is ever executed by an agent or by the Keeper. Proposals return pending_human
- Policy caps are enforced at the API boundary — an over-cap proposal is refused, not escalated
- You never supply a developer token; FunnelKeeper uses its own
How to connect Google Ads
Integrations → Google → Connect with Google, then pick the Ads account connect_source_start with kinds: ["google_ads"] fk connect google-ads --product <slug> POST /connect/google/start Daily. Campaign spend backfills in stages up to a year on a new connection, then reads a rolling 7-day window; the ad-group, keyword and ad grain always reads the last 7 days.
Google Ads questions
Can FunnelKeeper change my budgets?
Only with your tap. The Keeper can propose a change with a rationale and a rollback condition; it arrives as a card with one number and two buttons. A database constraint — not application code — stops a proposal reaching approved without a human recorded against it.
How does click attribution reach my funnel?
Through the gclid. Set the tracking template once from Integrations (GET and POST /products/{slug}/connections/google-ads/url-suffix) and the click id lands in your own tables or tracked events, where the attribution mapping resolves it to the paid_google channel.
One sign-in for GA4, Tag Manager and Ads?
Yes. A single Google grant per account serves all three; you then pick the GA4 property, the GTM container and the Ads customer on the return screen.
Usually connected alongside
Google Analytics 4
Sessions, channels and landing pages — the traffic half of the payback join.
Read what it pulls →Meta Ads
Campaign delivery and spend, subject to FunnelKeeper's policy walls.
Read what it pulls →Google Tag Manager
Catch the broken tag that is quietly spoiling every number you trust.
Read what it pulls →Connect Google Ads on the free tier. The first sync backfills history, so the dashboard opens with something in it.
Start freeAgents: the same page as markdown at /integrations/google-ads.md.