Overview
What It Is
A comprehensive system that captures every marketing touchpoint across the buyer journey and applies attribution models (first-touch, last-touch, linear, time-decay, position-based) to determine which efforts drive revenue.
Why It Matters
Without attribution, marketing is flying blind. You can't optimize what you can't measure. Knowing that content marketing drives 35% of pipeline (not 10% as last-touch suggested) changes budget allocation decisions.
Who It's For
- Marketing leaders allocating budget
- Demand gen teams optimizing channels
- RevOps building reporting infrastructure
- CFOs validating marketing ROI
Preconditions
Required Tools
- Segment/Rudderstack (data collection)
- BigQuery/Snowflake (data warehouse)
- HubSpot/Salesforce (CRM)
- Looker/Tableau (visualization)
Required Fields/Properties
- UTM parameters on all campaigns
- Website visit tracking
- Form submissions with source
- Opportunity/revenue data
- Account/contact linkage
Definitions Required
- Touchpoint definition (what counts)
- Attribution window (90 days typical)
- Conversion events (MQL, SQL, Closed Won)
- Attribution model weights
Step-by-Step Workflow
Implement Touchpoint Tracking
Goal: Capture every marketing interaction across channels
Actions:
- Deploy tracking on website (Segment/GA4)
- Ensure UTM parameters on all campaigns
- Track form submissions with source data
- Capture ad click data (Google, LinkedIn, Meta)
Implementation Notes: Use consistent UTM taxonomy: utm_source, utm_medium, utm_campaign, utm_content. Document and enforce across all teams.
Build Touchpoint Data Model
Goal: Structure touchpoint data for attribution analysis
Actions:
- Create touchpoints table with all interactions
- Link touchpoints to accounts/contacts
- Normalize channel and source naming
- Deduplicate while preserving journey
Implementation Notes: Store raw touchpoints immutably. Create normalized views for analysis. This allows reprocessing with new models without data loss.
Link Touchpoints to Revenue
Goal: Connect marketing interactions to closed revenue
Actions:
- Match touchpoints to opportunities via account/contact
- Define attribution window (90 days before close)
- Handle multi-contact buying committees
- Exclude post-opportunity touchpoints
Implementation Notes: B2B attribution is account-based. Link all contacts' touchpoints to the account's opportunities. This captures the full buying committee journey.
Implement Attribution Models
Goal: Apply multiple attribution models to the same data
Actions:
- First-touch: 100% credit to first interaction
- Last-touch: 100% credit to last interaction
- Linear: Equal credit across all touchpoints
- Time-decay: More credit to recent touchpoints
- Position-based: 40% first, 40% last, 20% middle
Implementation Notes: No single model is 'correct.' Show multiple models side-by-side. First-touch shows awareness drivers, last-touch shows closers, linear shows full journey.
Build Attribution Dashboards
Goal: Visualize attribution insights for decision-making
Actions:
- Channel performance comparison (all models)
- Campaign-level attribution
- Journey path analysis (common paths to close)
- Attribution vs. spend (ROI by channel)
Implementation Notes: Show attribution alongside spend data for ROI calculations. A channel driving $1M in attributed revenue on $500K spend is very different from the same on $2M spend.
Automate Reporting and Alerts
Goal: Keep attribution data fresh and actionable
Actions:
- Schedule daily touchpoint processing
- Update attribution calculations weekly
- Send monthly attribution reports to stakeholders
- Alert on significant attribution shifts
Implementation Notes: Attribution data doesn't change frequently. Weekly recalculation is usually sufficient. Alert when a channel's attribution changes >20% month-over-month.
Templates
Monthly Attribution Report
📊 *Marketing Attribution Report - {{month}}*
*Revenue Attributed (Linear Model):*
| Channel | Revenue | % of Total | MoM Change |
|---------|---------|------------|------------|
| Paid Search | ${{paid_search}} | {{ps_pct}}% | {{ps_change}} |
| Organic | ${{organic}} | {{org_pct}}% | {{org_change}} |
| Email | ${{email}} | {{email_pct}}% | {{email_change}} |
| Paid Social | ${{paid_social}} | {{social_pct}}% | {{social_change}} |
| Direct | ${{direct}} | {{direct_pct}}% | {{direct_change}} |
*Top Performing Campaigns:*
1. {{campaign_1}} - ${{camp1_rev}} attributed
2. {{campaign_2}} - ${{camp2_rev}} attributed
3. {{campaign_3}} - ${{camp3_rev}} attributed
*Insights:*
• {{insight_1}}
• {{insight_2}}
• {{insight_3}}
<{{dashboard_link}}|View Full Dashboard>
UTM Taxonomy Documentation
| Parameter | Purpose | Values | Example | |-----------|---------|--------|--------| | utm_source | Traffic source | google, linkedin, newsletter | google | | utm_medium | Marketing medium | cpc, organic, email, social | cpc | | utm_campaign | Campaign name | q4-promo, webinar-oct | q4-brand-campaign | | utm_content | Content variant | cta-blue, banner-a | homepage-hero | | utm_term | Paid keywords | crm software | crm software |
Attribution Model Selection Guide
**When to Use Each Attribution Model:** **First-Touch Attribution** - Best for: Understanding awareness channels - Use when: Optimizing top-of-funnel marketing - Limitation: Ignores conversion-driving touchpoints **Last-Touch Attribution** - Best for: Understanding conversion drivers - Use when: Optimizing bottom-of-funnel - Limitation: Ignores early-journey influence **Linear Attribution** - Best for: Fair view of full journey - Use when: All touchpoints roughly equal importance - Limitation: Doesn't distinguish touchpoint value **Position-Based (U-Shaped)** - Best for: B2B with long journeys - Use when: First and last touches are most important - Limitation: May undervalue middle journey **Time-Decay** - Best for: Short consideration cycles - Use when: Recent touches drive conversion - Limitation: May undervalue awareness building
QA + Edge Cases
Test Cases Checklist
- Verify touchpoints link correctly to opportunities
- Confirm attribution weights sum to 100% per opportunity
- Test all models produce expected results on sample data
- Validate UTM parameter capture on test campaigns
- Check multi-contact attribution includes full buying committee
Common Failure Modes
- Missing touchpoints: Ad blockers, privacy settings, or tracking gaps miss interactions. Accept some data loss; cross-validate with platform data.
- Contact-opportunity mismatch: Touchpoints exist but can't link to revenue. Ensure robust identity resolution and account matching.
- UTM inconsistency: Teams use different UTM conventions. Enforce taxonomy and use normalization layer to handle variations.
Troubleshooting Tips
- If 'Direct' is too high, check for missing UTMs or referrer stripping
- For low touchpoint counts, verify tracking deployed on all key pages
- If attribution doesn't match platform data, check for attribution window differences
KPIs and Reporting
KPIs to Track
- Touchpoint Coverage: >85% of opportunities have touchpoints
- Channel ROI: >3x return on marketing spend
- Attribution Accuracy: Model correlates with outcomes
- Data Freshness: Attribution updated within 24 hours
Suggested Dashboard Widgets
- Channel Attribution Comparison: Side-by-side comparison of all attribution models by channel
- Campaign Performance: Top campaigns by attributed revenue with spend data
- Journey Path Analysis: Most common touchpoint sequences for won deals
- Attribution Trends: Channel attribution changes over time