If the Wiring Is Wrong, the Whole Account Is Guessing
Smart Bidding optimises toward whatever data it receives. If a conversion tag fires on page load instead of on purchase, if reported order values run 20% above the real average, or if GA4 is not passing ecommerce events correctly, every bidding decision downstream of that signal is built on a fault.
- 73%
- Ecommerce accounts we audit carry a tracking error
- 15–30%
- Typical purchase-value discrepancy once traced
- Day 1
- Tracking verified before any campaign change
- 3-way
- Google Ads ↔ GA4 ↔ payment gateway cross-check
Four Layers, Wired in Sequence — Each One Checks the Layer Below It
Ecommerce tracking is not one tag. It is a signal chain: an event on the site has to travel through a container, into an analytics layer, into a bidding signal, and survive whatever the browser blocks along the way. We audit and wire every layer before touching a single campaign setting.
Google Tag Manager
Deployment layerThe container that deploys every tag: the Google Ads conversion tag, GA4 configuration, remarketing pixels and enhanced conversions. Nothing touches site code directly, changes are version-controlled, and QA runs in preview mode before anything goes live.
Google Analytics 4
Behavioural layerGA4 captures the full purchase funnel with product-level detail — SKU, category, price, quantity. Linked to Google Ads, it enables audience import for remarketing and a second read on channel attribution.
Google Ads Conversion Tag
Bidding signal layerThis is the tag Smart Bidding actually reads. It should fire on the order-confirmation event, not the page load, and pass purchase value, transaction ID and currency. If it is broken or mis-mapped, every tROAS and tCPA decision is wrong regardless of how clean GA4 looks.
Enhanced Conversions
Recovery layerWith cookie restrictions and iOS privacy changes reducing visibility, enhanced conversions send hashed first-party data from the purchase event to Google Ads, which matches it against signed-in user data. Most ecommerce accounts recover 5–15% of previously untracked purchases once this is enabled.
No Single Source Is Trusted on Its Own — Three Are Cross-Checked
The most dangerous tracking error is one where the number still looks plausible. A purchase value inflated by 20% still reads as a real figure, but it means every tROAS decision downstream is being made on false data. We run a three-way check before any campaign change.
Google Ads conversion data
The last 30 days of purchase conversions: total conversions, total value and average order value. This is what Smart Bidding sees and optimises toward.
GA4 ecommerce report
The same date range from GA4’s monetisation report: purchases, revenue and average purchase value. Any variance above 5% against Google Ads signals a tagging issue.
Payment gateway / backend
The source of truth — actual orders received and revenue collected, after cancellations and failed payments. Razorpay, PayU, Shopify admin or WooCommerce orders.
Smart Bidding thinks each purchase is worth ₹5,403 when the true value is ₹4,557 — an 18.6% inflation. A tROAS target of 4× is actually 3.4× in reality. The account appears to be beating its target while it is under-performing. This is the scenario we find most often in ecommerce audits, and it is the first thing we correct.
The Verification Standard Is the Same. The Wiring Is Not.
Every ecommerce platform implements its dataLayer differently and fails in its own particular way. We have wired and audited tracking on all of the following.
Shopify
Most common platform we work with
GTM installed via Shopify’s Custom Pixels, not theme code injection, which breaks on checkout
Checkout extensibility used for an accurate purchase dataLayer on the thank-you page
Double-counting fixed where Shopify’s native Google channel runs alongside GTM
Purchase value verified to exclude shipping and tax unless ROAS targets are meant to include them
WooCommerce
Flexible, but prone to plugin conflicts
GTM4WP configured for the full ecommerce dataLayer, not just pageviews
Conflicting plugins removed — "Google Listings and Ads" often duplicates conversion tracking
Order value mapped from the WooCommerce order total, checking coupon and refund handling
Caching plugin exclusions set, since page caching can serve stale dataLayer values to the tag
Custom / Laravel / Magento
Full control, requires a manual dataLayer
Custom dataLayer push on the order-confirmation page with every required ecommerce field
A developer spec document provided: exact schema, variable names and trigger conditions
QA run in GTM preview mode with real test orders before going live
Server-side GTM used where client-side blockers are common
Eight Tracking Faults That Silently Erode eCommerce ROAS
Conversion tag fires on page load
The tag should fire on the purchase event, not when the thank-you page loads. A refresh, a revisit from browser history or a bot crawl each count as a conversion — accounts can show three times more conversions than actual orders because of this one fault.
Purchase value includes shipping and tax
If the ROAS target is set against product revenue but the tag passes order total, every ROAS number is inflated. A reported 5× can be a real 3.8×. This needs to match however finance defines revenue.
Double-counting from multiple tags
A native platform channel and a GTM conversion tag firing together counts every purchase twice. Google Ads shows 200 conversions for 100 orders, and Smart Bidding trains on the false total.
GA4 not linked to Google Ads
Without the link, GA4 audiences cannot be imported for remarketing, GA4 conversions cannot serve as a cross-check, and cross-channel attribution data is lost. The fix takes minutes; most accounts we audit have not done it.
No transaction ID for deduplication
Without a unique transaction ID, Google cannot deduplicate repeat pageviews on the thank-you page. A buyer who bookmarks the confirmation page and revisits it three times becomes three conversions instead of one.
Enhanced conversions not enabled
Without it, 5–15% of conversion data is lost to cookie blockers, iOS privacy changes and cross-device journeys — which makes Smart Bidding undercount conversions and bid more conservatively than it should.
Using GA4 import instead of the native tag
GA4 import carries a 24–48 hour lag, so Smart Bidding cannot react to real-time performance. The native Google Ads tag reports in near-real-time and should remain the primary bidding signal.
Conversion window left on the default 30 days
The default click-through window may not match the store’s buying cycle. Fashion can convert in seven days; high-value electronics can take sixty. Set the window from real time-to-purchase data in GA4 path analysis.
Measurement Setup Is Part of Every Management Engagement
Audit & Fix
- 3-way value verification
- GTM container audit
- GA4 ecommerce event check
- Conversion tag fix or rebuild
- Enhanced conversions setup
- Transaction ID implementation
Verify & Connect
- Test-order verification
- GA4 ↔ Google Ads link
- Audience creation in GA4
- Looker Studio dashboard
- Conversion action settings
- Attribution model selection
Monitor & Maintain
- Value-accuracy spot-check
- GA4 vs Google Ads variance
- Tag health monitoring
- New product tracking
- Conversion anomaly alerts
- Quarterly full re-audit
Deliverables
- Tracking audit document
- GTM container backup
- Looker Studio dashboard
- Developer spec (if custom)
- Monthly accuracy report
- Anomaly alert notifications
Standalone tracking audits are also available as a consulting engagement. See consulting packages
Related eCommerce Ads Guides
Measurement & Tracking: Frequently Asked Questions
Do I need to fix tracking before campaigns get managed?
Yes — tracking is the first thing we fix, before any campaign changes. If Smart Bidding is optimising toward wrong data, changing bids, budgets or structure will not help. We typically resolve tracking issues in the first three to five days of onboarding; the alternative, optimising campaigns on false data, wastes far more time and money.
My Shopify store already tracks conversions. What could be wrong?
The most common Shopify issues: double-counting from Shopify’s Google channel running alongside a GTM conversion tag, purchase values that include shipping and GST, missing enhanced conversions, and no transaction ID for deduplication. A tracking audit typically finds two or three of these on a standard Shopify store.
What is enhanced conversions and do we need it?
Enhanced conversions sends hashed (SHA-256) customer data — email, phone, name, address — from the purchase event to Google Ads, which matches it against signed-in user data to recover conversions cookie-based tracking misses. With iOS privacy changes and ad blockers increasing, this is no longer optional. Most accounts see a 5–15% increase in reported conversions once it is enabled.
Should we use the native Google Ads tag or import from GA4?
Use the native Google Ads conversion tag as the primary conversion action for Smart Bidding — it reports in near-real-time. GA4 import carries a 24–48 hour lag. We typically set up both: native tag for bidding, GA4 for cross-channel analysis and audience building.
Can tracking be audited without also managing campaigns?
Yes — standalone tracking audits are available through our consulting service: full three-way value verification, GTM container audit, GA4 event check, and a written report with specific fix instructions. An in-house developer can implement the fixes from that spec, or we can handle implementation for an additional fee.
Is Your Tracking Telling the Truth?
We will cross-check Google Ads conversion data against GA4 and the payment gateway. If the numbers do not match — and they usually do not — we will show exactly where the error sits and how to fix it.