Bad conversion tracking is the single most damaging problem we see in eCommerce Google Ads accounts. Not because it makes your reports look wrong — though it does — but because it makes your bidding algorithms wrong. If Google is learning from bad data, every optimisation decision it makes is built on a corrupted foundation.
The frustrating thing is that most accounts with broken tracking don't know it. The conversion column has numbers in it. Campaigns look like they're working. But the numbers don't accurately reflect what's actually happening — and the performance you think you're seeing is partially or completely fabricated.
The most common ways tracking breaks
Double-counting conversions
This is more common than it should be. It typically happens when a Google tag fires from two places — the website's native tag and a tag manager container — creating duplicate conversion events for the same purchase. ROAS looks incredible. Revenue in Google Ads is 2x your actual revenue. Smart bidding optimises toward a fiction.
Check: Compare your Google Ads conversion revenue for any recent week against your actual order revenue from Shopify/WooCommerce/your platform. If Google's number is materially higher, you're double-counting.
Counting micro-conversions as purchases
This happens when "Add to Cart" or "Begin Checkout" events are tagged as primary conversion actions. They look like purchases to the algorithm, which then optimises for cart additions rather than actual revenue. Your conversion rate looks high. Your ROAS looks good. But the campaign is bidding on intent signals, not actual purchases.
Check: In your conversion settings, make sure your primary conversion action is "Purchase" only. Add-to-cart and checkout events can be tracked as secondary conversions for diagnostic purposes, but they should not be included in your "Conversions" column.
The thank-you page fires on every visit, not just post-purchase
If your confirmation page is accessible without completing a purchase — through a direct URL, a browser back button, or a session that gets refreshed — your conversion tag may be firing for people who haven't actually bought. This inflates conversion numbers and distorts revenue data simultaneously.
Cart value not being passed correctly
Even when the conversion event fires correctly, the revenue value attached to it may be wrong. Common issues: the revenue variable isn't being populated dynamically, it's including or excluding tax and shipping inconsistently, or the currency code is mismatched with your account settings.
Check: Use Google Tag Assistant or browser developer tools to inspect the dataLayer on your confirmation page. Find the purchase event and check whether the revenue/value field matches the actual order total.
The GA4 linkage isn't importing correctly into Google Ads
Many accounts now import conversions from GA4 into Google Ads. This introduces another layer of potential issues: the GA4 event may be set up correctly but the import configuration in Google Ads is wrong, creating mismatches between what GA4 reports and what Google Ads counts.
Check: In Google Ads, go to Tools → Conversions → and review each conversion action. For GA4-imported conversions, verify the event name matches exactly, the attribution model is consistent with what you intend, and the "Include in Conversions" setting is correct.
A quick audit checklist
- Compare Google Ads reported conversions against your CRM/platform for the last 30 days — is the ratio reasonable? (Some discrepancy is expected due to attribution; 2x+ is not)
- Check that only "Purchase" events are set as primary conversion actions
- Verify the confirmation page tag only fires after a genuine transaction
- Inspect the purchase event dataLayer on a live order to confirm the revenue value is populating correctly
- Check for duplicate conversion actions — are you tracking the same purchase via Google Ads tag AND GA4 import?
- Review attribution model — Last Click vs Data-Driven can produce very different numbers
What to do if you find problems
Fix the most impactful issue first, which is almost always either double-counting or wrong primary conversion actions. Document the date you made the change — you'll need it to interpret performance trends correctly, because your reported numbers will shift when tracking is corrected.
Be prepared for the short-term discomfort of a "performance dip" that's actually just the data becoming accurate. Smart bidding algorithms need time to relearn from clean data. This usually means a few weeks of what looks like worse performance before things stabilise and improve.
The alternative — leaving bad tracking in place — means every optimisation you make is built on a flawed foundation. The cost of that compounds over time in ways that are hard to see clearly but very real in your P&L.