How Do You Create a Marketing Attribution Model?
The budget review is three weeks out, the CFO wants to know which channels brought in last year's revenue, and the CRM export that should answer it has a Lead Source column reading "Web", "Google", "google_cpc" and "Trade show", with "Other" on more of the largest deals than anyone expected. Someone suggests buying an attribution tool, though any tool would run on that same column, so how do you create a marketing attribution model?
To create a marketing attribution model, decide what earns credit, write a fixed list of channels and the rules that assign each deal to one, record those inputs in your CRM, then check that the credited deals add up to the deals you signed.
Most of that work is written rules rather than software, and the sections below give the build in order, the channel rules and the checks that tell you whether to trust the result.
What Is an Attribution Model in Marketing?
An attribution model in marketing is the set of rules that decides which channel gets credit for each lead, deal and dollar of revenue. Written down, it has four parts: what earns credit, the channels that can receive it, the data each rule reads, and the rules that settle which channel wins when the data disagrees.
The weighting gets most of the attention, and Which Attribution Model Should You Use? compares the options, but in the accounts we review the other three parts decide whether a model is worth anything, because a careful weighting applied to a source field full of "Other" produces precise percentages about nothing in particular.
Google Ads' data-driven model looks only at interactions on Google's own ad networks,1 so a model you can set budgets by, one that also covers referrals and events, lives in your CRM, and the Channel Selection step of 5K's ProfitPaths® method covers the source of truth it runs on.
How Do You Make an Attribution Model?
Make an attribution model by writing its rules before you change any software, then building the fields, running the rules over last quarter's won deals and comparing the result with what you signed.
- Decide what earns credit, and at what level. We'd credit qualified opportunities and signed deals with the gross profit on each, at the level of the deal or company, because a buying committee of four would otherwise give one sale four sources.
- Write a fixed list of channels and the rule that assigns each one, keeping branded and non-branded search apart and using "Unknown" as an honest value in place of "Other" (the next section shows a rule set).
- Create the fields in your CRM: the tracked source of the first visit and of the visit that produced the form fill (each written once and never overwritten), the buyer's answer to "How did you hear about us?" with a category, the credited channel and the rule that set it. The forms and intake call that fill them belong to the Prospect-to-Lead Conversion step.
- Write the precedence rule, the order in which those fields decide the credited channel when they disagree, so two people applying the model to one deal reach the same answer.
- Decide whether a deal's credit is split. One channel per deal is the easiest to check, and split credit needs its weights fixed in writing, with a time decay half-life (the days after which a touch counts half) close to your sales cycle, as what is a multi-touch attribution model explains.
- Copy the credited channel onto the deal, so revenue and gross profit sit beside it, using the hand-off in closed-loop reporting.
- Apply the rules by hand to last quarter's won deals in a spreadsheet before automating anything, and run the checks below.
- Write the rules on one page with a version and a date, so next year's report uses the same rules or says what changed.
How Do You Set Up Lead Source Values and Channel Rules?
Set up lead sources as a short, fixed picklist of channels, each with a written rule for the data that puts a lead in it, checked in a set order so every lead lands in exactly one channel. A free-text source field, or a picklist that grows a value for every campaign, is the most common reason we find for an attribution report nobody trusts.
Order matters because one lead can match several rules, such as a buyer referred by a colleague who then clicked a branded search ad. Google Analytics settles the same problem in custom channel groups by including traffic "in the first channel whose definition it matches given the current order of channels in the group".2 Here is a rule set we'd start a B2B lead-generation company from, checked from the top down:
Channel rules for a B2B lead-generation company, in the order they are checked
| Channel | Rule that assigns it |
|---|---|
| Outreach | The company is on your named-account list and a logged outreach email or call came before its first visit |
| Referral, event or association | The answer to "How did you hear about us?" falls in one of these, whatever the tracked source says |
| Paid search, non-brand | An ad click ID or a paid tag from a search engine, on a campaign that doesn't bid on your name |
| Paid search, brand | The same signals, on the campaign that bids on your name |
| Paid social | A paid tag from a social site such as LinkedIn or Meta |
| Organic search | A search engine referral with no campaign tag |
| An email tag on a link you sent | |
| Unknown, including direct visits | Nothing above matched |
Name your tags so the CRM and Google Analytics agree, since Google's default channel group counts manually tagged traffic as Paid Search only when the source is a known search site and the medium matches a paid pattern such as "cpc", "ppc" or anything beginning with "paid".3 How to assign lead sources to PPC leads covers paid search in more depth.
How Do You Check an Attribution Model Before You Use It?
Check an attribution model by confirming that its credit adds up to the deals and revenue you booked, that few deals land in Unknown, and that a written rule settled every disagreement between the tracked source and the buyer's answer. Run the checks before anyone moves budget on the model, then monthly.
- Credited deals equal signed deals, and credited revenue equals booked revenue, so a total that comes out higher means something is counting twice.
- Unknown stays small and explained. Trace the largest deals credited to Unknown, since in our experience a rising count usually means a broken form field or a campaign launched without tags.
- Every disagreement is settled by a rule. List the deals where the tracked source and the buyer's answer differ and confirm the precedence rule decided each, and how accurate self-reported lead source is covers how far to trust those answers.
- Rule changes are restated backward. When you change a rule or a weight, rerun earlier quarters under the new version, so a channel's trend reflects buyers rather than your edits.
The running example on this site is a commercial HVAC contractor with about forty million dollars in annual revenue, which sells maintenance agreements to property management firms.
ExampleThe contractor's model, checked against one quarter's agreements
The contractor credits each signed agreement to one channel: Google search, LinkedIn ads aimed at property and facilities managers, direct outreach to about 60 named firms, the local building owners' association, or SEO once it starts. The only rule that moved any credit in its first full quarter is the one the Channel Selection page shows in action, where an intake answer naming the association takes the credit from whatever search click came last.
- Credited agreements against signed agreements in the CRM
- 9 Google + 2 LinkedIn + 2 association = 13, against 13 signed
- Agreements credited to Unknown
- None of the 13
- Agreements where the tracked source and the intake answer disagreed
- 2 of 13, both settled by the override rule
The ad platforms' own reports never enter the model, so it can't credit more agreements than the contractor signed, and how far those reports ran past 13 is on How Do You Measure Digital Marketing ROI?
At the contractor's volume, someone who knows each account can read every disagreement in one sitting, which is a good reason to keep single-channel credit.
Should You Build the Model in Your CRM, a Spreadsheet or an Attribution Tool?
Build the model where your won deals already live, which in the B2B accounts we review is the CRM, and add a separate attribution tool only when most of the buying path is digital and you close enough deals for split credit to mean something. A spreadsheet is enough to design and test the rules first.
Salesforce's Customizable Campaign Influence starts with a Primary Campaign Source model that assigns 100% of influence to the campaign in that field on an opportunity.4 Its first-touch, last-touch and even-distribution models need Salesforce's Account Engagement product too, and its custom models have users type in each campaign's percentage, with 3 allowed in Professional and Enterprise editions and 5 in Performance and Unlimited.4 HubSpot's Original Traffic Source records "the first known web source" for a contact and can be edited on any record, which clears its detail fields.5 Both make useful inputs, while the credited channel belongs in a field your rules control.
Whichever you build, the model shows which channels led to the deals you won, which is a different question from which ones caused them, since some buyers who came through a branded search would have found you anyway. When a large budget shift depends on what a channel causes, hold it back in some regions or periods and compare, as incrementality testing describes.
Where to Start: One Page of Rules and Last Quarter's Deals
Write your channel list and precedence rule on one page, then apply them by hand to last quarter's won deals and see whether the credited total matches what you signed, because the gaps that check exposes tell you which fields to build first. The Channel Selection step shows how to set up the source of truth the model runs on and how to judge each channel on the gross profit its customers bring.
Related questions
- How Do You Improve ROI in Digital Marketing?
- How Do You Track Conversions in Digital Marketing?
- How Much Should You Pay for Leads?
- How Accurate Is Self-Reported Attribution for Lead Source?
- What Is a Good Conversion Rate for Google Ads?
- How Do You Reduce Customer Acquisition Cost?
- How Do You Calculate SEO ROI?
- How Do You Market B2B SaaS?
Sources cited
- GoogleAbout data-driven attribution (Google Ads Help) (opens in a new tab)October 11, 2026
- GoogleCustom channel groups (Analytics Help) (opens in a new tab)November 2, 2026
- Google[GA4] Default channel group (Analytics Help) (opens in a new tab)November 2, 2026
- SalesforceCampaign Influence implementation guide (Salesforce, Winter '27) (PDF) (opens in a new tab)July 22, 2026
- HubSpot Knowledge BaseUnderstand Original and Latest traffic source properties (HubSpot Knowledge Base) (opens in a new tab)August 4, 2026