Skip to main content

Attribution Modeling

Understanding and implementing attribution models to accurately measure marketing effectiveness.

What Is Attribution?

Attribution assigns credit for conversions to the marketing touchpoints that influenced them.

The Attribution Challenge

Customer Journey:
─────────────────────────────────────────────────────────────────────────
Day 1          Day 5          Day 12         Day 15         Day 20
─────────────────────────────────────────────────────────────────────────
Google Ad   →  Blog Post   →  Email     →   Retargeting  →  Direct
(Paid)         (Organic)      (Owned)       (Paid)          (Direct)
                                                              │
                                                              ▼
                                                          Purchase

Question: Which channel gets credit for the $100 purchase?

Attribution Models

Last Click

All credit to the final touchpoint.

| Channel | Credit | |---------|--------| | Google Ad | 0% | | Blog Post | 0% | | Email | 0% | | Retargeting | 0% | | Direct | 100% |

Best for: Short sales cycles, direct response

First Click

All credit to the initial touchpoint.

| Channel | Credit | |---------|--------| | Google Ad | 100% | | Blog Post | 0% | | Email | 0% | | Retargeting | 0% | | Direct | 0% |

Best for: Brand awareness analysis

Linear

Equal credit to all touchpoints.

| Channel | Credit | |---------|--------| | Google Ad | 20% | | Blog Post | 20% | | Email | 20% | | Retargeting | 20% | | Direct | 20% |

Best for: Long, complex journeys

Time Decay

More credit to touchpoints closer to conversion.

| Channel | Credit | |---------|--------| | Google Ad | 5% | | Blog Post | 10% | | Email | 20% | | Retargeting | 30% | | Direct | 35% |

Best for: Sales-focused campaigns

Position-Based (U-Shaped)

40% to first, 40% to last, 20% distributed to middle.

| Channel | Credit | |---------|--------| | Google Ad | 40% | | Blog Post | 6.7% | | Email | 6.7% | | Retargeting | 6.7% | | Direct | 40% |

Best for: Balanced view of acquisition and conversion

Data-Driven (GA4 Default)

Machine learning assigns credit based on actual impact.

Requirements:

  • 3,000+ interactions
  • 300+ conversions in 30 days
  • Google Ads linked account

GA4 Attribution

Attribution Settings

Navigate to AdminAttribution Settings:

| Setting | Options | |---------|---------| | Reporting attribution model | Data-driven, Last click, etc. | | Conversion window | 30, 60, or 90 days | | Acquisition conversion events | Select which events to include |

Lookback Windows

| Touchpoint Type | Options | |-----------------|---------| | Engaged-view | 3 days | | All other | 30, 60, or 90 days |

Changing Models

When you change attribution models:

  • Takes 24-48 hours to recalculate
  • Historical data updates retroactively
  • Doesn't affect raw event data

Google Ads Attribution

Conversion Settings

For each conversion action:

  1. ToolsConversions
  2. Select conversion action
  3. Edit settingsAttribution model

Available Models

| Model | Availability | |-------|--------------| | Data-driven | Requires sufficient data | | Last click | Always available | | First click | Always available | | Linear | Always available | | Time decay | Always available | | Position-based | Always available |

Cross-Account Attribution

For multiple Google Ads accounts:

  • Use a Manager Account (MCC)
  • Set attribution at the manager level
  • Ensures consistency across accounts

Implementation Guide

Step 1: Audit Current Setup

-- BigQuery: Check current conversion paths
SELECT
  source,
  medium,
  COUNT(*) as conversions,
  SUM(value) as revenue
FROM `project.analytics.events`
WHERE event_name = 'purchase'
GROUP BY source, medium
ORDER BY revenue DESC

Step 2: Configure GA4

  1. AdminAttribution Settings
  2. Select Data-driven (if eligible) or appropriate model
  3. Set lookback window based on sales cycle:

| Business Type | Recommended Window | |---------------|-------------------| | E-commerce | 30 days | | B2B SaaS | 90 days | | Lead gen | 60 days | | Travel | 45 days |

Step 3: Align Google Ads

Match Google Ads conversion settings to GA4:

  1. Same attribution model
  2. Same conversion window
  3. Import GA4 conversions vs. native tracking decision

Step 4: Document and Communicate

Create attribution documentation:

## Attribution Policy

### Models in Use
- GA4: Data-driven (90-day window)
- Google Ads: Data-driven (90-day window)
- Meta: 7-day click, 1-day view

### Reporting Implications
- Use GA4 for cross-channel comparison
- Platform-specific for in-platform optimization
- Expect ~20% variance between platforms

Multi-Touch Attribution (MTA)

Building Custom MTA

For advanced analysis, use BigQuery:

-- First-touch attribution
WITH first_touch AS (
  SELECT
    user_pseudo_id,
    source,
    medium,
    campaign,
    event_timestamp,
    ROW_NUMBER() OVER (
      PARTITION BY user_pseudo_id
      ORDER BY event_timestamp ASC
    ) as touch_order
  FROM `project.analytics.events`
  WHERE source IS NOT NULL
)
SELECT
  source,
  medium,
  COUNT(DISTINCT user_pseudo_id) as users,
  COUNT(*) as first_touch_conversions
FROM first_touch
WHERE touch_order = 1
GROUP BY source, medium

Path Analysis

-- Conversion path analysis
SELECT
  STRING_AGG(source || ' / ' || medium, ' > ') as path,
  COUNT(*) as conversions
FROM (
  SELECT
    user_pseudo_id,
    source,
    medium,
    event_timestamp
  FROM `project.analytics.events`
  WHERE event_name IN ('session_start', 'purchase')
)
GROUP BY user_pseudo_id
HAVING COUNT(*) > 1
ORDER BY conversions DESC
LIMIT 20

Platform Comparison

Attribution Differences

| Platform | Default Model | Lookback | |----------|---------------|----------| | GA4 | Data-driven | 30-90 days | | Google Ads | Data-driven | 30-90 days | | Meta Ads | Click 7d / View 1d | 7/1 days | | LinkedIn | Last touch | 90 days | | Microsoft Ads | Last click | 30 days |

Why Numbers Don't Match

Scenario: Customer clicks Google Ad, then Facebook Ad, then purchases

GA4 (Data-driven):
├── Google: 60% ($60)
└── Facebook: 40% ($40)

Google Ads (Data-driven):
└── Google: 100% ($100)  ← Only sees Google clicks

Meta Ads (7d/1d):
└── Facebook: 100% ($100) ← Only sees Meta clicks

Total claimed: $260 vs. $100 actual

Reconciliation Strategy

  1. Accept discrepancy - Each platform optimizes to its own view
  2. Use GA4 as source of truth - For cross-channel comparison
  3. Track incrementality - Measure true lift with holdout tests
  4. Compare trends - Not absolute values

Incrementality Testing

What Is Incrementality?

Measuring the true additional impact of marketing, not just attribution.

Simple Holdout Test

┌─────────────────────────────────────────────────────────┐
│                   Incrementality Test                    │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  Control Group (10%)      │      Test Group (90%)       │
│  ─────────────────────────────────────────────────────  │
│  No retargeting ads       │      Normal retargeting     │
│  ▼                        │      ▼                      │
│  Conversion rate: 2%      │      Conversion rate: 5%    │
│                                                         │
│  Incrementality = (5% - 2%) / 5% = 60%                 │
│  True incremental conversions = 60% of attributed      │
│                                                         │
└─────────────────────────────────────────────────────────┘

Implementing Holdout Tests

  1. Create audience segment in ad platform
  2. Exclude control group from targeting
  3. Run for 2-4 weeks minimum
  4. Compare conversion rates
  5. Calculate incremental lift

Reporting Best Practices

Attribution Dashboard Elements

| Metric | Model | Purpose | |--------|-------|---------| | Conversions by source | Last click | Quick wins | | Assisted conversions | First click | Awareness impact | | Path length | All | Journey complexity | | Time to convert | All | Sales cycle | | Model comparison | Multiple | Sanity check |

Stakeholder Communication

| Audience | Focus On | |----------|----------| | Executives | Total conversions, ROAS by channel | | Marketing | Channel performance, optimization | | Sales | Lead quality, source breakdown | | Finance | Blended ROAS, incrementality |


Previous: Enhanced Conversions Next: Debug & Validation