Skip to main content

Conversion Tracking

How to implement accurate conversion tracking across platforms.

Conversion Framework

What to Track

Identify conversions based on business value:

| Conversion Type | Examples | Typical Platforms | |-----------------|----------|-------------------| | Macro (Primary) | Purchase, Sign up, Lead submit | All | | Micro (Supporting) | Add to cart, View pricing, Download | Analytics, Select ads |

Conversion Funnel

Track the complete user journey:

Awareness → Interest → Consideration → Intent → Conversion
    ↓           ↓            ↓            ↓          ↓
Page View  Product View  Add to Cart  Checkout   Purchase

GA4 Conversion Implementation

Step 1: Define Events

Create a conversion tracking spec:

// Purchase conversion
dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: 'T12345',
    value: 99.99,
    currency: 'USD',
    tax: 8.00,
    shipping: 5.99,
    items: [{
      item_id: 'SKU_001',
      item_name: 'Product Name',
      price: 85.00,
      quantity: 1
    }]
  }
});

Step 2: Configure in GTM

  1. Create GA4 Event tag
  2. Set event name to match your data layer event
  3. Map e-commerce parameters
  4. Set trigger to custom event

Step 3: Mark as Conversion in GA4

  1. Navigate to Admin > Events
  2. Find your event in the list
  3. Toggle Mark as conversion

Platform-Specific Implementation

Google Ads

// Google Ads conversion tracking
dataLayer.push({
  event: 'google_ads_conversion',
  conversion_id: 'AW-XXXXXXXXX',
  conversion_label: 'XXXXXXXX',
  value: 99.99,
  currency: 'USD',
  transaction_id: 'T12345'
});

GTM Setup:

  • Tag type: Google Ads Conversion Tracking
  • Use variables for dynamic values
  • Enable conversion linker tag

Meta (Facebook) Pixel

// Meta purchase event
dataLayer.push({
  event: 'meta_purchase',
  value: 99.99,
  currency: 'USD',
  content_ids: ['SKU_001'],
  content_type: 'product',
  num_items: 1
});

GTM Setup:

  • Tag type: Custom HTML or Meta Pixel template
  • Map to Meta standard events
  • Include user data for Advanced Matching (with consent)

LinkedIn Insight Tag

// LinkedIn conversion
dataLayer.push({
  event: 'linkedin_conversion',
  conversion_id: 12345678
});

Cross-Domain Tracking

When Needed

  • Checkout on different domain
  • Payment processor redirects
  • Multi-brand scenarios

GA4 Implementation

  1. In GA4 Admin: Data Streams > Configure Tag Settings > Configure Your Domains
  2. List all domains that should share sessions
  3. In GTM: Ensure Google Tag is configured correctly

Testing

Verify cross-domain tracking:

  1. Start session on domain A
  2. Navigate to domain B
  3. Check that client_id remains consistent
  4. Verify no new sessions created

Attribution Considerations

GA4 Attribution Models

| Model | Best For | |-------|----------| | Data-driven | Sufficient conversion volume | | Last click | Direct response campaigns | | First click | Brand awareness analysis |

Conversion Windows

Configure based on your sales cycle:

| Business Type | Suggested Window | |---------------|------------------| | E-commerce | 30 days | | B2B SaaS | 90 days | | Lead gen | 30-60 days |

Enhanced Conversions

What It Is

First-party customer data (hashed) sent with conversions for better attribution.

Implementation

// Enhanced conversion data
dataLayer.push({
  event: 'purchase',
  enhanced_conversion_data: {
    email: 'SHA256_HASHED_EMAIL'
  },
  // ... other purchase data
});

Privacy Considerations

  • Requires user consent for data collection
  • Hash sensitive data before sending
  • Document in privacy policy

Debugging Conversions

Common Issues

| Issue | Cause | Solution | |-------|-------|----------| | Missing conversions | Trigger not firing | Check GTM preview mode | | Duplicate conversions | Multiple tags | Add transaction_id deduplication | | Wrong values | Variable misconfiguration | Verify data layer values | | Attribution mismatch | Cross-domain issues | Check linker configuration |

Validation Checklist

  • [ ] Events appear in GA4 DebugView
  • [ ] Conversion values are accurate
  • [ ] Transaction IDs are unique
  • [ ] Cross-domain tracking works
  • [ ] Enhanced conversions sending correctly
  • [ ] All platforms receiving data

Previous: GTM Best Practices Next: Data Layer Design