These are the 10 warning signs of broken ecommerce tracking: conversion count mismatch, suspiciously high ROAS, zero revenue in GA4, direct traffic spike, GA4 sessions far below platform data, self-referrals, missing transactions, broken funnel steps, no cross-device data, and consent mode gaps.

1. Conversion Count Does Not Match Orders

This is the most obvious sign. Pull your Google Ads or GA4 conversion count for the last 30 days and compare it with your Shopify order count for the same period. A gap under 15% is normal (ad blockers, browser restrictions, etc.). A gap over 20% means something is wrong.

If Google Ads shows MORE conversions than Shopify orders, you have a double-counting problem. If it shows significantly FEWER, your conversion tag is probably not firing on some purchases. Either way, your bidding algorithms are working with bad data.

2. Your ROAS Looks Suspiciously Good

If your ROAS suddenly doubles without any campaign changes, do not celebrate. Check your tracking first. A sudden ROAS improvement that you cannot explain with real business changes (more sales, better AOV, lower CPCs) is almost always a tracking issue.

The most common cause: a new conversion action was added (maybe through a GA4 import or a Shopify app update) that is counting on top of your existing conversions. Your actual revenue did not change. Your reporting just started double-counting.

Ecommerce tracking health check dashboard showing warning indicators
Regular tracking health checks catch problems before they corrupt weeks or months of data.

Get Your Free Ad Score

See your Google Ads and Meta score in 60 seconds.

Start Free Audit

3. Revenue Shows Zero in GA4

Your GA4 purchase events are firing. The event count looks right. But the revenue in Monetization reports shows $0. This almost always means the currency parameter is missing from your ecommerce events. GA4 requires both "value" and "currency" on purchase events. Without currency, it records the event but ignores the monetary data.

Check in GA4 DebugView: click on a purchase event and look for the currency parameter. If it is missing, fix it in your data layer or tag configuration. This is a 5-minute fix once you know where to look.

4. Sudden Spike in Direct Traffic

If your "Direct" traffic in GA4 suddenly increases by 30%+ without a corresponding increase in overall traffic, something broke. "Direct" is GA4's catch-all for traffic it cannot attribute. A spike usually means one of your marketing channels stopped passing attribution data.

Common causes: UTM parameters were removed from email links, a redirect is stripping query parameters, or cross-domain tracking broke (so checkout traffic is being counted as direct). Check your top channels before and after the spike to see which one lost traffic.

5. GA4 Sessions Far Below Platform Data

If Shopify Analytics shows 50,000 sessions this month but GA4 shows 35,000, you have a 30% data gap. Some gap is normal (5-15% from ad blockers). But a large gap means your GA4 tag is not firing on all pages, or something is blocking it.

Check: Is your GA4 tag present on all page templates? Shopify themes have different templates for homepage, collection pages, product pages, blog posts, and cart. If the tag is only in the main theme.liquid but a section overrides the header, some pages might miss it.

6. Self-Referrals From Your Own Domain

Go to GA4 > Reports > Acquisition > Traffic acquisition. Filter by source. If you see your own domain (like "yourstore.com") as a referral source, cross-domain tracking is broken. This typically happens with Shopify's checkout: the customer goes from yourstore.com to checkout.shopify.com and back. Without proper cross-domain setup, each domain switch creates a new "referral" session.

Fix: Add checkout.shopify.com to your cross-domain configuration in GA4 tag settings. Also add any payment gateway domains (like paypal.com) if you use external payment methods. Our Shopify tracking mistakes guide covers this in more detail.

7. Missing Transactions in Reports

You know specific orders happened (they are in Shopify), but they are not showing up in GA4's ecommerce reports. This usually means the purchase event did not fire for those specific orders.

Common reasons: the customer used a payment method that redirects externally (PayPal, Klarna) and the return redirect does not load the thank-you page properly. Or the customer closed the browser before the thank-you page finished loading. Or an ad blocker blocked the GA4 tag on the confirmation page.

Server-side tracking helps here because it captures the conversion from the server when the order is created, not from the browser when the page loads.

8. Funnel Steps Show Impossible Drop-offs

Look at your checkout funnel in GA4. If you see 1,000 add-to-cart events but only 50 begin-checkout events, something is probably wrong with your begin_checkout tracking, not your actual checkout rate. A 95% drop-off between add-to-cart and checkout is not realistic for most stores. Normal is 30-60%.

Check each funnel step individually. If one step shows dramatically fewer events than the steps before and after it, that specific event is probably misconfigured or not firing consistently. Compare the timing of the drop against any recent theme updates or app changes.

9. No Cross-Device Conversion Data

In GA4, go to Explore and create a path analysis. If you see zero cross-device paths (user starts on mobile, converts on desktop), your User-ID implementation might be missing. Without User-ID or Google Signals, GA4 treats each device as a separate user. This means a customer who browses on their phone and buys on their laptop looks like two different people.

For Shopify stores, implement User-ID by passing the logged-in customer ID to GA4 via the data layer. This only works for customers with accounts, but it improves cross-device attribution for those who do. Google Signals can fill some gaps for users signed into Google, but it requires consent.

10. Large Gaps in EU/APAC Data

If your European or Australian traffic and conversions suddenly dropped, it might not be a real traffic decline. It might be a consent mode issue. Without consent mode v2 configured, visitors who decline cookies in these regions are completely invisible to your analytics. You are not seeing the traffic decline because it stopped. You are seeing it because you stopped being allowed to track it.

Check your consent mode implementation. With proper consent mode, Google's tags send anonymized pings for users who decline, and GA4 models the missing data. Without it, those users simply vanish from your reports. In markets where 40-60% of users decline cookies (common in Germany, Netherlands, etc.), this can mean half your traffic is invisible.

Review your full analytics tracking setup if you suspect consent mode gaps. The data loss from missing consent mode in European markets is significant enough to completely distort your channel performance metrics.

Frequently Asked Questions

Check your core metrics (conversion count vs Shopify orders) weekly. Run a full tracking health check monthly. Do a deep audit after any Shopify theme update, app installation, or checkout flow change.

A 5-15% gap is normal. GA4 will almost always show fewer sessions and conversions than Shopify because of ad blockers and browser restrictions. If the gap is over 20%, investigate.

Yes, directly. Google Ads and Meta both use your conversion data for automated bidding. If your tracking is over-counting, the algorithm overbids. If under-counting, it underbids. Accurate tracking is the foundation of campaign performance.

Start with conversion counting accuracy. If your purchase conversion is wrong, everything else built on top of it (ROAS, bidding, attribution) is also wrong. Fix purchases first, then work up the funnel to checkout, cart, and pageview tracking.

Find Your Tracking Gaps

COREPPC's free audit checks your Google Ads and Meta accounts for tracking errors, missing data, and wasted spend. Takes 60 seconds.

Start Free Audit