2026-10-18
Google for WooCommerce: "Terms of Service is not signed" and the 12-hour URL check
The plugin's setup page says everything is connected. Merchant Center shows your website as verified and claimed. And yet the product feed page lists every product as "Not synced", and Merchant Center has a handful of products or none.
We hit exactly this on a WooCommerce store in October 2026, running Google for WooCommerce 3.9.6. There were two separate causes, one hiding behind the other. This post explains how to find each and get out of it.
Where the real error lives
Google for WooCommerce does its syncing in the background, through WooCommerce's job scheduler (Action Scheduler). When a background job fails, the plugin's own screens often don't say why. The scheduler does.
Go to WooCommerce → Status → Scheduled Actions, type gla in the search box and open the Failed tab. Each
failed job has a log. Open the newest few and read the last message.
On our store, the jobs named update_merchant_product_statuses had failed twelve times, all with the same message:
Terms of Service is not signed for account [Merchant Center ID]
After enough failures, the plugin stopped scheduling the job, with a second message: the job was stopped "because its failure rate is above the allowed threshold". At that point nothing restarts on its own, even once you fix the cause.
Cause 1: the Merchant Center terms
Google requires the Merchant Center account to have accepted its terms before products can be sent through the API. The plugin's connection screens can look completely green while this is missing.
Fix: the owner of the Merchant Center account signs in at merchants.google.com and accepts the terms Google is waiting for. Look for a banner or a prompt about terms in the account; Google moves these around, so follow what the screen shows. Accepting a legal agreement is the account owner's step. A developer or agency shouldn't do it for them.
Then the stopped jobs need to run again (see the last section).
Cause 2: the cached "URL matches" check
With the terms accepted, we expected sync to start. It didn't. The plugin's connection test reported that "Google Merchant Center has not been set up correctly", even though Merchant Center showed the site as verified and claimed.
The reason: the plugin checks whether your store URL matches the website claimed in Merchant Center, and remembers the answer for about 12 hours. Our check had run while the terms were still unsigned, so it had cached "no". Until that cached answer expired, the plugin wouldn't treat the account as ready to sync, whatever we fixed.
Fix: wait for it to expire. Up to 12 hours from the failed check is the worst case. Then start the sync again. Don't keep reconnecting accounts in the meantime: each attempt can trigger fresh checks, and you'll have no idea which change fixed what.
Starting the sync again
Once the cause is fixed and any cached check has expired:
- Open the plugin's connection test page: in wp-admin, go to
admin.php?page=connection-test-admin-page. - Click "Sync All Products with Google Merchant Center".
- Watch the plugin's product feed page. Products should move from "Not synced" to "Pending", then "Synced".
- Recheck Scheduled Actions → gla → Failed. New failures have a new message, which is your next clue.
If nothing moves and jobs pile up as "Pending" with old dates, the scheduler itself isn't running. That's usually WordPress's cron not firing on a low-traffic site or a host that blocks it. Your host can run WordPress cron from a real server cron job.
A related trap: two sources of products
If Merchant Center showed some products while the plugin synced none, those products probably came from Google crawling your site ("found on your website"), not from the plugin. Once the plugin's feed has all your products, turn the automatic source off in Merchant Center's data sources, so one source holds one set of data. Otherwise you'll see duplicates with different prices or titles.
If your account is also suspended
A sync problem and a suspension are different problems. If Merchant Center shows an account-level issue such as "Misrepresentation", syncing products won't lift it. That needs the store's identity, policies, claims and shipping to line up, and then a review request.
Our Google Merchant Center page has the fixed-price help we offer for that, and the free Merchant Center Check runs on any store. If you'd rather do it yourself, the method, templates and appeal text are in our recovery guide: the Kindle ebook ($6.99), or the workbook edition on that page.
More on WooCommerce and AI shopping
- How to add GTINs in WooCommerce (with the built-in field)
- Is your WooCommerce store ready for ChatGPT checkout?
- Is your WooCommerce store visible in ChatGPT shopping?
- WooCommerce robots.txt for AI crawlers: what to allow
Everything we've published on it · Guides · Free online check