Products not syncing despite "connected" status and completed actions

  • Hi,

    I'm having issues with Google for WooCommerce not syncing products to Google Merchant Center, despite everything appearing to be working correctly.

    SETUP:
    - Site: hardmann.eu
    - Merchant Center ID: 571792XXX
    - Merchant Center domain: hardmann.eu (claimed and verified)
    - Google Ads ID: 9106125XXX
    - Plugin version: [Latest from wordpress.org]
    - WooCommerce version: [Check: WooCommerce → Status]
    - WordPress version: [Check: Dashboard → Updates]

    ISSUE:
    ✅ Plugin shows "Connected" status
    ✅ API endpoint /wp-json/wc/gla/mc/connection returns {"status":"connected","id":571792XXX}
    ✅ Product feed shows 21 products
    ✅ Action Scheduler shows all 21 actions as "complete"
    ❌ All products remain in "not_synced" status
    ❌ Products are NOT appearing in Google Merchant Center

    STEPS ALREADY TAKEN:
    1. Completely reinstalled the plugin
    2. Reconnected all Google accounts (Google Account, Merchant Center, Google Ads)
    3. Cleared all WordPress caches and transients
    4. Manually triggered Action Scheduler (all 21 actions completed successfully)
    5. Verified no issues via /wp-json/wc/gla/mc/issues (returns {"issues":[],"total":0})
    6. Set up WP-Cron to run every 15 minutes via Plesk scheduled task
    7. Manually executed do_action('woocommerce_gla_update_product', $product_id) for all 21 products
    8. Verified all products are published, have price > 0, and are in stock
    9. Set setup completion flags in database manually

    API RESPONSES:
    - /wp-json/wc/gla/mc/product-feed → 21 products, all with status: "not_synced"
    - /wp-json/wc/gla/mc/connection → {"status":"connected","id":571792XXX}
    - /wp-json/wc/gla/mc/issues → {"issues":[],"total":0}
    - Action Scheduler database: All 21 actions show status: "complete"

    OBSERVATION:
    The plugin executes all Action Scheduler jobs successfully, but the actual push to Google Content API never happens. Products remain in "not_synced" state indefinitely.

    QUESTION:
    Is there a way to:
    1. Manually force the Content API sync?
    2. Debug why the API push is failing despite successful action completion?
    3. Enable debug logging for Google Content API requests?

    ADDITIONAL CONTEXT:
    - I can provide full System Report if needed
    - The connection to Google is working (REST API confirms "connected")
    - Issue persists with all caches disabled
    - No errors in PHP error log or WordPress debug.log

    Wordpress 6.9.1
    WooCommerce 10.5.2
    Google for WooCoommerce 3.5.2

    Any help would be greatly appreciated! This has been going on for several hours and I've exhausted all troubleshooting options.

    Thank you!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • The one endpoint you have not checked is the one that would explain this. /mc/connection reports the Merchant Center link, not a successful product push, so it stays connected even when every upload is rejected. The pushes go out through the WooCommerce Connect proxy, and when they fail there the Action Scheduler job still completes, which is exactly the mismatch you are seeing: actions complete, products stay not_synced, and the issues endpoint has nothing because nothing ever reached the Content API.

    The logs will tell you in a minute. The plugin already logs by default (the woocommerce_gla_enable_debug_logging filter is on unless something turned it off), and the entries land in WooCommerce > Status > Logs under the source google-for-woocommerce. The two that matter are the exceptions from the Merchant Center client and any invalid Guzzle response, since those carry the actual API error body rather than a status word.

    Two configuration cases produce this exact silence. First, the site is linked to one Merchant Center account while the domain claim sits on another one, typically after a multi-client account was involved, in which case uploads are accepted and dropped. Second, a reconnect that reauthorised the Google account without restoring the Content API scope: the connection reads as fine, uploads 403 behind the proxy. If the log shows nothing at all for the sync run, that is its own answer, the batch never ran under the account you are looking at, so check whether the completed actions belong to a stale group after the reinstall.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!