Conversion Mismatch
What This Means
Conversion mismatch occurs when different platforms (Google Analytics vs Google Ads, Facebook Ads vs Analytics, etc.) report different numbers of conversions for the same actions. While some discrepancy is normal and expected, large differences indicate tracking problems or misunderstanding of how platforms measure conversions.
Impact on Your Business
Decision Making:
- Cannot accurately calculate ROI
- Unclear which campaigns actually work
- Budget allocation based on wrong data
- Trust issues in reporting
Attribution Confusion:
- Different platforms claim credit for same conversion
- Cannot identify true conversion source
- Multi-touch attribution impossible
- Channel value miscalculated
Budget Optimization:
- Over/under-investing in channels
- Wrong campaigns get budget
- Cannot optimize effectively
- Wasted advertising spend
How to Diagnose
Method 1: Compare Platform Reports
Google Analytics vs Google Ads:
- GA4: Acquisitions → Traffic acquisition → Source
- Google Ads: Campaigns → Conversions
- Compare conversion numbers for same time period
- Note the difference percentage
Check date range and time zone:
- Use same dates in both platforms
- Verify time zones match
- Check daylight savings transitions
Compare attribution windows:
- Google Ads: Default 30-day click, 1-day view
- GA4: Default last-click attribution
- Facebook: 7-day click, 1-day view
What to Look For:
- Discrepancy > 20% (investigate)
- Systematic under/over-reporting
- Platform-specific patterns
- Timing differences
Method 2: Test Conversion Path
Perform test conversion:
- Click your ad
- Complete conversion action
- Wait 24-48 hours
Check both platforms:
- Google Ads: Should show conversion
- GA4: Should show conversion
- Note which platform(s) recorded it
Identify where tracking fails:
- Did both platforms track it?
- Was attribution correct?
- Were all parameters captured?
Method 3: Review Attribution Settings
-
- Admin → Data display → Attribution settings
- Check attribution model (last click, data-driven, etc.)
- Note reporting attribution model
Google Ads:
- Tools & Settings → Measurement → Attribution
- Review conversion window settings
- Check attribution model
Facebook Ads:
- Events Manager → Settings
- Check attribution window
- Review conversion tracking
What to Look For:
- Different attribution models between platforms
- Different conversion windows
- Different counting methodologies
- Assisted vs last-click differences
General Fixes
Fix 1: Understand Normal Discrepancies
Accept expected differences:
Attribution model differences:
Scenario: User clicks Facebook ad, then Google ad, then converts - Facebook Ads: Claims conversion (7-day click window) - Google Ads: Claims conversion (30-day click window) - GA4: Credits Google (last-click attribution) Result: 1 conversion, counted 3 times across platformsConversion window differences:
Google Ads: 30-day click window GA4: 90-day lookback (default) Result: GA4 may credit older traffic that Ads doesn't countTracking method differences:
Google Ads: Uses last Google click GA4: Can use data-driven attribution (multi-touch) Result: Different conversions creditedTiming differences:
Conversion happens at 11:58 PM PST GA4 (PST): Counted on current day Google Ads (UTC): Counted on next day Result: Same conversion, different dates
Fix 2: Align Conversion Definitions
Ensure platforms track same actions:
Use identical conversion actions:
// GA4 conversion gtag('event', 'purchase', { transaction_id: 'T123', value: 99.99, currency: 'USD' }); // Google Ads conversion (should match) gtag('event', 'conversion', { 'send_to': 'AW-123456789/AbCdEfGhIjKlMnOpQr', 'transaction_id': 'T123', // Same transaction ID 'value': 99.99, 'currency': 'USD' });Import GA4 conversions to Google Ads:
- Google Ads → Tools → Conversions
- Click "+" → Import → Google Analytics 4
- Select GA4 property
- Choose conversions to import
- Benefit: Single source of truth
Match Facebook Pixel events:
// GA4 purchase event gtag('event', 'purchase', {...}); // Corresponding Facebook Purchase event fbq('track', 'Purchase', { value: 99.99, currency: 'USD', content_ids: ['123'], content_type: 'product' });
Fix 3: Synchronize Time Zones
Align reporting time zones:
Check GA4 time zone:
- Admin → Property Settings → Reporting time zone
- Note current time zone
Check Google Ads time zone:
- Settings → Account settings → Time zone
- Cannot be changed after account creation
Align if possible:
- GA4 time zone can be changed (affects future data)
- Use same time zone for comparing
- Or adjust mentally when comparing reports
Document differences:
GA4: Pacific Time (UTC-8) Google Ads: Eastern Time (UTC-5) 3-hour difference means date boundaries differ
Fix 4: Use Transaction ID De-duplication
Prevent duplicate conversion counting:
Send transaction ID with every conversion:
// GA4 gtag('event', 'purchase', { transaction_id: 'T' + Date.now(), // Unique ID value: 99.99, currency: 'USD' }); // Google Ads (same transaction ID) gtag('event', 'conversion', { 'send_to': 'AW-123456789/AbCdEfGhIjKlMnOpQr', 'transaction_id': 'T' + Date.now(), // Same ID 'value': 99.99 });Ensure transaction IDs are truly unique:
// Generate unique transaction ID const transactionId = 'T-' + Date.now() + '-' + Math.random().toString(36).substr(2, 9);De-duplication in Google Ads:
- Google Ads automatically de-duplicates based on transaction_id
- Multiple conversions with same ID counted once
- Prevents inflated numbers from duplicate tracking
Fix 5: Fix Cross-Domain Tracking
Track users across domains:
Enable cross-domain tracking (GA4):
gtag('config', 'G-XXXXXXXXXX', { 'linker': { 'domains': ['example.com', 'shop.example.com'] } });Configure in GA4 Admin:
- Admin → Data Streams → Configure tag settings
- Configure your domains
- Add all related domains
Test cross-domain tracking:
- Click from domain A to domain B
- Check that GA4 client ID persists
- Verify attribution maintained
Fix 6: Align Attribution Models
Use consistent attribution:
Understand each platform's default:
Google Ads: Last Google Ads click GA4: Data-driven (or last click) Facebook: 7-day click, 1-day viewChoose primary platform for truth:
Option 1: Use GA4 as source of truth - Import GA4 conversions to Google Ads - Use GA4 attribution model - Accept GA4 numbers as correct Option 2: Use platform's native attribution - Accept discrepancies - Understand each platform's value - Use each for optimization decisionsCustom attribution in GA4:
- Admin → Attribution settings
- Choose model: Data-driven, Last click, First click, etc.
- Apply to reporting
Fix 7: Account for View-Through Conversions
Understand view vs click conversions:
Google Ads view-through conversions:
- Conversions → Columns → Modify columns
- Add "View-through conv."
- Separate from click conversions
Facebook view-through:
- Default: 1-day view window
- User saw ad but didn't click
- Converted within 24 hours
GA4 handling:
- GA4 typically doesn't count view-throughs
- Only click-through attribution
- Results in lower conversion count vs ad platforms
Compare apples to apples:
Google Ads: Click conversions only (exclude view-through) GA4: All conversions (inherently click-based) Result: More comparable numbers
Platform-Specific Guides
Detailed implementation instructions for your specific platform:
Verification
After implementing fixes:
Perform test conversions:
- Complete 5-10 test transactions
- Use different attribution paths
- Wait 48 hours for processing
Compare numbers:
- Check both platforms
- Calculate discrepancy percentage
- Should be < 10-15%
Review over time:
- Check weekly for 1 month
- Monitor trend in discrepancy
- Investigate new anomalies
Document baselines:
Normal discrepancy: 10% Reason: Attribution model differences Acceptable range: 5-15% Alert if > 20%
Common Mistakes
- Comparing different time zones - Align time zones
- Ignoring attribution model differences - Understand each model
- Not using transaction ID - Enable de-duplication
- Expecting exact matches - Some difference is normal
- Comparing clicks to conversions - Use consistent metrics
- Including view-through in one but not other - Be consistent
- Not accounting for conversion delays - Allow processing time
- Cross-domain tracking not set up - Revenue attributed wrong
- Different conversion actions - Ensure same actions tracked
- Bot/spam traffic - Filter in both platforms
Acceptable Discrepancy Range
Normal: < 15% difference
- Attribution model differences
- Conversion window differences
- Timing and time zone variations
Investigate: 15-25% difference
- Check configuration
- Verify conversion definitions match
- Review attribution settings
Critical: > 25% difference
- Major tracking problem
- Missing conversion tags
- Wrong platform configuration
- Need immediate fix