An e-commerce store making ad budget decisions on 60% of their actual data. Missing purchase events, wrong attribution, and a conversion rate that looked like 1.2% when it was actually 1.66%. We fixed all of it in 45 days — and $3,200/month of misallocated ad spend was immediately corrected.
+38% CVR
Recovered
40%
Data Restored
4
Attribution Gaps Fixed
45 Days
Timeline
The Situation
Decisions Made on 60% of the Data
When this e-commerce store came to us, their Google Analytics dashboard showed a 1.2% conversion rate. Their teams were using this number to benchmark every ad channel, allocate budget, and evaluate campaign performance. The problem: the number was wrong.
A broken GTM purchase event trigger was silently dropping 40% of all purchases. The real conversion rate was 1.66%. Every ROAS calculation, every budget decision, and every channel comparison was built on a foundation that was quietly lying to them.
Before — Broken State
1.2%
Visible CVR
40%
Missing Conversions
Poor
Attribution Accuracy
Inconsistent
GA4 Events
After — Fixed State
1.66%
True CVR (+38%)
Complete
Conversion Data
All 4 Channels
Attribution Accurate
Fully Configured
GA4 Events
Root Causes
Five Tracking Failures Corrupting Every Decision
The audit revealed five compounding issues — each corrupting data independently, and together making reliable analysis nearly impossible:
GTM purchase event firing on thank-you page only intermittently — URL-based trigger was breaking on order confirmation pages with dynamic URL parameters, causing ~40% of purchases to never register as conversions.
GA4 event naming inconsistent — 'purchase', 'Purchase', 'checkout_complete', and 'transaction' all firing for the same action across different pages, making funnel analysis impossible.
Attribution defaulting to last-click across all channels — paid social (Meta, TikTok) was receiving 0% attribution credit despite initiating most purchase journeys, causing the team to underspend on top-funnel.
No Clarity or heatmap integration — checkout abandonment and product page drop-off were invisible, making CRO decisions based on guesswork.
Enhanced E-commerce events incomplete — AddToCart, BeginCheckout, and Purchase events existed, but ProductView and ProductListView were missing, making funnel drop-off analysis impossible.
Does your GA4 have any of these issues?
A free 30-minute analytics audit finds every gap — at no cost.
The Approach
Five Fixes. Accurate Data in 45 Days.
We approached this systematically — starting with the most critical data corruption (the broken purchase trigger) and working outward through attribution, heatmaps, and budget reallocation.
1
GTM Container Audit
Mapped all 47 triggers and 31 variables in the existing GTM container. Identified 4 broken triggers, 2 duplicate tags firing simultaneously, and 1 circular trigger reference. Rebuilt the container structure with a documented naming convention and standardized trigger logic using dataLayer push events instead of DOM-ready selectors.
Standardized all event names to snake_case following Google's Enhanced E-commerce spec. Rebuilt all conversion events as key events in GA4. Created a master event taxonomy document covering all 23 events across the funnel: awareness → engagement → product → cart → checkout → purchase → post-purchase.
Deployed Clarity on all product pages, cart, and all 4 checkout steps. Enabled session recording filters for checkout abandoners and cart adders who didn't purchase. Within 7 days: identified 3 UX issues causing checkout abandonment not visible in analytics.
Clarity on checkoutAbandoner recordings3 UX issues found
4
Attribution Model Fix
Switched from Last Click to Data-Driven Attribution with a 30-day lookback window. Connected all 4 channels (Google Ads, Meta Ads, organic search, email) to GA4 via UTM standardization. Rebuilt conversion paths report to show true multi-touch attribution across the funnel.
With accurate attribution data: identified Meta Ads top-funnel was initiating 38% of all purchases but receiving 4% attribution credit under last-click. Reallocated $3,200/month from an overvalued Google Shopping campaign to Meta prospecting, improving total account ROAS by 22%.
45 days from audit to fully accurate tracking. The "+38% CVR improvement" wasn't a true improvement — it was a recovery of reality. The store's CVR had always been 1.66%. Now their decisions reflect it.
Metric
Before
After
Change
True CVR
1.2% (incomplete)
1.66% actual
↑ +38% revealed
Missing conversion data
40% of purchases
0%
↑ Fully recovered
Attribution accuracy
Last-click only
Data-driven
↑ Fixed
Channels properly credited
1 of 4
4 of 4
↑ Complete
Account ROAS (post realloc.)
Baseline
+22%
↑ +22%
Misallocated ad spend
$3,200/mo
$0
↑ Corrected
Checkout funnel visibility
None
Complete
↑ 4-step funnel
Page load insight (Clarity)
Unknown
-1.1s found
↑ Performance fix
Core Insight
The store's "1.2% CVR" was being used to benchmark ad performance and make budget decisions. The real CVR was 1.66%. Every ROAS calculation, every channel comparison, and every budget allocation decision was wrong — because the measurement was wrong.
Deliverable Breakdown
Three Workstreams. One Accurate Account.
Each workstream addressed a different layer of the tracking failure — from raw data collection, through attribution modeling, to actionable UX insight:
GTM Tag Repair
40%
Conversions Recovered
4 broken triggers fixed23 events standardized
↑ Event standardization complete
Attribution Overhaul
$3,200
/mo Reallocated
Meta top-funnel credited+22% account ROAS
↑ Data-driven attribution live
Clarity UX Insights
3
Checkout Issues Found
↓23% abandonmentSession recordings live
↑ Checkout UX fixed
Is Your Analytics in the Same Position?
This case study is relevant if your account looks like any of the following:
You're making budget decisions based on Google Analytics data but have never audited whether your GTM tags are actually firing correctly
Your reported conversion rate feels lower than what you'd expect given your traffic quality
You use last-click attribution and haven't explored data-driven or multi-touch models
Meta Ads or TikTok Ads look underperforming in your dashboard but anecdotally seem to drive customers
You have no heatmap or session recording tool deployed on your product pages or checkout
Your GA4 Enhanced E-commerce funnel has gaps — you can see purchases but not where users are dropping off
30 min · Free · We'll show you the gaps, no strings attached
Frequently Asked
Questions About This Case Study
Missing conversion data in GA4 most commonly results from: (1) GTM purchase event triggers firing inconsistently — URL-based triggers that break on dynamic order confirmation URLs with parameter variations, (2) server-side rendering or single-page applications where GA4 doesn't fire on page transitions, (3) ad blockers suppressing the GA4 or GTM script, or (4) duplicate tag firing that inflates some events while missing others. In this case, the root cause was a URL-based GTM trigger that failed on ~40% of order confirmation URLs due to dynamic query string parameters.
Fix GTM tags using the GTM preview/debug mode before publishing to production. The safe process: (1) audit all triggers in a GTM container, categorizing by firing method (URL, click, custom event, dataLayer), (2) rebuild broken triggers in a new workspace, not the live container, (3) test thoroughly in GTM debug mode against the actual checkout flow, (4) publish to a staging environment if available, (5) publish to production and monitor GA4 real-time reports for the first 24 hours. Never publish GTM changes during peak traffic hours.
A production-ready GA4 e-commerce setup should include: all Enhanced E-commerce events (view_item_list, view_item, add_to_cart, begin_checkout, add_payment_info, purchase), custom events for engagement (scroll depth, video plays, form interactions), conversion events set as key events in GA4 admin, server-side GTM for improved data accuracy and ad blocker bypass, and proper UTM parameter standards for all paid and email channels. The implementation should be documented with an event taxonomy spreadsheet.
Broken tracking creates compounding errors in ad spend allocation. If 40% of conversions are invisible, every channel's attributed ROAS is understated. Last-click attribution further distorts this by assigning 100% credit to the channel the user visited last — typically search — while giving zero credit to social/display channels that initiated the purchase journey. In this case, Meta Ads was initiating 38% of purchases but receiving 4% attribution credit, causing the team to systematically underfund a high-performing channel.
Data-driven attribution (DDA) uses machine learning to assign conversion credit across all touchpoints in the customer journey based on their statistical contribution, rather than giving 100% credit to the first or last click. Use DDA when: you have more than 400 conversions/month (the minimum for DDA to learn accurately), you run multiple advertising channels simultaneously, and your customer journey typically involves multiple touchpoints over 2+ days. In this case, switching to DDA with a 30-day lookback window revealed Meta Ads' true contribution to revenue and justified a $3,200/month budget increase to that channel.
We'll audit your GTM container, GA4 setup, and attribution model — and show you exactly where conversion data is being lost. Free, 30 minutes, no obligation.