general crm-attribution-setup

crm-attribution-setup

This skill should be used when the user asks to "set up attribution in CRM", "configure CRM attribution", "track lead source in CRM", "CRM attribution setup", "set up marketing attribution", "build attribution reporting in CRM", "design attribution tracking", "implement attribution in HubSpot or Salesforce", "track pipeline attribution in CRM", or any variation of setting up attribution tracking within a CRM for B2B SaaS.
Download .md

CRM Attribution Setup

Attribution in CRM connects pipeline and revenue back to the marketing and sales activities that created them. Without attribution, you can't answer "which channel produced the most pipeline?" With attribution, you can allocate budget, optimize channels, and prove ROI for every GTM investment.

The principle: set up attribution before you need attribution reports. Retrofitting attribution on 12 months of data with no source tracking is impossible. The best time to set up attribution was 6 months ago. The second best time is today.

The Attribution Data Model

Core attribution fields

Field Object Type Purpose
Original Source Contact Dropdown How the person first entered the CRM
Original Source Drill-Down Contact Text Specific detail (campaign name, keyword, etc.)
Lead Source Lead/Contact Dropdown Marketing or sales source category
Self-Reported Source Contact Dropdown "How did you hear about us?"
UTM Source Contact Text utm_source parameter from form submission
UTM Medium Contact Text utm_medium parameter
UTM Campaign Contact Text utm_campaign parameter
Pipeline Source Deal/Opportunity Dropdown Inbound, Outbound, Partner, Referral
First Touch Campaign Contact Lookup First marketing campaign engagement
Last Touch Campaign Contact Lookup Last marketing campaign before conversion

Field rules

  • Track at the contact level AND the deal level. Contact-level attribution tells you which channel brought the person. Deal-level attribution tells you which channel produced the pipeline. Both matter
  • Separate first-touch from last-touch. First-touch captures awareness (how they discovered you). Last-touch captures conversion (what triggered the action). Both have different uses
  • Include self-reported alongside software-tracked. Software misses dark funnel (podcasts, word of mouth, communities). Self-reported captures it. Track both. Report them separately
  • Lock original source. Once set, the Original Source should never change. It's the historical record of how this person first entered your world. Subsequent interactions update "latest" fields, not "original"

Setting Up UTM Tracking

UTM parameter standards

Parameter What it tracks Naming convention Example
utm_source Platform or channel Lowercase, no spaces linkedin, google, newsletter
utm_medium Marketing medium Lowercase paid-social, organic-social, email, cpc
utm_campaign Specific campaign Lowercase, hyphens q2-pipeline-push, series-b-launch
utm_content Ad or content variation Lowercase, hyphens cta-demo, testimonial-ad
utm_term Keyword (for paid search) Lowercase crm-software, sales-tools

UTM rules

  • Standardize naming before launching any campaign. Create a UTM naming document. Share it with the team. Enforce it. "LinkedIn" vs "linkedin" vs "LINKEDIN" creates three different sources in reports
  • Use lowercase always. UTMs are case-sensitive. Standardize on lowercase to prevent duplicate source entries
  • Use hyphens, not underscores or spaces. paid-social not paid_social or paid social. Consistent delimiter across all UTMs
  • Capture UTMs on every form. HubSpot auto-captures UTMs from form submissions. Salesforce requires hidden form fields or a marketing automation tool. Ensure every conversion point captures UTM data

CRM-specific UTM setup

HubSpot:

HubSpot automatically captures UTM parameters from
form submissions and stores them on the contact record.

Properties created automatically:
  - First page seen
  - Original source type
  - Original source data 1 (utm_source)
  - Original source data 2 (utm_medium)

Custom properties to add:
  - UTM Campaign (text, auto-captured)
  - UTM Content (text, auto-captured)
  - UTM Term (text, auto-captured)

Salesforce:

1. Create custom fields on Lead and Contact:
   - UTM_Source__c (text)
   - UTM_Medium__c (text)
   - UTM_Campaign__c (text)
   - UTM_Content__c (text)

2. Add hidden fields to web forms that capture
   URL parameters

3. Map lead UTM fields to contact UTM fields
   on lead conversion

4. OR: use a marketing automation tool
   (Marketo, Pardot, HubSpot) that captures
   UTMs and syncs to Salesforce

Pipeline Attribution

Attributing pipeline to source

For each deal/opportunity:
  1. Who is the primary contact on the deal?
  2. What was that contact's original source?
  3. What was the last touch before the deal was created?
  
  → Pipeline Source = contact's original source
  → Or: Pipeline Source = the activity that directly
     created the opportunity (outbound sequence, inbound form, etc.)

Pipeline source categories

Source Definition How to determine
Inbound Contact submitted a form, requested a demo, or signed up Form submission exists before deal creation
Outbound SDR or AE initiated contact through cold outreach Outbound sequence or cold email preceded the meeting
Partner Partner referred the deal Partner field populated, or referral source tracked
Referral Existing customer or contact referred the prospect Self-reported or manual attribution by the rep
Event Met at an event, conference, or webinar Event attendance tracked before deal creation
PLG (Product-Led) Used the product (free trial, freemium) before engaging sales Product usage data preceded deal creation

Pipeline attribution rules

  • Set pipeline source when the deal is created. Not retroactively. The rep or automation should stamp the source at deal creation based on the contact's history
  • If the contact had both inbound and outbound touches, use the touch closest to deal creation. They submitted a form 6 months ago (inbound) but responded to a cold email last week (outbound). The pipeline source is outbound. The email directly created the opportunity
  • Don't change pipeline source after the deal is created. It's a historical record. Changing it retroactively distorts reporting
  • Track multi-touch alongside single-touch. Single-touch (first or last) for simplicity. Multi-touch for accuracy. Both views are useful for different decisions

Building Attribution Reports

Essential attribution reports

Report What it shows How to build
Pipeline by source $ pipeline per source (inbound, outbound, partner) Group deals by Pipeline Source. Sum amounts
Revenue by source $ closed-won per source Same, filtered to Closed Won
Pipeline by channel $ pipeline per UTM medium (paid, organic, social) Group contacts by UTM Medium, join to deals
MQL-to-pipeline by source Conversion rate per source MQLs that became pipeline, grouped by source
Cost per pipeline dollar by channel Channel spend / pipeline generated Manual: match channel spend to pipeline
Self-reported vs software attribution Comparison of sources Side-by-side report of original source vs self-reported

Reporting rules

  • Report at the pipeline level, not just the lead level. "We got 500 leads from Google" is interesting. "Google-sourced leads produced $800K in pipeline" is actionable. Always tie attribution to pipeline dollars
  • Include cost data. "$200K pipeline from LinkedIn Ads" is good. "$200K pipeline from LinkedIn Ads at $15K spend (13:1 ROI)" is a budget decision. Add spend data manually or through a BI tool
  • Show both first-touch and last-touch. First-touch credits awareness. Last-touch credits conversion. Show both to leadership. They answer different questions
  • Separate inbound from outbound clearly. Blending inbound and outbound attribution obscures the performance of each motion. Always report separately

Measurement

Metric Definition Target Frequency
Attribution coverage % of deals with a source assigned > 95% Monthly
UTM capture rate % of form submissions with UTM data > 80% Monthly
Self-reported fill rate % of demo requests with "how did you hear about us?" > 90% Monthly
Pipeline by source accuracy Does reported pipeline match reality? Spot-check > 90% accuracy Quarterly
Source diversity No single source > 60% of pipeline Balanced distribution Quarterly
Attribution-to-spend alignment Top-spend channels produce top pipeline? Correlated Quarterly

Pre-Setup Checklist

  • [ ] Original Source field configured on Contact (locked after first set)
  • [ ] Lead Source dropdown standardized with 8-12 categories
  • [ ] Self-reported attribution field on demo/signup forms
  • [ ] UTM parameters standardized (naming convention documented)
  • [ ] UTM capture configured on all forms
  • [ ] Pipeline Source field on Deal/Opportunity (required at creation)
  • [ ] Field mapping configured for lead conversion (lead source maps to contact)
  • [ ] Attribution report built: pipeline by source
  • [ ] Attribution report built: revenue by source
  • [ ] Cost data available per channel for ROI calculation
  • [ ] Team trained on when and how to set pipeline source

Anti-Pattern Check

  • No attribution fields in the CRM. 12 months of data with no source tracking. You can't attribute pipeline retroactively. Every quarter without attribution is data you'll never recover. Set up the fields today
  • UTM naming inconsistency. "linkedin", "LinkedIn", "LI", "linkedin-ads" all appear as separate sources. One channel looks like four. Standardize naming. Enforce lowercase. Document the convention
  • Pipeline source not required on deals. 30% of deals have no source. That's 30% of pipeline you can't attribute. Make pipeline source a required field at deal creation
  • Only tracking last-touch. Everything is attributed to the last click. The podcast that built awareness, the blog post that educated, and the case study that convinced all get zero credit. Track first-touch alongside last-touch
  • Ignoring self-reported attribution. Software says 40% of pipeline is "direct" traffic. Self-reported says those same leads heard about you on a podcast or from a colleague. Software attribution alone misses 40-60% of the real picture
  • Changing attribution retroactively. Marketing reassigns deals from "outbound" to "inbound" because the contact also visited the website. Historical attribution should not change. It's a record of what happened, not a story you want to tell
  • Not tying attribution to pipeline dollars. "We generated 500 MQLs from Google." So what? Tie it to pipeline: "Google-sourced leads generated $1.2M in pipeline this quarter." Pipeline dollars justify budget. Lead counts don't
Want agents that use skill files like this?
We customize skill files for your brand voice and methodology, then run content agents against them.
Book a call