Platform
Update

Search Ads 360 joins as a reporting platform — with offline conversion upload

TL;DR

Search Ads 360 is available to every organization: it arrived on 18 September as an org-gated preview while the doubleclicksearch scope awaited Google's verification, and was released to everyone the same day at the owner's instruction. What follows is what the integration does — and an honest account of what SA360's API does and does not let anyone do.

What shipped

  • Reporting across engine accounts — search and report over the Search Ads 360 Reporting API, plus search_fields for discovering what a query can ask for.
  • list_accessible_customers and list_custom_columns, so a manager account can find its clients and the columns they have defined.
  • Anomaly detection, the same mechanism the other metrics platforms use.
  • Offline conversion upload — upload_conversions, update_conversions and update_conversion_availability, which are the only writes the scope carries.
Six reads and three writes. The three writes are all conversion-related, and that is not a scoping decision on our side — see below.

What SA360's API does not let anyone do

The Search Ads 360 Reporting API is reporting only. Campaigns, bids and budgets are managed on the engine account — Google Ads, usually — or in the SA360 interface itself. No integration built on this scope can change a campaign, because the endpoints do not exist.

The one write the doubleclicksearch scope carries is the legacy Search Ads 360 API's offline conversion upload. That is genuinely useful — it is how closed revenue gets back to the bidding — but it is the whole write surface, and any tool claiming more on SA360 is either using the engine account underneath or overstating.

Two things a live test taught

  • The field-discovery query has no FROM clause. searchAds360Fields uses a query language that looks like GAQL and is not — including a FROM returns a 400, and the self-repair hint that would have explained it never reached the user because the error arrived before the repair path.
  • A customerId-keyed conversion row needs campaignId and adGroupId too, and the segmentation type must be Floodlight. A Google Ads engine account's click uploads are not Floodlight conversions, so those route to google_ads.upload_click_conversions instead — the same job, a different API.
Manager accounts reading client data need the login-customer-id header, which is the same shape as Google Ads MCC access and the same thing people forget.

Frequently asked questions

Can I connect Search Ads 360?
Yes — the card is on the Integrations page for every organization. If Google shows an "unverified app" notice on the consent screen for the doubleclicksearch scope, that is Google's verification status for the scope, not a fault in the connection; the connection works once you continue.
Can an agent change SA360 campaigns or bids?
No, and neither can anything else built on this API. The Search Ads 360 Reporting API is reporting only — campaigns, bids and budgets are managed on the engine account or in the SA360 interface. The one write the scope carries is offline conversion upload.
What writes does the SA360 integration have?
Three, all conversion-related: upload_conversions, update_conversions and update_conversion_availability. They come from the legacy Search Ads 360 API rather than the new Reporting API.
Why does my SA360 field query return 400?
Most likely a FROM clause. The searchAds360Fields query language resembles GAQL but does not take FROM, and including one is rejected before any repair hint can explain it.
Try it on your own account

Start free — 2,500 credits a month, no credit card. Reads are free, and every write waits for your approval.

Related releases