Blog

Google for WooCommerce not syncing after the Merchant API switch

Products stuck at Not synced in Google for WooCommerce? How to read the log and fix the three Merchant API data source errors before Black Friday.

If your WooCommerce products have sat at “Not synced” or “Pending” in Google for WooCommerce this autumn, the cause is usually the Merchant API. The plugin moved off Google’s Content API in version 3.8.0 in July, and the Merchant API puts every product into a data source in Merchant Center. When the plugin can’t find a data source it may use, or Google refuses the one it tries to create, nothing syncs and your free listings and Shopping ads go quiet.

The short answer: update to 3.10.0, read the plugin’s log to see which of three errors you have, and fix the data source side. Two of them have a clear fix today. The third is still being investigated by WooCommerce, and I’ll say what I’d check meanwhile.

Key takeaways

  • Google for WooCommerce stopped syncing because the Merchant API only accepts products into a data source of the API type. Many stores had the wrong kind of source, or none Google would accept, and the Content API reached its sunset on August 18, 2026, so there is no going back. arvindkumar.ca
  • Update the plugin to 3.10.0 or later. That version skips file-upload and local-only sources instead of stalling on them. arvindkumar.ca
  • The Product Feed screen often shows only a status, so read the google-for-woocommerce log and search for dataSource, destinations and has not been set up to find which of three errors you have. Also check Scheduled Actions, because the plugin stops a job once too many runs fail. arvindkumar.ca
  • If the log says the data source must have an API input type, let the plugin create its own API source next to your file or Google Sheet source by running a full sync from the Connection Test page. A file source can’t be turned into an API source, and I’d delete the old one only once nothing else feeds it. arvindkumar.ca
  • “Destinations of the data source are invalid” means Google refused to create the plugin’s data source because of the marketing methods it asked for. WooCommerce is still investigating, so check that free listings and Shopping ads are active, that the store isn’t on a multi-client account, and open a ticket. Don’t keep forcing full syncs. arvindkumar.ca
  • “Merchant Center has not been set up correctly” means the plugin’s own checks failed before anything was sent. Disconnect and reconnect your accounts under Marketing, then Google for WooCommerce, then Settings, which is a common fix after a domain change. arvindkumar.ca
  • The sync is healthy when products reach Active in the Product Feed and new changes sync on their own. Check this well before Black Friday on November 27, because Google needs time to review products after they sync. arvindkumar.ca

Summarised from this post, formatted for answer engines.

Why did Google for WooCommerce stop syncing products?

It stopped because the Merchant API only accepts products into a data source of the API type, and many stores had the wrong kind of source or none Google would accept. Google’s sunset page says the Content API for Shopping reached its sunset on August 18, 2026, so there is no going back.

The plugin’s code shows what it does now. For each language and feed label it looks for an API source, named like Google for WooCommerce (en/CA). It adopts and renames a matching API source with another name, such as the old “Content API” one. If it finds none it can use, it creates one with Shopping ads and free listings turned on. Sources that take file uploads or only local products are skipped and left in place. Version 3.10.0, released on October 20, is the one that skips those instead of stalling on them.

How do I find out which sync error I have?

Read the plugin’s log, because the Product Feed screen often shows only a status.

  1. Check the version under Plugins. It worked if Google for WooCommerce shows 3.10.0 or later.
  2. Open WooCommerce, then Status, then Logs, and pick the google-for-woocommerce source. It worked if you see lines from recent sync runs.
  3. Search the log for dataSource, destinations and has not been set up. It worked if one of the three errors below matches.
  4. Open WooCommerce, then Status, then Scheduled Actions, and search for gla/jobs. It worked if you can see whether jobs such as update_products are failing. The plugin stops a job once too many runs fail, so a quiet queue can mean a stopped job.

How do I fix “the data source must have an API input type”?

Let the plugin create its own API source next to the file one, then run a full sync. The log reads “To manage items via the API, the data source must have an API input type”, then “API data sources cannot have a fileInput field set”. It appears when Merchant Center already has a matching source that takes a file: a Google Sheet, or an XML feed from another feed plugin. A file source can’t be turned into an API source, so there is nothing to edit.

  1. In Merchant Center, open Settings, then Data sources, and note each product source and its Source column. It worked if you can say which one is a file or sheet and what feeds it.
  2. Go to /wp-admin/admin.php?page=connection-test-admin-page as an administrator or shop manager. This is the plugin’s hidden debug page, and WooCommerce’s documentation sends you there for a full sync. It worked if a page titled Connection Test loads.
  3. Under MAPI Data Sources, press List Data Sources. It worked if each source shows with its kind and fileInput yes or no.
  4. Under Product Sync, tick Async and press Sync All Products with Google Merchant Center. It worked if a new Google for WooCommerce source appears in Merchant Center and Product Feed statuses move from Not synced to Pending.

That is how the store in the resolved support thread fixed it: the forced sync made a new Merchant API source and every product was approved. Only then did the owner remove the old sheet. I’d delete a file source only once I knew nothing else feeds it.

What does “Destinations of the data source are invalid” mean?

It means Google refused to create the plugin’s data source because of the marketing methods it asked for. The line looks like Destinations of the data source are invalid: SHOPPING_PLUS, and since 3.10.0 several stores report it ending in ORGANIC_EXPERIENCES. Merchant Center then shows no product source at all.

Neither value is in Google’s published list of destinations, and the plugin asks for SHOPPING_ADS and FREE_LISTINGS. Google’s Merchant API reference says only destinations already enabled on the account can be enabled on a data source. On November 4, WooCommerce said in the support forum that the team is investigating, and that the error points to a feed not approved for free listings. My reading is that the account hasn’t joined one of the two programs the plugin asks for, but nobody has confirmed it. Until there is a fix, I’d check this:

  • In Merchant Center, open Settings, then Add-ons, and see whether free listings and Shopping ads are both active.
  • Make sure the store isn’t on a multi-client account. The plugin’s FAQ says those aren’t supported.
  • Open a ticket with WooCommerce with the full log line, the plugin version and your country.
  • Don’t keep forcing full syncs. Each fails the same way, and the failures are what stop the jobs.

Why does it say Merchant Center “has not been set up correctly”?

It says that when the plugin’s own checks fail before anything is sent, so this one isn’t about data sources. WooCommerce’s support explained that the check needs Merchant Center setup finished, a WordPress.com connection with an owner, and a claimed website URL that matches your site URL, and that the result is cached for up to 12 hours. It is common after a domain change. Their advice was to disconnect the accounts under Marketing, then Google for WooCommerce, then Settings, reconnect them, and sync again.

How do I know the sync is healthy again?

You know when products reach Active in the Product Feed and new changes sync on their own. WooCommerce’s FAQ says a product syncs through an async job whenever you update it. Edit one product’s price, wait a few minutes, and check that the log shows the sync with no data source error.

The same Merchant Center data feeds free listings and Google’s AI shopping answers, which is why I covered Google’s conversational attributes for WooCommerce feeds. None of that works with a broken primary source.

Black Friday is November 27, and Google needs time to review products after they sync. If your Product Feed shows anything other than Active today, read the log this afternoon, find your error above, and get any ticket open now rather than in the week of the sale.

4 questions about Google for WooCommerce sync errors, answered

Why are my WooCommerce products stuck on "Not synced" or "Pending" in Google?

The cause is usually the Merchant API, which the plugin has used since version 3.8.0. If the plugin can't find a data source it may use, or Google refuses the one it tries to create, nothing syncs.

How do I fix "the data source must have an API input type" in Google for WooCommerce?

Merchant Center already has a matching source that takes a file, such as a Google Sheet or an XML feed, and that can't be converted to an API source. Run a full sync from the plugin's Connection Test page so it creates its own API source, and delete the old file source only once nothing else feeds it.

What does "Destinations of the data source are invalid" mean?

It means Google refused to create the plugin's data source because of the marketing methods requested. WooCommerce says it is investigating and that the error points to a feed not approved for free listings, so check that free listings and Shopping ads are both active in Merchant Center.

How can I tell if Google for WooCommerce is syncing properly again?

Products should reach Active in the Product Feed, and changes should sync on their own. Edit one product's price, wait a few minutes, and check that the log shows the sync with no data source error.

Read next