Woocommerce Anaytics Bugs
-
I’ve recently encountered some large discrepancies in the reported sales totals and order totals delivered by analytics and by woocommerce. I’ve spent some time cross referencing our actual payments received with analytics exports and can now verify that these order counts and sales counts are accurate at least.
However the Summaries that are provided on some of the analytics tabs are not correct. Specifically the summaries on the “orders” tab are correct, but the “products” tab says I have two phantom orders and additional revenue that I do not have.
Here are some screenshots:
http://kailashblades.com/wp-content/uploads/2026/03/Screenshot-2026-03-19-214346-scaled.png
http://kailashblades.com/wp-content/uploads/2026/03/Screenshot-2026-03-19-214403-scaled.png
I feel that potentially the products summary tab is interpreting refund actions as new orders and adding the refunded values to the total rather than subtracting them. EG $200 order is refunded in full. The tab counts this as $400 and 2 orders rather than $200 and 1 order or $0 and 0 orders. Alternatively it could be an issue with it being stuck on “date created” while the rest of the analytics tabs and exports are going by “date paid”
For now I can just run from the exports and cleanup manually but it’s less than ideal and will confuse others.
This brings me to 2 additional issues:
Firstly in all analytics tabs and exports that I can tell if an order if fully refunded (by changing the order status) then when calculating net sales it deducts the cost of shipping. It assumes that the order was shipped, hit the customer and was then refunded with the shipping at a loss. Example- an order has a total of 252 with a net sales of 205 and 47 shipping. Analytics tracks your net sales as 205 but if you fully refund it tracks that as net sales deduction of 252 rather than 205 as it should. A lot of customer refunds are change of mind and no shipping fees have been paid when they are refunded so this throws out analytics majorly. A simple fix here is to swap this behaviour to only deduce net sales on full refund rather than net revenue form net sales. A more complicated fix would be to update analytics so that this action only occurs when an order is moved from “shipped” to “refunded” and when moved from other statuses to refunded it assumes that there are no losses incurred from the refund.
The next issue causes issues in analytics but its source is elsewhere. Every now and again I encounter an order that needs to be moved out of paid and back into pending payment- payment issues, things falling through etc. Similarly We place orders “on hold” while they await payment via bank transfer. Both of these events result in the paid date being set irreversibly (without manual database editing). This is a bit insane. It means that orders that are paid for in february show up in january analytics because they checked out in january first even if it was unsuccessful. A fix could be updating analytics behaviour when using “date paid” to run from when the order was most recently moved into processing or shipped if it was never in processing. Potentially there are setting within woocommerce that change this behaviour- I can’t find them though.
Take care,
Andrew
System report is as follows:` WordPress Environment</p> <p>WordPress address (URL): http://kailashblades.com<br>Site address (URL): http://kailashblades.com<br>WC Version: 10.2.2<br>Legacy REST API Package Version: ✔ 1.0.5<br>Action Scheduler Version: ✔ 3.9.3<br>Log Directory Writable: ✔<br>WP Version: ❌ 6.9.1 – There is a newer version of WordPress available (6.9.4)<br>WP Multisite: –<br>WP Memory Limit: 768 MB<br>WP Debug Mode: ✔<br>WP Cron: –<br>Language: en_US<br>External object cache: – Server Environment</p> <p>Server Info: Apache<br>Server Architecture: Linux 6.6.63-MCIclouder663-c9 x86_64<br>PHP Version: 8.4.19<br>PHP Post Max Size: 256 MB<br>PHP Time Limit: 3600<br>PHP Max Input Vars: 3000<br>cURL Version: 8.15.0<br>OpenSSL/3.5.4</p> <p>SUHOSIN Installed: –<br>MySQL Version: 8.4.6-6<br>Max Upload Size: 256 MB<br>Default Timezone is UTC: ✔<br>fsockopen/cURL: ✔<br>SoapClient: ✔<br>DOMDocument: ✔<br>GZip: ✔<br>Multibyte String: ✔<br>Remote Post: ✔<br>Remote Get: ✔ Database</p> <p>WC Database Version: 10.2.2<br>WC Database Prefix: wp_<br>Total Database Size: 394.95MB<br>Database Data Size: 305.76MB<br>Database Index Size: 89.19MB<br>wp_woocommerce_sessions: Data: 32.01MB + Index: 0.12MB + Engine MyISAM<br>wp_woocommerce_api_keys: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_woocommerce_attribute_taxonomies: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_woocommerce_downloadable_product_permissions: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_woocommerce_order_items: Data: 0.76MB + Index: 0.46MB + Engine MyISAM<br>wp_woocommerce_order_itemmeta: Data: 86.74MB + Index: 5.37MB + Engine MyISAM<br>wp_woocommerce_tax_rates: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_woocommerce_tax_rate_locations: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_woocommerce_shipping_zones: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_woocommerce_shipping_zone_locations: Data: 0.68MB + Index: 1.02MB + Engine MyISAM<br>wp_woocommerce_shipping_zone_methods: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_woocommerce_payment_tokens: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_woocommerce_payment_tokenmeta: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_woocommerce_log: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_actionscheduler_actions: Data: 1.03MB + Index: 0.56MB + Engine InnoDB<br>wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_actionscheduler_logs: Data: 0.36MB + Index: 0.30MB + Engine InnoDB<br>wp_aioseo_cache: Data: 0.14MB + Index: 0.03MB + Engine InnoDB<br>wp_aioseo_crawl_cleanup_blocked_args: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_aioseo_crawl_cleanup_logs: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_aioseo_notifications: Data: 1.52MB + Index: 0.06MB + Engine InnoDB<br>wp_aioseo_posts: Data: 1.52MB + Index: 0.09MB + Engine InnoDB<br>wp_aioseo_writing_assistant_keywords: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_aioseo_writing_assistant_posts: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_bv_activities_store: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_comments: Data: 4.52MB + Index: 3.45MB + Engine InnoDB<br>wp_css_js_manager: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_ewd_uwpm_email_links_clicked_events: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_ewd_uwpm_email_only_users: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_ewd_uwpm_email_open_events: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_ewd_uwpm_email_send_events: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_ewwwio_images: Data: 0.53MB + Index: 0.27MB + Engine MyISAM<br>wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_mailchimp_carts: Data: 4.52MB + Index: 0.00MB + Engine InnoDB<br>wp_mailchimp_jobs: Data: 0.05MB + Index: 0.00MB + Engine InnoDB<br>wp_mgmlp_folders: Data: 0.01MB + Index: 0.01MB + Engine MyISAM<br>wp_options: Data: 20.39MB + Index: 4.30MB + Engine InnoDB<br>wp_pmxe_exports: Data: 0.02MB + Index: 0.00MB + Engine MyISAM<br>wp_pmxe_google_cats: Data: 0.26MB + Index: 0.05MB + Engine MyISAM<br>wp_pmxe_posts: Data: 0.03MB + Index: 0.01MB + Engine MyISAM<br>wp_pmxe_templates: Data: 0.03MB + Index: 0.00MB + Engine MyISAM<br>wp_pmxi_files: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_pmxi_hash: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_pmxi_history: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_pmxi_images: Data: 0.01MB + Index: 0.01MB + Engine MyISAM<br>wp_pmxi_imports: Data: 0.06MB + Index: 0.00MB + Engine MyISAM<br>wp_pmxi_posts: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_pmxi_templates: Data: 0.02MB + Index: 0.00MB + Engine MyISAM<br>wp_postmeta: Data: 62.56MB + Index: 28.09MB + Engine InnoDB<br>wp_posts: Data: 6.39MB + Index: 2.34MB + Engine InnoDB<br>wp_redirection_404: Data: 63.59MB + Index: 36.25MB + Engine InnoDB<br>wp_redirection_groups: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_redirection_items: Data: 0.02MB + Index: 0.09MB + Engine InnoDB<br>wp_redirection_logs: Data: 0.08MB + Index: 0.05MB + Engine InnoDB<br>wp_sbi_feed_caches: Data: 3.02MB + Index: 0.02MB + Engine InnoDB<br>wp_sbi_feeds: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_sbi_instagram_feed_locator: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_sbi_instagram_feeds_posts: Data: 0.05MB + Index: 0.03MB + Engine InnoDB<br>wp_sbi_instagram_posts: Data: 1.36MB + Index: 0.00MB + Engine InnoDB<br>wp_sbi_sources: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_sgs_log_events: Data: 3.52MB + Index: 2.52MB + Engine InnoDB<br>wp_sgs_log_visitors: Data: 0.08MB + Index: 0.09MB + Engine InnoDB<br>wp_shopmagic_automation_outcome: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_shopmagic_automation_outcome_logs: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_shopmagic_guest: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_shopmagic_guest_meta: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_shopmagic_marketing_lists: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_shopmagic_optin_email: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_shopmagic_tracked_emails: Data: 0.02MB + Index: 0.05MB + Engine InnoDB<br>wp_shopmagic_tracked_emails_clicks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_snippets: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_term_relationships: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_termmeta: Data: 0.00MB + Index: 0.01MB + Engine MyISAM<br>wp_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_tm_taskmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_tm_tasks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_usermeta: Data: 1.52MB + Index: 0.56MB + Engine InnoDB<br>wp_users: Data: 0.05MB + Index: 0.05MB + Engine InnoDB<br>wp_wc_admin_note_actions: Data: 0.08MB + Index: 0.02MB + Engine InnoDB<br>wp_wc_admin_notes: Data: 0.13MB + Index: 0.00MB + Engine InnoDB<br>wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_wc_customer_lookup: Data: 0.41MB + Index: 0.34MB + Engine InnoDB<br>wp_wc_download_log: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_wc_order_product_lookup: Data: 1.52MB + Index: 1.22MB + Engine InnoDB<br>wp_wc_order_stats: Data: 1.52MB + Index: 0.56MB + Engine InnoDB<br>wp_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wp_wc_product_attributes_lookup: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_wc_product_download_directories: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_wc_product_meta_lookup: Data: 0.02MB + Index: 0.11MB + Engine InnoDB<br>wp_wc_rate_limits: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wp_wc_webhooks: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_wcpdf_invoice_number: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_wcpdf_packing_slip_number: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_wfpklist_template_data: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wp_woo_shippment_provider: Data: 0.14MB + Index: 0.00MB + Engine InnoDB<br>wp_wpmcleaner: Data: 0.00MB + Index: 0.00MB + Engine MyISAM<br>wp_wpml_mails: Data: 3.43MB + Index: 0.01MB + Engine MyISAM<br>wp_wt_iew_action_history: Data: 0.16MB + Index: 0.00MB + Engine InnoDB<br>wp_wt_iew_mapping_template: Data: 0.02MB + Index: 0.00MB + Engine InnoDB Post Type Counts</p> <p>attachment: 588<br>custom_css: 2<br>emailoctopus_form: 5<br>fl-builder-history: 16<br>fl-builder-template: 39<br>giftcard: 4<br>mc4wp-form: 1<br>mgmlp_media_folder: 87<br>nav_menu_item: 73<br>page: 20<br>pi_critical_css: 1<br>popup: 5<br>popup_theme: 8<br>post: 3<br>product: 45<br>product_variation: 55<br>revision: 371<br>shop_coupon: 5<br>shop_order: 6736<br>shop_order_refund: 59<br>sl-insta-account: 1<br>sl-insta-feed: 1<br>sl-insta-media: 1150<br>tm_global_cp: 1<br>tt_font_control: 4<br>wp_block: 1<br>wp_global_styles: 2<br>wp_navigation: 3<br>wp_template: 11<br>wp_template_part: 4<br>wpcf7_contact_form: 1 Security</p> <p>Secure connection (HTTPS): ✔<br>Hide errors from visitors: ✔ Active Plugins (25)</p> <p>Beaver Builder Plugin (Lite Version): by The Beaver Builder Team – 2.9.0.5<br>Contact Form 7: by Rock Lobster Inc. – 6.1.4<br>Fluent Snippets: by Fluent Snippets – 10.51<br>EmailOctopus: by EmailOctopus – 3.1.7<br>Add Himalayan Bank Payment In WooCommerce: by Sanjeev Aryal – 2.2.3<br>Smash Balloon Instagram Feed: by Smash Balloon – 6.10.0<br>jQuery Updater: by Ramoonus – 3.7.1.3<br>Max Mega Menu: by megamenu.com – 3.5<br>Order Export & Order Import for WooCommerce: by WebToffee – 2.6.9<br>Popup Maker: by Popup Maker – 1.21.5<br>Redux Framework: by Team Redux – 4.5.10<br>Regenerate Thumbnails: by Alex Mills (Viper007Bond) – 3.1.6<br>Security Optimizer: by SiteGround – 1.5.9<br>Smart Variations Images & Swatches for WooCommerce: by David Rosendo – 5.2.16<br>SiteOrigin CSS: by SiteOrigin – 1.6.5<br>SVG Block: by Phi Phan – 1.2.3<br>WooCommerce Table Rate Shipping by Mangohour: by mangohour – 1.2.1<br>Spectra: by Brainstorm Force – 2.19.9<br>CTX Feed: by WebAppick – 6.5.69<br>Advanced Shipment Tracking for WooCommerce: by zorem – 3.8.9<br>Ultimate Gift Cards For WooCommerce: by WP Swings – 3.2.4<br>WooCommerce Legacy REST API: by WooCommerce – 1.0.5<br>PDF Invoices & Packing Slips for WooCommerce: by WP Overnight – 4.6.0<br>Extra Product Options & Add-Ons for WooCommerce: by ThemeComplete – 7.5.2<br>WooCommerce: by Automattic – 10.2.2 (update to version 10.6.1 is available) Inactive Plugins (21)</p> <p>Akismet Anti-spam: Spam Protection: by Automattic – Anti-spam Team – 5.4<br>All in One SEO: by All in One SEO Team – 4.8.4.1<br>Asset CleanUp: Page Speed Booster: by Gabe Livan – 1.4.0.3<br>BackWPup: by BackWPup – WordPress Backup & Restore Plugin – 5.2.3<br>Blackhole for Bad Bots: by Jeff Starr – 3.7.5<br>CSS JS Manager, Async JavaScript, Defer Render Blocking CSS: by Pi Websolution – 2.4.49.49<br>LCP Booster for WooCommerce: by Slobodan Manic – 1.0.0<br>Mailchimp for WooCommerce: by Mailchimp – 5.4<br>MC4WP: Mailchimp for WordPress: by ibericode – 4.10.5<br>Redirection: by John Godley – 5.6.1<br>Simple Maintenance: by naa986 – 1.0.4<br>Smart Variations Images & Swatches for WooCommerce: by David Rosendo – 5.2.18<br>Speed Optimizer: by SiteGround – 7.7.2<br>Volumetric Shipping For Woocommerce: by SunArc – 1.0.10<br>WC – APG Weight Shipping: by Art Project Group – 3.4.2<br>WC Speed Repair: by WP Fix It – WordPress Experts – 4.5<br>WooCommerce TM Extra Product Options Weight addon: by themecomplete – 1.0.4<br>WP All Export Pro: by Soflyy – 1.5.1<br>WP All Import: by Soflyy – 4.0.0<br>WP All Import – WooCommerce Add-On Pro: by Soflyy – 3.2.4<br>WP All Import Pro: by Soflyy – 4.5.5 Settings</p> <p>Legacy API Enabled: ✔<br>Force SSL: –<br>Currency: USD ($)<br>Currency Position: left<br>Thousand Separator: ,<br>Decimal Separator: .<br>Number of Decimals: 2<br>Taxonomies: Product Types: external (external)<br>grouped (grouped)<br>simple (simple)<br>variable (variable)<br>wgm_gift_card (wgm_gift_card)</p> <p>Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)<br>exclude-from-search (exclude-from-search)<br>featured (featured)<br>outofstock (outofstock)<br>rated-1 (rated-1)<br>rated-2 (rated-2)<br>rated-3 (rated-3)<br>rated-4 (rated-4)<br>rated-5 (rated-5)</p> <p>Connected to WooCommerce.com: –<br>Enforce Approved Product Download Directories: –<br>HPOS feature enabled: –<br>Order datastore: WC_Order_Data_Store_CPT<br>HPOS data sync enabled: –<br>Enabled Features: analytics<br>marketplace<br>order_attribution<br>site_visibility_badge<br>remote_logging<br>email_improvements<br>blueprint<br>point_of_sale Logging</p> <p>Enabled: ✔<br>Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2<br>Retention period: 30 days<br>Level threshold: –<br>Log directory size: 6 MB WC Pages</p> <p>Shop base: ❌ Page not set<br>Cart: #177 – /cart/ – Contains the woocommerce/cart block<br>Checkout: #178 – /checkout/ – Contains the [woocommerce_checkout] shortcode<br>My account: ❌ Page ID is set<br>but the page does not exist</p> <p>Terms and conditions: #3775 – /modern/terms-and-conditions/ Theme</p> <p>Name: Spectra One<br>Version: 1.1.7 (update to version 1.1.8 is available)<br>Author URL: https://brainstormforce.com/<br>Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme<br>Theme type: Block theme<br>WooCommerce Support: ❌ Not declared Templates</p> <p>Overrides: spectra-one/woocommerce/emails/customer-invoice.php<br>spectra-one/woocommerce/emails/customer-on-hold-order.php<br>/home/customer/www/kailashblades.com/public_html/wp-content/plugins/woocommerce/templates/block-notices/error.php<br>/home/customer/www/kailashblades.com/public_html/wp-content/plugins/woocommerce/templates/block-notices/notice.php version 9.5.0 is out of date. The core version is 10.2.0<br>/home/customer/www/kailashblades.com/public_html/wp-content/plugins/woocommerce/templates/block-notices/success.php</p> <p>Outdated Templates: ❌</p> <pre class=”wp-block-code”><code> Learn how to update | Clear system status theme info cache</code></pre> <p>Admin</p> <p>Enabled Features: activity-panels<br>analytics<br>product-block-editor<br>coupons<br>core-profiler<br>customize-store<br>customer-effort-score-tracks<br>import-products-task<br>experimental-fashion-sample-products<br>shipping-smart-defaults<br>shipping-setting-tour<br>homescreen<br>marketing<br>mobile-app-banner<br>onboarding<br>onboarding-tasks<br>pattern-toolkit-full-composability<br>product-custom-fields<br>remote-inbox-notifications<br>remote-free-extensions<br>payment-gateway-suggestions<br>printful<br>shipping-label-banner<br>subscriptions<br>store-alerts<br>transient-notices<br>woo-mobile-welcome<br>wc-pay-promotion<br>wc-pay-welcome-page<br>launch-your-store</p> <p>Disabled Features: product-data-views<br>experimental-blocks<br>experimental-iapi-mini-cart<br>experimental-iapi-runtime<br>coming-soon-newsletter-template<br>minified-js<br>product-pre-publish-modal<br>settings<br>async-product-editor-category-field<br>product-editor-template-system<br>use-wp-horizon<br>experimental-wc-rest-api</p> <p>Daily Cron: ✔ Next scheduled: 2025-06-30 13:51:10 +10:00<br>Options: ✔<br>Notes: 225<br>Onboarding: completed Action Scheduler</p> <p>Canceled: 22<br>Oldest: 2026-03-19 21:29:20 +1100<br>Newest: 2026-03-19 21:29:20 +1100</p> <p>Complete: 2,598<br>Oldest: 2026-02-17 01:34:59 +1100<br>Newest: 2026-03-19 21:31:21 +1100</p> <p>Failed: 27<br>Oldest: 2025-04-12 14:34:59 +1000<br>Newest: 2025-10-27 23:34:58 +1100</p> <p>Pending: 10<br>Oldest: 2026-03-20 00:32:33 +1100<br>Newest: 2026-03-30 22:24:54 +1100 Status report information</p> <p>Generated at: 2026-03-19 22:20:02 +11:00<br>`
You must be logged in to reply to this topic.