Migrate your Google Content API export to Merchant API (single account)
Learn how to migrate your Google Content API for Shopping export to the new Merchant API destination before Google shuts down the Content API on August 18, 2026.
Google is shutting down the Content API for Shopping on August 18, 2026, in favor of the new Merchant API (generally available since July 2025). If you use a Content API-based destination to export your product data to Google Merchant Center, you need to migrate to the Merchant API destination before that date to keep your exports running.
This migration is mandatory, but full feature parity is maintained and your export templates require no changes. You only need to add the new destination, configure it, and disable the old one.
Terminology note
Throughout this guide, data source refers to a data source (feed) as configured in Google Merchant Center — not a Productsup data source — unless explicitly labeled Productsup data source or feedback data source (both of which are Productsup entities used in the feedback-file workflow described in Enable the feedback file).
Scope
This migration covers Content API to Merchant API destinations only. If you deliver your Google feed via SFTP or FTP, this guide does not apply to you. Moving from SFTP to API is a separate change that uses different export templates and isn't required as part of this migration.
Choose your data source strategy (optional)
We recommend keeping the same data source (feed) you already use: map Feed Label, Content Language, and Default Currency Code to the correct target as described in this guide. This approach requires no manual intervention in Google Merchant Center.
This matches Google's "Keep existing Content API data sources" option: data sources created with the Content API for Shopping remain fully compatible with the Merchant API. See Choose your data source strategy in Google's documentation for more information.
Destination name mapping
The following table maps the old destination to its Merchant API replacement.
| Old destination (Content API) | New destination (Merchant API) |
|---|---|
| Google Content API for Shopping | Google Merchant API — single account |
What changes in the destination settings
The destination configuration has changed. The Target Country and Target Language dropdowns are replaced by three free-text fields.
Before, with the Content API destination:
| Field | Example value |
|---|---|
| Target Country (dropdown) | United Arab Emirates |
| Target Language (dropdown) | English |
After, with the Merchant API destination:
| Field | Description | Example value |
|---|---|---|
| Feed Label | Replaces Target Country. Uppercase ISO country code. Maximum 20 characters (A–Z, 0–9, hyphen, underscore). Immutable after feed creation | AE |
| Content Language | Replaces Target Language. ISO 639-1 two-letter code in lowercase. Google validates this server-side and flags mismatches | en |
| Default Currency Code | New field. ISO 4217 three-letter uppercase currency code. See the field mapping table for valid values per country | AED |
Tip
Use the ISO 3166-1 alpha-2 country code in uppercase as your Feed Label (for example, AE, ES, GB) to keep it consistent with how Merchant Center identifies data sources and to ensure you continue pushing to the same primary data source. This value is immutable once the data source is created, so confirm it before saving.
Example: United Arab Emirates / English
| Old setting | Old value | New field | New value |
|---|---|---|---|
| Target Country | United Arab Emirates | Feed Label | AE |
| Target Language | English | Content Language | en |
| — | — | Default Currency Code | AED |
Full field mapping reference
Use this table to find the correct values when you configure the new destination. Feed Label uses the uppercase ISO country code, Content Language uses the lowercase ISO 639-1 code, and Default Currency Code uses the uppercase ISO 4217 code.
| Old: Target Country | Feed Label | Content Language(s) | Default Currency Code |
|---|---|---|---|
| Argentina | AR | es | ARS |
| Australia | AU | en | AUD |
| Austria | AT | de | EUR |
| Bahrain | BH | ar | BHD |
| Belarus | BY | ru | BYN |
| Belgium | BE | fr / nl / de | EUR |
| Brazil | BR | pt | BRL |
| Canada | CA | en / fr | CAD |
| Chile | CL | es | CLP |
| Colombia | CO | es | COP |
| Czechia | CZ | cs | CZK |
| Denmark | DK | da | DKK |
| Ecuador | EC | es | USD |
| Egypt | EG | ar | EGP |
| Ethiopia | ET | en | ETB |
| Finland | FI | fi / sv | EUR |
| France | FR | fr | EUR |
| Georgia | GE | ka | GEL |
| Germany | DE | de | EUR |
| Ghana | GH | en | GHS |
| Greece | GR | el | EUR |
| Hong Kong | HK | zh / en | HKD |
| Hungary | HU | hu | HUF |
| India | IN | en / hi | INR |
| Indonesia | ID | id | IDR |
| Ireland | IE | en / ga | EUR |
| Israel | IL | he | ILS |
| Italy | IT | it | EUR |
| Japan | JP | ja | JPY |
| Jordan | JO | ar | JOD |
| Kazakhstan | KZ | ru | KZT |
| Kenya | KE | en | KES |
| Kuwait | KW | ar | KWD |
| Lebanon | LB | ar | LBP |
| Malaysia | MY | ms / en | MYR |
| Mauritius | MU | en / fr | MUR |
| Mexico | MX | es | MXN |
| Netherlands | NL | nl | EUR |
| New Zealand | NZ | en | NZD |
| Nigeria | NG | en | NGN |
| Norway | NO | no | NOK |
| Oman | OM | ar | OMR |
| Paraguay | PY | es | PYG |
| Peru | PE | es | PEN |
| Philippines | PH | en / tl | PHP |
| Poland | PL | pl | PLN |
| Portugal | PT | pt | EUR |
| Romania | RO | ro | RON |
| Russia | RU | ru | RUB |
| Saudi Arabia | SA | ar | SAR |
| Singapore | SG | en / zh | SGD |
| Slovakia | SK | sk | EUR |
| South Africa | ZA | en | ZAR |
| South Korea | KR | ko | KRW |
| Spain | ES | es | EUR |
| Sweden | SE | sv | SEK |
| Switzerland | CH | de / fr / it | CHF |
| Taiwan | TW | zh | TWD |
| Tanzania | TZ | sw / en | TZS |
| Thailand | TH | th | THB |
| Turkey | TR | tr | TRY |
| Uganda | UG | en | UGX |
| Ukraine | UA | uk | UAH |
| United Arab Emirates | AE | ar / en | AED |
| United Kingdom | GB | en | GBP |
| United States | US | en / es | USD |
| Uruguay | UY | es | UYU |
| Uzbekistan | UZ | uz | UZS |
| Vietnam | VN | vi | VND |
| Zambia | ZM | en | ZMW |
| Zimbabwe | ZW | en | USD |
Migrate to the Merchant API destination
Tip
Take a few screenshots of your current product output before you start. The new destination has been validated internally, but a before-and-after reference lets you confirm it produces identical results, and gives you something to compare against if anything looks unexpected.
Go to Destinations and add Google Merchant API — single account.
Configure the destination: enter Feed Label, Content Language, and Default Currency Code using the field mapping table, and complete all other required credentials.
Switch Active to On and select Save.
Disable the previous destination Google Content API for Shopping and select Save.
Run the site to push your data through the new destination and confirm the output looks correct.
No further action is needed. Export templates require no changes.
Important settings to check before and during the switch
Enable the feedback file
Switch on the feedback file to keep visibility into actionable insights if products get rejected due to data quality issues. If something goes wrong, the feedback file is available as an additional downloadable Productsup data source, showing what's failing and why.
Some clients don't use the feedback file, so sites can fail silently. This isn't caused by the migration — it's caused by unrelated data quality issues that only the feedback file would surface.
If you enable the feedback file and start seeing more errors than before, two separate things are usually happening:
- Real product-level errors from Google become visible. Many accounts never had the feedback file enabled under the Content API, so Google's product-level rejections went unnoticed. In most cases, these errors are pre-existing catalogue or data-quality issues that existed before the migration.
- Unmapped-items notifications appear as separate UI noise. The feedback file arrives as an additional feedback data source in Productsup and isn't automatically mapped to your main Productsup data source. This can trigger extra notifications that look like errors but aren't actual export problems. To reduce this noise, map ID to ID from the feedback data source to your main Productsup data source, or snooze the notification on the feedback data source.
Use Force Full Upload and Cleanup with care
Caution
Only switch on Force Full Upload or Cleanup when there's a clear, identified need — for example, when Productsup and Google Merchant Center are de-synced and products still exist in GMC that Productsup has no record of, and only when Productsup is the single source of truth for that data source (feed). Leaving these options on unnecessarily increases the risk of hitting your daily quota limits. Disable them again as soon as the sync is back to normal.
Set the Full Upload Interval correctly
Google removes products from Merchant Center if they haven't been refreshed within 28 days. Full Upload Interval controls how often Productsup sends your entire catalogue to Google as a full upload, rather than only new or changed products. This refreshes every product's timestamp, including unchanged ones, and prevents Google from dropping them after 28 days.
Caution
Do not set Full Upload Interval to 0, especially on a schedule that runs daily. A value of 0 forces a full upload on every run, which removes the delta export benefit and significantly increases the risk of hitting your daily quota.
The more often you export, the larger this value should be, closer to 28. The less often you export, the smaller it should be, for example 7–14, so unchanged products still get refreshed before Google's 28-day cutoff.
Do not use Dry Run for this migration
Dry Run is intended for new clients who are still testing their data setup before going live. If your site is already running in production, using Dry Run interferes with your normal delta and export flow. Add and activate the new destination as described in Migrate to the Merchant API destination instead.
After the switch
Once you've switched, the data source may still be labeled Content API inside Google Merchant Center.
This is expected and won't affect your exports. The label in Merchant Center hasn't been renamed yet, but the underlying integration is already Merchant API and continues to work after August 18, 2026.
To confirm the switch was successful, check that:
- Products in the data source (feed) have an update timestamp after the switch.
- There has been a successful run since the switch.
- The feedback file shows no issues.
Fallback procedure
If something goes wrong after switching, restore your previous setup:
Disable the new Google Merchant API — single account destination.
Re-enable the old Google Content API for Shopping destination.
Restart the delta on the site and run it again to restore normal data flow.
Contact your Customer Success Manager or support@productsup.com immediately to report the issue.
Act quickly. The faster you switch back, the shorter the gap in data delivery.
FAQ
Do I need to update my export templates?
No. Export templates for Google Content API for Shopping remain unchanged. Only the destination changes.
What actually changes in the destination configuration?
The Target Country and Target Language dropdowns are replaced by three free-text fields: Feed Label (for example, AE), Content Language (for example, en), and Default Currency Code (for example, AED). See What changes in the destination settings for the full breakdown and the field mapping table for all 71 countries.
Will my data source in Merchant Center change?
No. If you follow this guide and use the recommended Feed Label, an uppercase ISO country code, Productsup pushes to the same primary data source (feed) as before. No manual action is needed in Merchant Center. See Choose your data source strategy.
After the switch, my data source in Merchant Center is still labeled Content API. Did the migration fail?
No, this is expected. Even though the data source may still show as Content API in the Merchant Center UI, you're already exporting via the new Merchant API destination under the hood, and it continues working past August 18, 2026, as long as you've switched to Google Merchant API — single account in Productsup. See After the switch.
Why are we still using Google Content API export templates?
This is intentional. The Merchant API destination was built to work with your existing Content API export templates, so you don't need to change them now or in the future.
Do I still need to choose between the single-account and multi-threading destinations?
No. The new Google Merchant API — single account destination handles this automatically. It's a unified solution that replaces both the Google Content API (single account) and Google Content API (single account + multi-thread) destinations, so you no longer need to choose between them.
What happens if I don't migrate by August 18, 2026?
The Content API stops accepting requests and your exports fail until you switch to a Merchant API destination.
What if I only use one feed?
No additional action is needed. Data is pushed to your main catalogue automatically.
What is the correct Feed Label value?
Use the ISO 3166-1 alpha-2 country code in uppercase, for example GB, ES, AE. It must match the feed label configured in Merchant Center. This value cannot be changed after the data source (feed) is created.
How do I confirm the switch was successful?
Check that products in the data source (feed) have an update timestamp after the switch, that there's been a successful run since, and that the feedback file shows no issues, or only pre-existing issues unrelated to the migration. See After the switch.
What if something goes wrong after switching?
Follow the Fallback procedure: disable the new Merchant API destination, re-enable the old Content API destination, restart the delta, run again, and contact us immediately. Act quickly, since the faster the fallback, the shorter the gap in data delivery.
Should I turn on Force Full Upload or Cleanup during the switch?
Only if there's a clear, identified need, for example if Productsup and Google Merchant Center are de-synced and Productsup is the single source of truth for that data source (feed). Otherwise, leave them off. See Use Force Full Upload and Cleanup with care.
What should Full Upload Interval be set to, and why does it matter?
Never 0. Google removes products that haven't been refreshed in 28 days, and Full Upload Interval refreshes unchanged products so they aren't dropped. As a rule of thumb, the more frequently your site runs, the higher this number should be, closer to 28. The less frequently it runs, the lower it should be, for example 7–14. See Set the Full Upload Interval correctly.
I'm seeing frequent internal_error responses in the feedback file. What's going on?
The Merchant API is still going through some instability on Google's side. internal_error and similar transient failures are typically temporary issues on Google's side rather than something caused by your setup or by Productsup. See Google's Merchant API known issues for current known issues.
How is this guide?