Insights | Causality Engine
return to overview

Conversion Tracking Best Practices: Fix Your Attribution Data

Comprehensive guide to conversion tracking best practices: fix your attribution data with real examples and actionable strategies.
No items found.

Conversion Tracking Best Practices: Fix Your Broken Tracking in 2025

Last Updated: October 13, 2025

Monday morning. You open Meta Ads Manager to check weekend performance.

Something's off.

Saturday: 45 conversions
Sunday: 12 conversions

You check Shopify. Revenue was actually higher on Sunday.

What's happening? Your tracking is broken.

Not "a bit inaccurate"—properly broken. And you've been making budget decisions based on fiction.

Welcome to the reality of conversion tracking in 2025. Between iOS 14, ad blockers, cookie deprecation, and browser privacy features, most e-commerce brands are missing 30-50% of their conversions.

Which means your ROAS (return on ad spend) calculations are wrong. Your optimization is wrong. Your budget allocation is wrong.

Let's fix it.

What Is Conversion Tracking (And Why It's Probably Broken)

Simple definition: Conversion tracking tells ad platforms (Meta, Google, TikTok) when someone completes a desired action (purchase, add to cart, sign up).

How it's supposed to work:

  1. Customer clicks your Meta ad
  2. Meta Pixel fires on your website
  3. Customer buys
  4. Pixel sends "Purchase" event to Meta
  5. Meta attributes the conversion to the ad
  6. Algorithm optimizes for more purchases

How it actually works in 2025:

  1. Customer clicks your Meta ad (on iPhone)
  2. Meta Pixel tries to fire
  3. iOS 14 blocks it (customer opted out of tracking)
  4. Customer buys
  5. Pixel still blocked
  6. Meta sees nothing. Conversion not tracked.
  7. Algorithm can't optimize (no data)
  8. Your ROAS looks terrible
  9. You cut budget on a campaign that's actually working

This is happening to you right now. You just don't know it yet.

How Broken Is Your Tracking? (Self-Diagnosis)

Check these numbers:

1. Platform-reported revenue vs. Shopify revenue

Add up all platform-reported revenue (Meta + Google + TikTok + others).

Compare to actual Shopify revenue.

If platform total is:

  • 120-150% of Shopify: Normal attribution overlap (platforms double-counting)
  • 80-100% of Shopify: Tracking is decent but could be better
  • 50-80% of Shopify: Tracking is broken, missing 20-50% of conversions
  • <50% of Shopify: Tracking is catastrophically broken

2. Event Match Quality (Meta)

Go to Meta Events Manager → Data Sources → Your Pixel → Overview

Check "Event Match Quality" score (out of 10)

Score interpretation:

  • 8.0-10.0: Excellent (sending rich customer data)
  • 6.0-7.9: Good (could improve)
  • 4.0-5.9: Poor (missing critical data)
  • <4.0: Broken (basically guessing)

3. Conversion lag

Check how long it takes for conversions to appear in your dashboards.

If conversions appear:

  • Within 1 hour: Real-time tracking working
  • 1-6 hours: Normal delay
  • 6-24 hours: Delayed tracking (iOS 14 aggregation)
  • 24-72 hours: Severely delayed (relying on modeled conversions)

4. iOS vs. Android conversion rate and attribution accuracys

Check conversion rates by device type in GA4 or Shopify.

If iOS conversion rate is:

  • Similar to Android: Tracking both equally (good)
  • 30-50% lower than Android: iOS tracking is broken (common)
  • 70%+ lower: iOS tracking catastrophically broken

If you failed 2+ of these checks, your tracking is broken. Keep reading.

The 5 Layers of Conversion Tracking (And How to Fix Each)

Layer 1: Browser-Side Tracking (Pixels)

What it is: JavaScript code (pixel) that fires in customer's browser when they complete an action.

Platforms:

  • Meta Pixel
  • Google Ads Tag
  • TikTok Pixel
  • Snapchat Pixel

How to implement:

Option A: Direct installation (not recommended)

  1. Copy pixel code from platform
  2. Paste in Shopify theme header
  3. Add event tracking code to conversion pages

Problem: Hard to maintain, easy to break, no flexibility

Option B: Google Tag Manager (recommended)

  1. Install GTM container on site
  2. Add platform pixels as tags in GTM
  3. Set up triggers (page views, purchases, add to cart)
  4. Test and publish

Benefits: Centralized management, easy updates, better testing

Limitations of browser-side tracking:

  • Blocked by iOS 14 (75-85% of iOS users)
  • Blocked by ad blockers (15-30% of users)
  • Blocked by browser privacy features (Safari ITP, Firefox ETP)
  • Affected by slow page loads (pixel might not fire)

Expected accuracy: 40-60% of conversions tracked

Verdict: Necessary but not sufficient. You need Layer 2.

Layer 2: Server-Side Tracking (Conversions API)

What it is: Your server sends conversion data directly to ad platforms, bypassing browser limitations.

Why it works: Not affected by iOS 14, ad blockers, or browser privacy features.

How to implement:

Option A: Shopify App (Easiest)

Recommended apps:

  • Elevar: €99-499/month, best for multi-platform tracking
  • Littledata: €50-300/month, good for GA4 + CAPI
  • Trackify: €29-99/month, budget option

Setup process:

  1. Install app from Shopify App Store
  2. Connect Meta Ads account
  3. Enable Conversions API
  4. Map customer data fields (email, phone, name)
  5. Test in Meta Events Manager
  6. Monitor Event Match Quality (aim for 6.0+)

Time: 30-60 minutes
Difficulty: Easy

Option B: GTM Server-Side (Advanced)

  1. Set up GTM server container (Google Cloud)
  2. Configure server-side Meta CAPI tag
  3. Set up data layer to pass customer info
  4. Hash PII (email, phone) before sending
  5. Test and validate

Cost: €50-200/month (Google Cloud hosting)
Time: 4-8 hours
Difficulty: Advanced

Expected impact:

  • +25-40% more conversions tracked
  • +25-40% reported ROAS improvement
  • Better algorithm optimization (more data)
  • Higher Event Match Quality (6.0-8.0+)

Real example: Fashion brand implemented CAPI via Elevar. Tracked conversions increased from 220/week to 305/week (+39%). Reported ROAS improved from 2.9x to 4.0x (+38%). Actual revenue? Stayed the same—they were just finally seeing what was always there.

Verdict: Non-negotiable in 2025. If you're not using server-side tracking, you're flying blind.

Layer 3: Enhanced Conversions (Google)

What it is: Sending hashed customer data (email, phone, address) with conversion events to improve match rates.

Why it matters: Google can match conversions even when cookies are blocked.

How to implement:

Option A: Automatic (GTM)

  1. In GTM, edit your Google Ads Conversion tag
  2. Enable "Enhanced Conversions"
  3. Select automatic collection (GTM scrapes form data)
  4. Test and publish

Option B: Manual (Code)

  1. Collect customer data at checkout (email, phone, name, address)
  2. Hash with SHA-256
  3. Pass to Google Ads tag via data layer
  4. Validate in Google Ads

Expected impact: +15-25% conversion tracking accuracy

Layer 4: UTM Parameters & Campaign Tracking

What it is: URL parameters that tell analytics tools where traffic came from.

Standard UTM parameters:

  • utm_source: Traffic source (facebook, google, tiktok)
  • utm_medium: Marketing medium (cpc, social, email)
  • utm_campaign: Campaign name (summer_sale_2025)
  • utm_content: Ad variation (video_a, carousel_b)
  • utm_term: Keyword (for search ads)

Example URL:

https://causalityengine.com/product?utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale&utm_content=video_a

Why it matters: When pixel tracking fails, UTM parameters provide backup attribution data in GA4.

Best practices:

1. Use consistent naming conventions

Good:

  • utm_source=facebook (always lowercase)
  • utm_campaign=summer_sale_2025 (descriptive, dated)

Bad:

  • utm_source=Facebook (inconsistent capitalization)
  • utm_campaign=ss25 (unclear abbreviation)

2. Auto-tag platform campaigns

  • Meta: Enable "URL Parameters" in campaign settings
  • Google: Enable "Auto-tagging" in account settings
  • TikTok: Use tracking templates

3. Track email campaigns

Add UTM parameters to all email links:

utm_source=klaviyo&utm_medium=email&utm_campaign=cart_abandonment&utm_content=email_2

4. Use a UTM builder

Tools: Google Campaign URL Builder, Terminus UTM Builder

Prevents typos and ensures consistency.

Layer 5: Post-Purchase Surveys

What it is: Asking customers "How did you hear about us?" after purchase.

Why it matters: Captures attribution data that tracking can't (word of mouth, podcasts, influencers, offline).

How to implement:

Option A: Shopify Order Confirmation Page

  1. Add custom field to order confirmation page
  2. Ask: "How did you first hear about us?"
  3. Options: Instagram, TikTok, Google Search, Friend, Podcast, Other
  4. Store responses in order notes

Option B: Post-Purchase Survey App

Tools: Fairing, Enquire Labs, KnoCommerce

Cost: €50-200/month

What you'll discover:

  • 15-30% of customers heard about you from sources you're not tracking (word of mouth, podcasts, influencers)
  • Platform-reported attribution often doesn't match customer-reported attribution
  • Dark social (untrackable shares) drives 10-20% of conversions

Real example: Beauty brand added post-purchase survey. Discovered 22% of customers heard about them from TikTok (organic, not ads), but TikTok ads were only getting 8% last-click credit. Insight: Their organic TikTok content was driving more value than paid ads.

The Friday Morning "Should I Pause This?" Moment (Solved with Better Tracking)

You're looking at a TikTok campaign. €7,000 spent, 2.3x ROAS.

But wait—is that 2.3x accurate?

Check your tracking:

  1. Event Match Quality: 4.2 (poor—missing customer data)
  2. iOS conversion rate: 1.2% vs. Android 2.8% (iOS tracking broken)
  3. Conversion lag: 24-48 hours (relying on modeled conversions)

Diagnosis: You're probably missing 40-50% of conversions.

True ROAS: Likely 3.5-4.0x, not 2.3x

Decision: Don't pause—fix your tracking first, then reassess.

This is why tracking matters. Bad tracking leads to bad decisions.

Common Tracking Mistakes (And How to Fix Them)

Mistake 1: Only Using Browser-Side Tracking

The problem: Missing 40-60% of conversions due to iOS 14, ad blockers

The fix: Implement server-side tracking (Conversions API)

Expected impact: +25-40% conversion tracking accuracy

Mistake 2: Not Sending Customer Data

The problem: Low Event Match Quality (below 6.0)

The fix: Send hashed email, phone, name, address with conversion events

How: Configure in your CAPI app or GTM server-side setup

Expected impact: EMQ improves from 4.0 → 7.0+, +15-25% match rates

Mistake 3: Inconsistent UTM Parameters

The problem: Can't analyze campaign performance in GA4 due to messy data

The fix:

  • Create UTM naming convention document
  • Use UTM builder tool
  • Auto-tag platform campaigns
  • Audit existing campaigns quarterly

Mistake 4: Not Testing Tracking Setup

The problem: Tracking breaks and you don't notice for weeks

The fix: Weekly tracking audits

Checklist:

  • Place test order, verify it appears in all platforms
  • Check Event Match Quality (Meta)
  • Check conversion lag (should be <6 hours)
  • Compare platform revenue to Shopify (should be 120-150%)
  • Review error logs in Events Manager

Mistake 5: Tracking Too Many Events

The problem: Tracking 20+ events, algorithm gets confused

The fix: Focus on 3-5 key events

Priority events:

  1. Purchase (always track, always optimize for)
  2. Add to Cart (for retargeting)
  3. Initiate Checkout (for cart abandonment)
  4. View Content (for retargeting)
  5. Lead (if you collect emails before purchase)

Don't track: Button clicks, scroll depth, time on page (not useful for optimization)

Case Study: Brand Fixes Tracking, Scales 3x

Problem: Fashion brand spending €80K/month with 2.8x blended ROAS. Couldn't scale profitably.

Tracking audit revealed:

  • Only using browser-side tracking (no CAPI)
  • Event Match Quality: 3.8 (terrible)
  • Missing 45% of conversions
  • iOS conversion rate: 60% lower than Android

Action taken:

  1. Implemented Conversions API via Elevar
  2. Enabled Enhanced Conversions (Google)
  3. Fixed UTM parameters across all campaigns
  4. Added post-purchase survey

Result after 4 weeks:

  • Tracked conversions: +38%
  • Event Match Quality: 3.8 → 7.2
  • Reported ROAS: 2.8x → 3.9x
  • Actual revenue: Stayed same (just seeing it now)

Impact on scaling:

  • Confidently scaled ad spend (with accurate attribution) from €80K → €240K/month
  • Revenue: €224K → €936K/month
  • Profitability maintained (true ROAS was always 3.9x, just couldn't see it)

Key insight: They weren't unprofitable—they just had broken tracking. Once fixed, they could scale with confidence.

What to Do This Week

  1. Run the tracking diagnosis (4 checks above)
  2. If you fail 2+ checks, implement Conversions API (use Shopify app, takes 1 hour)
  3. Check Event Match Quality (aim for 6.0+)
  4. Audit UTM parameters (fix inconsistencies)
  5. Set up weekly tracking audit (place test order, verify tracking)

Most brands are making budget decisions based on data that's 40-60% incomplete.

Fix your tracking first. Optimize second.

Your choice.

Quick Answers

What is conversion tracking?

Conversion tracking tells ad platforms (Meta, Google, TikTok) when someone completes a desired action (purchase, sign up, add to cart). It's how platforms measure campaign performance and optimize delivery. Without accurate tracking, you can't measure ROAS or optimize campaigns.

How do I know if my conversion tracking is broken?

Check 4 things: 1) Platform-reported revenue vs. Shopify (should be 120-150%), 2) Event Match Quality in Meta (should be 6.0+), 3) Conversion lag (should be <6 hours), 4) iOS vs. Android conversion rates (should be similar). If you fail 2+ checks, tracking is broken.

What is Conversions API and do I need it?

Conversions API (CAPI) sends conversion data from your server to Meta, bypassing browser limitations. Not affected by iOS 14, ad blockers, or cookie blocking. Yes, you absolutely need it in 2025. Brands using CAPI see +25-40% more tracked conversions vs. pixel-only.

What is Event Match Quality in Meta?

EMQ measures how well Meta can match your conversion events to user profiles (score 0-10). Higher EMQ = better attribution and optimization. Improve it by sending hashed customer data (email, phone, name) with events. Aim for 6.0+, ideally 7.0-8.0.

How do I implement server-side tracking?

Easiest: Install Shopify app (Elevar, Littledata, Trackify), connect Meta Ads account, enable CAPI. Takes 30-60 minutes. Advanced: Set up GTM server-side container, configure CAPI tag. Takes 4-8 hours. Cost: €50-500/month depending on solution.

What are UTM parameters and why do they matter?

UTM parameters are URL tags that tell analytics where traffic came from (utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale). When pixel tracking fails, UTMs provide backup attribution in GA4. Use consistent naming and auto-tag all campaigns.

How often should I audit my tracking?

Weekly. Place test order, verify it appears in all platforms within 1-6 hours. Check Event Match Quality, compare platform revenue to Shopify, review error logs. Tracking breaks more often than you think—weekly audits catch issues before they cost you money.

Why is my iOS conversion rate lower than Android?

iOS 14 App Tracking Transparency blocks pixel tracking for 75-85% of iOS users. If your iOS conversion rate is 30-50% lower than Android, your iOS tracking is broken. Fix: Implement Conversions API to track iOS conversions server-side (not affected by ATT).

Ready to stop guessing and start knowing? When Meta says one thing, Google says another, and Shopify shows different numbers entirely, it's time for accurate attribution. Discover how to get clarity on your true ROAS.

Ready for accurate conversion tracking? Causality Engine automatically implements server-side tracking, validates data quality, and alerts you when tracking breaks—so you always make decisions based on complete data.

Fix Your Tracking

Read more

Ready to uncover
your hidden revenue?