This is the whole game. Before you touch a field, get the exec
team to tell you what decisions this model has to drive — that sizes everything. Then map how data actually enters
their system today, and lay it onto our standard taxonomy. The projects that go sideways are the ones that got the depth
wrong (too much granularity nobody uses, or too little to answer the question) or where a source was defined but no
mechanism ever routed it.
1.1 · The Two Questions
Lead source is the what. Channel is the where.
This is the one thing to internalize before anything else. Attribution isn't a single field — it answers two different
questions with two different sets of fields, and people conflate them constantly.
Lead Source — what did they do?
- The action that got them into the CRM
- Registered for a webinar · requested a demo · attended an event · accepted a gift
- Answers: which content actually converts?
- Drives: do we do more of this?
Channel — where did they come from?
- The path that drove them to take that action
- LinkedIn ad · sales outbound · organic search · partner · a generative-engine referral
- Answers: where should the next dollar go?
- Drives: which platform earns more spend?
The house analogy
Think of designing a house. The lead source is the garage — the room they ended up in, the thing they
did. The channel is the door they walked in through — where they came from to get there. Same room,
different doors. That's why they're two fields: one answers what content works, the other answers how to get
more people to it.
Worked example · one webinar sign-up
Contact · Lead
Channel · whereLinkedIn Ad→
Channel · orSales Invite→
Channel · orDirect→
Lead source · whatHosted Webinar
Three people register for the same webinar (one lead source) from three different channels.
Lead source tells you the webinar converts; channel tells you the LinkedIn ad — not the cold outbound — is what to fund next.
1.2 · Three Levels of Granularity
Each question nests — group → item → detail → exact.
Both dimensions are a set of Russian dolls: a high-level bucket, the value itself, a level of specificity, and a
free-text exact. Depth is a choice — match it to the questions, don't max it out by reflex.
Lead source · the what, nested
- Grouping — Event (exec-level bucket)
- Lead Source — Hosted Webinar (the action)
- Lead Source Detail — Registered / Attended / No-Show
- Lead Source Exact — "State of GTM · 2026" (free text)
Channel · the where, nested
- Channel Grouping — Paid Digital (exec-level bucket)
- Channel — Paid Social (the path)
- Subchannel — LinkedIn (the platform)
- Campaign — the UTM campaign name (the specific initiative)
Rule of thumb
Only add the grouping layer once you're past ~15 lead sources or ~10–15 channels — before that it's
overhead. And restrict source, channel, and subchannel to an agreed pick list, never free text below the exact
field. A hundred spellings of "LinkedIn" makes the whole report undecidable.
1.3 · The Standard Taxonomy
Don't start cold. Start from our standard, then tailor.
Most marketers have some attribution experience but haven't gone deep. Hand them our taxonomy as the starting
point and edit from there — it's far faster than a blank page. Here's the shape of it.
Lead sources · the what
Groupings
GroupingWebsite
GroupingEvent
GroupingEmail
GroupingReferral
GroupingGifting
Under Website: Demo Request, Community Signup, Website Content (guide / on-demand webinar /
blog), Chatbot. Under Event: Hosted & Third-Party Webinar and In-Person Event, each with a detail of
Registered / Attended / No-Show / Visited Booth. Under Referral: Partner, Customer, Employee, Personal Contact.
Channels · the where
Groupings
GroupingOrganic Digital
GroupingPaid Digital
GroupingReferral
GroupingEvent
GroupingEmail
Organic Digital: Direct, Organic Search (Google/Bing), Organic Social (LinkedIn/YouTube/…),
Review Sites. Paid Digital: Paid Search, Paid Social, Paid Review (G2). Referral: Web, Partner, Customer,
Employee, Sponsored & PR content — and Generative-Engine Referral. Email: HubSpot, Marketing Outbound,
Sales Outbound.
One caveat on "Event"
Event lives in both dimensions, and that's the tell for the whole model. It's a lead source
(they attended) and a channel (offline). The useful question is rarely "did they come from an
event" — it's what drove them to register: a sales invite, a paid ad, an in-house email. Capture that on the
channel + campaign, and the event ROI question answers itself.
1.4 · AI & AEO Sources
Add AI and AEO to the taxonomy — every time.
Our old attribution standard was written for a pre-AI world and is missing generative engines entirely. In 2026
that's a hole in the funnel. Answer Engine Optimization traffic is real pipeline, and if it isn't in the taxonomy it
reads as direct. Make it first-class.
Generative-Engine Referral
New channel · subchannel
- A dedicated Referral › Generative-Engine Referral subchannel
- Last-referring sites: chatgpt.com, perplexity.ai, gemini.google.com, claude.ai
- UTM medium
generative-engine when you can tag it
"Other" organic search
Catch the assistants
- Search subchannel "Other" catches ChatGPT, DuckDuckGo, Yahoo as referrers
- Where the tracking code reads the last referring site
- Keeps AI answers out of the "direct" bucket
Report it separately
So it earns a budget
- Once it's a value, it shows up in the channel roll-up
- Now AEO can be compared against paid for cost-per-pipeline
- The refresh we fold back into the standard on every build
1.5 · Where Data Enters Today
Start from the entry points, not a blank taxonomy.
The fastest way in: give the client homework — come to the kickoff with a flowchart of how records enter the system
and where they go. That map hands you the lead sources and channels to account for, and the inflection points where
you need to answer "where did this come from."
1
List every entry point
Web forms (HubSpot), lead-list uploads (post-event), onesie-twosie rep creation,
LinkedIn / ZoomInfo imports, partner registration forms, chatbot. Each one is a place attribution can be captured — or lost.
2
Define the high-value actions that mean MQL
A limited set of actions that should hand a lead to sales. This list changes over
time and must be owned by someone — if you add a source but no mechanism routes it, it silently never reaches sales.
3
Right-size the depth to the questions
First / Latest touch is the floor; MQL touch is optional. Don't over-engineer — some teams just need
"are events producing pipeline?" (LeanScale itself mostly runs on lead source alone). Depth is a decision, not a default.
The Harbinger lesson
Attribution setups morph as the business changes — and break when the client doesn't tell you. Harbinger
changed what sales expected to receive but never told us the model needed to change, so leads routed to the wrong place.
Bake this into the blueprint: who owns changes, and how do they reach us.