Offline conversions and the Data Manager API: who is affected
Moving offline conversions to the Data Manager API did not switch off every custom upload in June 2026. Google blocked the Google Ads API route for new and dormant integrations, while integrations that were active in the qualifying period kept legacy access for now, and we could find no published end date for it.
If your business sends sales or qualified leads into Google Ads from its own code, you need to know which of those groups you’re in. This page sets out what Google has said, how to check your integration, what moving involves and what remains unconfirmed as of 9 November 2026.
What did Google actually announce?
The Google Ads Help notice says: “Starting June 15, 2026, offline conversions import and enhanced conversions for leads uploads will be migrated to the Data Manager API and blocked in the Google Ads API.” It then adds the exception that matters: “Developer tokens that haven’t sent a request between January 2026 through June 2026 will not be allowlisted for legacy access.”
Read together, those sentences mean the Google Ads API route closed by default and integrations in use during that period stayed on a list of exceptions. Google’s stated replacement is the Data Manager API, which it calls “the new standard for data integration with Google’s ad products”.
Neither of the popular summaries holds up. Custom uploads did not all stop working in June, and an active integration can’t assume its exception will last, since Google labels it legacy access and we’ve found no commitment to keep it open.
Who is affected by the Google Ads API block?
| Your situation | Where you stand |
|---|---|
| New integration using the Google Ads API route since 15 June 2026 | Blocked, so build on the Data Manager API |
| Older integration that sent nothing during the qualifying period | Blocked, and switching it back on won’t restore access |
| Integration actively uploading during the qualifying period | Kept legacy access for now, with no published end date, so treat it as borrowed time |
| Uploads through a Data Manager connector, or a third party such as Zapier or HubSpot | Google supports these routes, and we make no claim either way about whether a particular one is affected |
The dormant group deserves a closer look. An integration paused during a CRM rebuild or a quiet season may have fallen into it without anyone deciding that it should.
What happened to developer tokens?
Older write-ups go out of date at this point. Google sunset developer tokens on 9 September 2026 and moved Google Ads API access to Google Cloud projects, and it says allowlist status was transferred to the associated projects. Its deprecations page says the “historical access restriction” on offline conversions remains in effect.
So the test still rests on what a token did during the qualifying period, even though tokens no longer control access. We’d be careful about moving an existing integration to a different Google Cloud project, because we haven’t seen Google document how legacy access behaves if you do.
How do you check whether your integration is at risk?
- Find what actually sends the conversions. It might be your own code, an old agency script, a middleware tool or the CRM’s native connector. Sometimes the only documentation is a person who left the company.
- Search the code.
UploadClickConversionsis the Google Ads API call for click conversion uploads, and finding it means you’re on the route this change covers. - Search your logs from 15 June onwards. The error to look for is
CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE, which Google says these blocked requests return. - Find your last good upload. If the integration was quiet during the first half of 2026, treat it as dormant until you’ve proved otherwise.
- Compare outcomes. Count the sales or qualified leads your CRM says were sent last month and compare them with the offline conversion action in Google Ads.
- Ask your vendors in writing. If a third party does the sending, ask which route it uses and what its plan is.
Step 5 matters because of how these failures present themselves. PPC Land’s analysis warned that unless the calling system handles that error explicitly, “the upload will fail silently from the advertiser’s perspective”. Smart Bidding stops receiving your real sales, and the first visible symptom may be a campaign drifting for no obvious reason. If your figures have already fallen away, work through what to check first when conversions drop.
What does moving to the Data Manager API involve?
The logic that decides which deals to send stays the same. The way they’re delivered changes in several places.
- Credentials. The Data Manager API uses OAuth with its own scope, so existing Google Ads API credentials won’t carry over. You enable the API in a Google Cloud project, generate new credentials and give that user or service account access to the Google Ads account.
- Request structure. Google publishes field mappings. The conversion action becomes a destination using its numeric ID,
order_idbecomestransaction_id, and GCLID, gbraid and wbraid move underad_identifiers. - Customer data. Hashed email addresses and phone numbers sit inside a
user_dataobject, normalised and SHA-256 hashed first. - Consent.
ad_user_dataandad_personalizationstill travel with the data, set for the whole request or overridden per event. - Timestamps. Google notes the format differs slightly from the one used by the Google Ads API, which is exactly the sort of detail that breaks a feed.
Test with validateOnly, which runs the initial checks without ingesting anything. Then move one conversion action at a time, and don’t send the same conversion down both routes while you do. Google’s upgrade steps don’t address running both, so we treat that as a double-counting risk until shown otherwise.
Google announced on 4 November 2026 that the Data Manager API now supports Google Ads call conversions and row-level diagnostics, which removes one reason to wait if you upload calls.
A migration is also a sensible moment to ask whether like-for-like is what you want. Google describes classic offline conversion import as a legacy feature and recommends upgrading to enhanced conversions for leads. Our comparison of ways to send CRM data to Google Ads covers when a native connector is enough and when custom work earns its keep.
How should your integration handle errors?
The rules change here, and this is the part most likely to bite after go-live. The Google Ads API allowed partial failure, where good records went through and bad ones were reported. The Data Manager API uses a fast-fail model, so one bad record fails every record in that request.
| What goes wrong | How you find out | What your system should do |
|---|---|---|
| A record fails validation on a required field | The whole request is rejected straight away | Isolate the record, hold it for review and resend the others |
| An optional field fails validation | A successful response listing fieldWarnings |
Log it and raise an alert if it keeps happening |
| A problem is found during processing | Only in request status and diagnostics | Call requestStatus.retrieve for every accepted request |
| The legacy route refuses you | CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE |
Stop retrying and tell a person |
| A temporary failure or time-out | A server error or no response | Retry, keeping the same transaction ID on each record |
Google’s own guidance says a successful ingestion request doesn’t guarantee that every record was processed, so diagnostics need checking each time. They report the indexes of affected records, which means storing the order you sent them in if you want to trace a warning back to a specific CRM row. A nightly job that logs “200 OK” and nothing else is how a broken feed survives until the next budget review.
What remains unconfirmed?
- An end date for legacy access. We could find none published.
- The exact qualifying period. Google Ads Help says January 2026 through June 2026, while Google’s developer deprecations page says 17 December 2025 to 15 June 2026. An integration last used in late December sits between the two.
- What moving Cloud project does to legacy access. We haven’t found this documented.
- Connector and third-party routes. We’re not making claims about any of them, so get the answer from the vendor.
- How long diagnostics are retained. Google’s error guide doesn’t say, so we’d store the results on our side.
Our Data Manager API migration starts by working out which group you’re in, then moves the uploads inside your own Google accounts against a fixed quote. If you haven’t started sending this data yet, offline conversion tracking for B2B explains why it matters. And if you’d just like to know where you stand, book a call with us or start with a Tracking Audit.