When an offline upload returns CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE, I check access before rewriting the CRM export.
The June restriction targets tokens without upload history. It does not explain every failure of a long-running import. An integration that worked for months may have changed credentials, lost access or hit a different restriction.
Two changes to separate
Google’s deprecations list gives the offline-upload window: 17 December 2025 to 15 June 2026. Tokens with no uploads in that window are restricted from UploadClickConversions. Google recommends the Data Manager API.
There is also a September change. Google moved API access to Cloud projects on 9 September 2026. Its access guide explains how existing access levels were transferred. The conversion guide says the historical June restriction remains.
I check the Cloud project, approved access and upload history together. Having an old token is not a current health check.
New adopters of session attributes and IP data have faced a separate allowlist restriction since 2 February. Those fields are available through the Data Manager API, but regional matching limits still matter.
The scheduled-file path
Google documents automatic imports from Google Sheets or files over HTTPS or SFTP. A local file can be uploaded manually; it is not itself a scheduled source. Scheduled enhanced-conversion uploads require pre-hashed user data.
I use this route when the CRM can produce a reliable file with a stable shape. I define the export, schedule, owner and error review. Small volume does not justify stale data: Google’s FAQ recommends daily uploads where possible.
The Data Manager API path
The API supports offline conversions and enhanced conversions for leads. I map click identifiers or the other documented matching inputs, timestamps, value, currency and consent.
The destination’s operating account must own the conversion action. That differs from some Google Ads API configurations and is an explicit migration check.
There are differences beyond field names. Google’s upgrade guide says Data Manager supports value restatements but not conversion retractions that remove the count. I check correction requirements before moving a working pipeline.
I also exclude IP matching for EEA, UK and Swiss users, as Google’s upload guide requires. Encryption and hashing do not replace consent or regional restrictions.
How I choose
Comparison table — scroll horizontally to see all columns
| What I find | Likely route |
|---|---|
| Reliable file export and supported scheduled source | Scheduled import |
| Webhook-driven outcomes or several mapping steps | Data Manager API pipeline |
| Working eligible Google Ads API import | Verify current access before deciding to migrate |
| Missing identifiers or unreliable CRM outcomes | Fix the source data first |
These are engineering choices, not Google volume thresholds.
What I hand over
For a file import, I provide the export mapping, schedule and a check of accepted and rejected rows.
For an API build, I add stable event references, retries, diagnostics and reconciliation. Receipt by the API is separate from attribution in Ads. I compare the source outcomes with the agreed conversion action and reporting window; I do not promise identical CRM and Ads totals.
The wider context is how Shopify stores feed conversions to Google Ads.
I can build either route
This is part of my offline conversion tracking work. If the source and route are clear, I can quote the implementation directly. If access or identifiers need investigation, I agree a separate diagnostic engagement.