Skip to content

Troubleshooting

  • invalid_grant: the refresh token was revoked or expired (a Google Cloud OAuth app in testing mode loses tokens after a few days). Click Authorize with Google again, and publish the app to stop it recurring.
  • invalid_client: wrong client ID or secret, or the client type is not “Web application”.
  • redirect_uri_mismatch (shown by Google): the redirect address on the Connection page is not in the OAuth client’s list.
  • HTTP 401 UNAUTHENTICATED on every call: the Cloud project is not registered as a developer for the Merchant API. Click Register API access on the Connection page, wait about 5 minutes, then Check registration. Google refuses test accounts and accounts without a verified website; the connected user needs Admin access.
  • invalid_grant or invalid_client while syncing: the login failed, which is a problem of the connection, not of the products. Nothing is marked as an error; the push job stops and the Connection page shows the failure. Authorize again (OAuth) or check the key (service account) and click Test connection; queued products are then sent.
  • HTTP 403 PERMISSION_DENIED: the Google user or the service account has no access to this Merchant Center ID, or the Merchant API is not enabled in the Cloud project. Add the user (Admin for service accounts) in Merchant Center under Settings, Access and services.
  • Your server must reach Google over HTTPS (port 443) and have a current CA bundle. The Log tab shows Google’s answer (masked).
  • Check Settings > General > Enable and the license status bar.
  • A target needs a first Full sync; products are sent in the background by cron. Open Jobs: if the counts never change, the cron job is not running; run the command from the settings page by hand once.
  • A target set to “disabled” is skipped.

A job is “Waiting to retry” or “Gave up”

Section titled “A job is “Waiting to retry” or “Gave up””

The last error is shown in the list. HTTP 429 means Google’s quota (per minute or per day; the daily quota resets at 12:00 UTC): the add-on waits and continues. Other errors: fix the cause and press Retry.

The message is Google’s answer (for example an invalid value) or one of ours (no title, no usable image, price zero, invalid link). Fix the product and save it, or press Send again.

Open Products and issues, filter “Disapproved” or “With issues”. Every issue shows Google’s description and a “How to fix” link. The usual causes are a missing GTIN or brand (map them on the Mapping page), an image Google cannot fetch, or a price that does not match the product page (check “Add tax”).

An offer is identified by content language, feed label, offer ID and data source. Offers from another channel (a file feed, a manual upload) are separate unless they use the same identity. Do not run a file feed and this add-on for the same country and language: both use the product ID as the offer ID by default and Merchant Center would merge them. Use one channel per market, or set the Offer ID prefix setting and a different feed label.

Use Remove all from Google on the target, or delete the target / change its language, feed label or country: the old offers are queued for deletion and removed by the cleanup job (see Jobs). If the merchant deletes the data source in Merchant Center, the add-on notices, creates it again and sends everything again.