Your WooCommerce store has 40% repeat buyers. GA4 shows 80% new users. That gap isn’t measurement noise—it’s a structural flaw baked into how GA4 identifies people. GA4 cohort analysis is based solely on device data, and User-ID is explicitly not considered during cohort creation (DumbData, 2024). Every time a customer returns on a different browser, after clearing cookies, or from a device your tracking never saw—they’re a new user in GA4’s model.
And It’s the Most Important Metric for WooCommerce Growth
Repeat purchase rate defines whether a WooCommerce store grows or runs on an acquisition treadmill. Acquiring a new customer costs 5-7x more than retaining one. Harvard Business Review and Bain & Company research is direct on the stakes: increasing customer retention by just 5% lifts profits 25-95%. That’s not a rounding error. That’s the difference between a scaling business and one that churns through ad spend to stay flat.
Yet most WooCommerce stores are making retention decisions from data they can’t trust. If GA4 cannot accurately distinguish returning buyers from first-timers, your repeat purchase rate is a number built on browser ghosts—not customers.
Why GA4 Fundamentally Fails at Customer Identity
GA4 tracks browser sessions, not people. When a customer buys on desktop Monday, then visits on mobile Thursday, GA4 sees two different users. When a customer clears cookies between visits—or their browser expires them—they start fresh as a new user.
Three compounding forces make this worse specifically for WooCommerce stores:
Ad blockers block first-touch identification. 31.5% of global internet users run ad blockers (Backlinko, 2024) that prevent GA4’s tracking script from firing entirely. If a customer’s first visit was blocked, GA4 never registered them. Their second, third, and fifth purchases all look like brand-new acquisition. Your repeat purchase rate shrinks. Your new customer count inflates. Neither number reflects reality.
Safari’s ITP resets the clock. Safari’s Intelligent Tracking Prevention limits cookie persistence to 7 days. A loyal customer who buys every fortnight is a new user to GA4 every single time. On mobile—where Safari commands a majority share—this affects a substantial portion of your returning buyers.
Consent banners suppress tracking for returning visitors too. In GDPR-applicable markets, 30-60% of users decline tracking cookies. That opt-out applies to returning customers just as much as new visitors. Every consent rejection includes buyers you’ve already paid to acquire and successfully retained.
The cumulative result: your GA4 new-vs-returning data is structurally biased toward “new”—and your repeat purchase rate calculation is built on what’s missing, not what’s true.
You may be interested in: Your Cookie Consent Banner Is Hiding 60% of WooCommerce Customers
The GA4 User-ID Workaround—And Why It Falls Short
GA4 has a User-ID feature that can identify logged-in customers across devices. If you’ve implemented it correctly, it helps. But it has two gaps that matter for WooCommerce retention analysis.
First, GA4 explicitly states that User-ID is not considered in cohort analysis. The cohort exploration feature—the primary tool for measuring repeat purchase behaviour over time—runs on device data only. Even with User-ID fully implemented, your retention cohorts remain device-based. The fundamental problem isn’t solved.
Second, User-ID requires customers to be logged in. Guest checkouts—common and often preferred on WooCommerce stores—produce no User-ID signal. A customer who buys as a guest three times over six months remains three separate anonymous sessions in GA4, with nothing connecting them as the same person.
WooCommerce’s own analytics dashboard has parallel limitations. According to DataBloo’s 2025 WooCommerce analytics guide, WooCommerce Analytics lacks native features to segment customers by behaviour or lifecycle stage—including the basic first-time buyer versus repeat buyer distinction needed for retention analysis. The data exists in the database. The built-in tools don’t surface it in a way that drives marketing decisions.
The Business Cost of Getting Retention Wrong
When your repeat purchase rate is understated, the strategic consequences compound.
Ad spend goes toward acquisition when retention campaigns would generate higher ROI. Lookalike audiences built from GA4 data exclude customers whose tracking was blocked—so your “best customer” audience is missing a significant share of actual best customers. Reactivation campaigns target users GA4 has flagged as lapsed, when many of them purchased last week on a different device.
The irony is that the data you need already exists. Every order in your WooCommerce database carries a customer ID, an email address, and a complete purchase history. WooCommerce knows whether order #4892 came from a first-time buyer or someone on their seventh purchase. That intelligence never reaches GA4 through browser-side tracking—because the browser only sees an anonymous session. The server is where the customer identity lives.
Stores where customer identity tracking is reliable—subscription models, for example—see 2.3x higher lifetime value (Marketing LTB, 2025). That correlation isn’t purely about the subscription mechanic. It’s about the accurate customer data that subscription systems generate, enabling better retention measurement and targeted re-engagement.
You may be interested in: Your WooCommerce Customer Lifetime Value Is Calculated From the 60 Percent of Customers GA4 Can See
How Server-Side Tracking Closes the Identity Gap
Server-side tracking doesn’t just recover visitors lost to ad blockers—for retention measurement specifically, it solves the customer identity problem at the data origin point.
When a WooCommerce purchase is processed server-side, the server knows the customer’s hashed email and WooCommerce customer ID. By sending that identification data alongside the purchase event—via server-side APIs to GA4, Facebook, and Google Ads—analytics platforms can now connect cross-device and cross-session behaviour that browser cookies could never stitch together reliably.
A returning customer on a different device, with fresh cookies, whose first visit was blocked by an ad blocker? Server-side identification passes the hashed email. GA4 recognises the customer. Facebook builds its lookalike audiences from real returning buyers. Your repeat purchase rate starts measuring actual customer behaviour.
Transmute Engine™ is a first-party Node.js server that runs on your subdomain—e.g., data.yourstore.com—and does exactly this. The inPIPE WordPress plugin captures WooCommerce purchase events including customer IDs and hashed emails, then sends them via API to your Transmute Engine server. The server formats, enhances, and routes the enriched events simultaneously to GA4, Facebook CAPI, Google Ads, and BigQuery—all from your own domain, bypassing ad blockers entirely. Your cohort analysis runs on identified customers, not browser sessions.
Key Takeaways
- GA4 cohorts are device-based only—User-ID is explicitly excluded from cohort analysis, making repeat purchase measurement unreliable by design, not by accident.
- Three forces corrupt your repeat purchase rate: ad blockers (31.5% of users), Safari’s 7-day cookie limit, and consent banner rejections (30-60% in regulated markets).
- WooCommerce already has the right data—customer IDs, order history, and hashed emails exist in your database. The problem is that browser tracking never delivers this to analytics platforms.
- Server-side customer identification passes hashed email and customer ID with each purchase event, enabling GA4 and ad platforms to recognise returning buyers across devices and blocked sessions.
- The ROI of getting this right is direct: a 5% lift in customer retention increases profits 25-95%—but only if your analytics can actually tell you who’s coming back.
GA4 identifies users by browser cookies and device fingerprints, not by customer accounts. When a returning customer uses a different device, clears cookies, or had their first visit blocked by an ad blocker, GA4 counts them as a new user. This makes your new-vs-returning split structurally unreliable for WooCommerce stores.
The most accurate source is your WooCommerce database directly—WooCommerce > Analytics > Customers shows customers with 2+ orders. For analytics platform accuracy, server-side tracking that passes your WooCommerce customer ID with every purchase event allows GA4 and ad platforms to recognise the same customer across devices and sessions.
Partially. GA4’s User-ID feature can identify logged-in customers across devices, but it is explicitly excluded from GA4 cohort analysis—meaning your retention cohorts remain device-based even with User-ID implemented. It also only works for logged-in customers; guest checkouts remain anonymous and unconnected in GA4’s data model.
Start with a direct comparison: check your GA4 new-vs-returning user ratio, then check your WooCommerce customer order counts. The gap between those two numbers is how much repeat purchase data your analytics are currently missing. Seresa shows you what accurate retention measurement looks like for WooCommerce.



