orders / sessions. Sessions sourced from analytics sibling if connected; else Jetpack Stats fallback. Below 1.5% on a Woo store usually = checkout / page-speed issue, not traffic.
At a glance
Orders divided by sessions. The funnel-health number for Woo. Below 1.5% on a Woo store usually signals a checkout, page-speed, or trust-friction issue, not a traffic problem.
Calculation
Calculated automatically from your WooCommerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK fashion brand on self-hosted Woo with GA4 connected. The 30-day window covers 14 Mar 26 to 12 Apr 26.
Versus prior 30D where the rate was 1.78% (2,210 / 124,200). The card flags a -0.27 ppt drop and the rate is right at the <1.5% alert threshold. Four observations:
- Sessions grew but orders did not. Sessions up 14.7%, orders down 2.6%. The funnel got less efficient. Common cause on Woo: a recent theme or page-builder update added 200ms+ of TTFB (pre-fix the host was at 800ms, now at 1.05s). Pair this card with Pagespeed Cart Loss for the speed-correlation view.
- Self-hosted server slowness is a structural drag. This brand’s Bluehost host averages 1.0s TTFB on the cart page. A 200ms reduction (achievable with a CDN like Cloudflare or a host upgrade to managed-Woo) would lift conversion by approximately 2%. The merchant currently leaves about 4-6 orders / month on the table for every 100ms of avoidable TTFB.
- GA4 is the trustworthy session source on Woo. Jetpack Stats undercounts compared to GA4 because it does not track ad-blocked sessions either, but uses a different sampling model. If you switched the session source mid-period, conversion rates appear to jump artificially.
- POS orders are missing from the numerator. This brand runs occasional pop-up POS events (~30 orders/month). Those orders have no web session, so they do not appear in the numerator. The headline 1.51% is the web-only conversion rate; the merchant’s blended number across all channels would be slightly higher.
Sibling cards merchants should reference together
Reconciling against the vendor’s own dashboard
Where to look in WooCommerce Admin: WooCommerce does not ship a native conversion-rate report. The closest views:- WP Admin → Analytics → Overview (WC 4.0+) shows orders alongside Visitors if a connected analytics integration is configured.
- WP Admin → Jetpack → Stats gives session counts; divide by Woo orders manually.
- GA4 → Reports → Engagement → Pages and screens for sessions; cross-multiply against Woo orders.
Cross-connector reconciliation:
Known limitations / merchant FAQs
Self-hosted vs managed-Woo, does it affect conversion rate? Yes, structurally. Self-hosted Woo on slow shared hosting has higher TTFB, which suppresses conversion. Every 100ms of TTFB drop is ~1% conversion lift. Managed-Woo (Pressable, Kinsta, Woo.com Cloud) typically runs 200-400ms TTFB; budget hosting (Bluehost, GoDaddy shared) runs 800-1,500ms. Status-filter selection, why excludeon-hold?
On-hold means BACS or bank-transfer payment-pending. From a conversion-rate perspective the customer “converted” (placed an order). But excluding it follows the convention that conversion = revenue-realised, BACS may never settle. If you want to count BACS as a conversion, the rate would be ~5-10% higher.
Refund-object accounting, does it affect conversion rate?
No, conversion is pre-refund. Refunds happen after conversion.
Plugin-induced data shape variance, what should I watch?
- Caching plugins (WP Rocket, W3 Total Cache) serve cached pages without firing GA4 tags by default; configure them to bypass cache for logged-in users and dynamic pages.
- AMP plugins use a different page set; sessions split between AMP and non-AMP versions.
- Multi-currency plugins fire spurious session events on currency switch; configure the plugin to suppress.
- Confirm session source (GA4 vs Jetpack vs Matomo) and ensure the same source is used in both views.
- Match the date range exactly.
- Match the order status filter.
- Confirm caching plugin is not blocking the analytics tag.