Appearance
Google Ads integration
The Google Ads integration reads the Google Ads API and lands two reports in your own data warehouse. It is read-only reporting: no campaign management, no bid changes, no budget writes.
What the Google Ads integration pulls
| Report | Grain | What lands | Backfill |
|---|---|---|---|
| Campaign performance | One row per campaign per day | Impressions, clicks, cost, conversions and conversion value, in the account's own reporting time zone | As far back as the account has data |
| Clicks | One row per ad click | The click id, campaign, ad group and date | 90 days only |
The click report is the perishable half. Ninety days is a hard limit of the API, so a day not ingested inside that window is a day of attribution lost permanently. The schedule is the retention policy, which is why source freshness for this connector is checked every twelve hours rather than daily.
One field is landed raw and it is stated plainly: the click id. It is a pseudonymous online identifier and personal data under the GDPR. It lands raw because it is a join key, and a hashed join key on one side of a join and a raw one on the other joins nothing. It never becomes a person identifier in its own right and never clusters as an entity on the identity graph.
Demographic and geographic breakdowns sit in the same reporting surface and are never requested. They have no reporting purpose here and they are the natural place a re-identification join starts.
What the Google Ads integration can be used for
Google Ads can be used for return on ad spend measured on your own revenue. The platform reports the conversions it can see. Joined to orders, you get the revenue that actually landed, net of the refunds the platform never hears about.
Google Ads can be used for click-level attribution. The click id lands on the ad side and on the order side, so a specific order maps to a specific click rather than to a modelled share.
Google Ads can be used for spend restatement tracking. Google restates recent days. Recent history is re-pulled on every run, so yesterday's number changing is reflected rather than argued about.
Google Ads can be used for blended acquisition cost across paid search, marketplace advertising and organic, in one table.
Google Ads can be used for keyword-to-content feedback, so paid search terms that convert become briefs for organic articles that do not cost per click.
Google Ads can be used for budget sanity checks in plain language, because an assistant connected to the warehouse can answer which campaign is overspending without anyone opening the ads interface.
Google Ads combined with other integrations
| Combination | What it gives you |
|---|---|
| Google Ads + Shopify | Refund-aware return on ad spend, per campaign, per day |
| Google Ads + Klaviyo | Acquisition cost against email lifetime value for the same person |
| Google Ads + Search Console | Where you are paying for clicks on a term you already rank for organically |
| Google Ads + Bol.com | One paid-media view across your own shop and the marketplace |
| Google Ads + content pipeline | Articles briefed from the paid terms that convert, so organic can take the load off the budget |
What you need to connect Google Ads
- A Google Ads account and a developer token
- OAuth authorisation for a read-only reporting user
- The customer id of the account, and the manager account id if you use one
Frequently asked
Does this replace the Google Ads reporting interface? No. It answers what the interface cannot, because the interface does not know your refunds, your marketplace orders or your email revenue.
Why is the click data only 90 days? That is Google's limit, not ours. It is the reason the ingest schedule is treated as a retention decision.
Can Studio change my campaigns? No. The integration is read-only reporting by design.
Which time zone are the daily figures in? The account's own reporting time zone, landed alongside the row. Daily buckets from Google cannot be recut into UTC after the fact, so alignment happens on the event side at join time.