• Resolved manishkshwh

    (@manishkshwh)


    Title:

    Critical Data Integrity Issue: Google Listings & Ads Causing Missing Order Items in Lookup Table Description:

    We identified a serious data integrity issue affecting WooCommerce order processing, potentially caused by the Google Listings & Ads plugin. Summary of issue

    Orders are correctly stored in:

    wp_woocommerce_order_items

    However, some line items are missing from:

    wp_wc_order_product_lookup

    This causes:

    • Missing products in WooCommerce admin order view
    • Incorrect packing lists
    • Risk of short-shipping orders
    • No error or warning in admin

    Evidence 1. Database mismatch confirmed

    Example:

    SELECT COUNT(*) FROM wp_woocommerce_order_items WHERE order_id = X;
    — returns 7

    SELECT COUNT(*) FROM wp_wc_order_product_lookup WHERE order_id = X;
    — returns 5 2. Scope of issue

    • 132 affected orders
    • 1,671 missing line items
    • Issue spans multiple years and worsens over time

    3. Action Scheduler failures

    Large number of failed actions tied to GLA:

    gla/jobs/update_products/process_item → 650 failures
    gla/jobs/resubmit_expiring_products/process_item → multiple failures
    gla/jobs/update_merchant_product_statuses → failures

    Errors include:

    • “Error updating Google product”
    • job processing failures
    • repeated retries

    4. Timing correlation

    • Missing lookup rows occur during same periods as heavy GLA failures
    • Suggests plugin is interrupting or conflicting with order-related writes

    5. WooCommerce behavior

    WooCommerce admin UI appears to rely on:

    wp_wc_order_product_lookup

    When lookup entries are missing:

    • Items are not shown in admin
    • No fallback to wp_woocommerce_order_items
    • No error raised

    Mitigation applied

    • Disabled:
      • Google Listings & Ads plugin
      • HPOS data sync (was enabled while HPOS disabled)

    After disabling:

    • No new missing lookup entries observed (pending further testing)

    Questions

    1. Can GLA background jobs interfere with order creation or analytics lookup writes?
    2. Should WooCommerce fallback to wp_woocommerce_order_items if lookup rows are missing?
    3. Is there a known issue with:
      • Action Scheduler failures
      • lookup table writes being interrupted
    4. Should lookup table writes be transactional or retried?

    Impact severity

    This is a high severity issue because:

    • Silent failure (no admin warning)
    • Causes incorrect order fulfillment
    • Leads to customer-facing errors (missing products)
    • Difficult to detect without direct DB inspection

    Suggested improvements

    • Add validation between order_items and lookup table
    • Add admin warning when mismatch occurs
    • Add retry mechanism for lookup writes
    • Ensure plugin failures cannot interrupt core data writes

    Environment

    • WooCommerce 10.4.3
    • MariaDB 10.5
    • WordPress (Cloudways)
    • HPOS disabled, but data sync previously enabled

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there,

    Thank you for the detailed report and for sharing your investigation findings we appreciate the thorough information provided.

    From the Google Listings & Ads (Google for WooCommerce) perspective, the plugin operates through background jobs (via Action Scheduler) to synchronize product and merchant data with Google services. These jobs are designed to work independently and do not modify or write WooCommerce order data or order lookup tables directly.

    The failed actions you mentioned (for example:
    gla/jobs/update_products/process_item,
    gla/jobs/resubmit_expiring_products/process_item, etc.) are related specifically to product synchronization with Google Merchant Center and should not affect WooCommerce order creation or core order data storage.

    To further investigate why the background actions related to the plugin are not working properly, please share the information requested below so we can look into the issue further:

    • System Status Report which you can find via WooCommerce > Status
    • Fatal error logs (if any) under WooCommerce > Status > Logs.

    Please use https://pastebin.com/ or https://gist.github.com/ and share a link to that paste in reply here. Once we have more information, we’ll be able to assist you further.

    Regarding the lookup table behavior (wp_wc_order_product_lookup)

    Since this table and its synchronization are handled by WooCommerce core, we recommend reaching out to the WooCommerce support team for further investigation. Please create a ticket here:
    https://ww.wp.xz.cn/support/plugin/woocommerce/#new-topic-0

    This will allow the issue to be handled separately by the WooCommerce team, who can review the core data handling and provide further guidance on this aspect.

    Thank you for cooperation.

    Plugin Support Ejay F – a11n

    (@ejayfernandes)

    Since we haven’t received any updates from you, I’ll mark this as resolved for now. If you need further assistance, you’re welcome to start a new thread.

    If you have time, we’d be grateful for a review: https://ww.wp.xz.cn/support/plugin/google-listings-and-ads/reviews/

Viewing 2 replies - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.