Lead attribution is the practice of recording which marketing touches produced each lead and assigning credit to those touches, so you can compare channels, campaigns and ads by the leads, and later the sales, they generate. In practice it means capturing source data at the moment a lead is created (UTM parameters, click IDs, landing page, entry channel), storing it in CRM fields that never get overwritten, and applying a clear rule or model for credit. Most lead attribution fails at the capture step, not the model.
This guide covers the data each lead needs, which model fits which question, a step-by-step setup, a worked example and the problems that break lead attribution in real CRMs.
What is lead attribution, and how is it different from revenue attribution?
Lead attribution credits the creation of a lead. Revenue attribution credits the money that lead eventually brings. You need the first to do the second, but they answer different questions.
| Lead attribution | Revenue attribution | |
|---|---|---|
| Unit credited | A new lead or contact | A closed sale and its value |
| Available | Same day | Weeks or months later |
| Main question | Which sources bring leads, and at what cost? | Which sources bring money, and at what return? |
| Main risk | Rewarding channels that bring cheap, unqualified leads | Slow feedback, missing links between lead and sale |
The honest goal of lead attribution is to be the first link in a chain that reaches revenue. For the second half, read revenue attribution.
What data should every lead carry?
| Field | Example | Rule |
|---|---|---|
| Original source / medium | facebook / paid_social | Write once, never overwrite |
| Original campaign, ad set, ad | q1_leads / lookalike_3 / video_demo_v2 | Write once |
| Latest source before conversion | google / cpc | Update on each new conversion |
| Click IDs | gclid, fbclid, ctwa_clid | Store as captured; needed to send outcomes back to ad platforms |
| Landing page | /financing-plans | First page of the converting session |
| Entry channel | Web form, Meta lead form, WhatsApp, call, walk-in | Required picklist |
| Lead created date | 2026-03-14 | System field |
| Self-reported source | "Saw you on TikTok" | Optional free text or picklist |
CRMs handle part of this for you. HubSpot, for instance, sets Original and Latest Traffic Source properties with drill-down values (a contact whose latest visit came from a Facebook ad shows "Paid social" with "Facebook" as drill-down 1), and the drill-downs are set automatically and cannot be edited by hand, per HubSpot's traffic source documentation. Click IDs come from the platforms: Google Ads auto-tagging appends a GCLID to ad URLs and is required for offline conversion tracking, per Google's auto-tagging help page. Capturing them into the CRM is covered in how to pass UTM parameters into your CRM.
Which model should you use to attribute leads?
| Model | Credits | Best for |
|---|---|---|
| First touch | The touch that first brought the person | Judging awareness and prospecting channels |
| Lead-conversion touch (last touch before the lead) | The touch that triggered the form, chat or call | Judging conversion campaigns and landing pages |
| Position-based | Most credit to first and lead-conversion touches, the rest to the middle | Teams that want one blended number |
| Linear | Equal credit to every recorded touch | Long journeys with many similar touches |
| Self-reported | What the lead says | Channels links can't track: podcasts, word of mouth, dark social |
A practical default: report first touch and lead-conversion touch side by side, and add self-reported source as a third column. See self-reported attribution for how to ask the question without biasing the answer.
How do you set up lead attribution step by step?
- List every entry point. Web forms, Meta and Google lead forms, Click-to-WhatsApp ads, phone numbers, chat widgets, events, walk-ins. Each needs a capture method.
- Fix your UTM convention. Lowercase, one spelling per source, campaign names that match the ad account.
- Turn on click IDs. Google Ads auto-tagging (GCLID), Meta's fbclid on links, and the ctwa_clid for WhatsApp chats on the WhatsApp Business Platform.
- Add hidden fields to every form. Store UTMs, click IDs and landing page with the submission.
- Cover non-form channels. Use call tracking numbers for calls (see phone call attribution) and a WhatsApp integration that writes the source ad onto the CRM record.
- Create write-once original fields. Protect original source fields from imports and manual edits.
- Define duplicate rules. Decide what happens when an existing lead converts again: keep the original source, update the latest source, and log the new touch.
- Ask the self-reported question. One optional field: "How did you hear about us?"
- Report beyond lead counts. Group by source and show leads, qualified leads, sales and cost per each.
Example: the same 400 leads under different views
Example (hypothetical numbers): a month with $8,000 in ad spend and 400 leads.
| Source | Spend | Leads (first touch) | Leads (conversion touch) | Qualified | Sales | Cost per sale |
|---|---|---|---|---|---|---|
| Meta ads | $4,000 | 200 | 150 | 45 | 9 | $444 |
| Google Ads | $3,000 | 80 | 140 | 56 | 14 | $214 |
| TikTok ads | $1,000 | 60 | 30 | 9 | 2 | $500 |
| Organic / direct | $0 | 60 | 80 | 30 | 8 | n/a |
(Qualified and sales here are counted on the conversion-touch leads.) On first touch, Meta looks like the lead machine with $20 per lead. On conversion touch with sales attached, Google Ads closes leads at less than half Meta's cost per sale. Neither view is "the truth": Meta is opening journeys that Google often finishes. The useful decision is to keep both, cap Meta spend on ad sets whose leads don't qualify, and move budget toward the ad sets that produce qualified leads. For more on this tradeoff, see cost per lead vs cost per sale.
What breaks lead attribution in practice?
- Overwritten sources. An import or a salesperson changes "original source" to "Referral" and the ad history is gone.
- Duplicates. The same person fills two forms and becomes two leads with different sources, double-counting one channel.
- Too much "direct" or "unknown". Usually missing UTMs, redirects that drop parameters, or leads typed in by hand.
- Native lead forms without context. Meta and Google lead forms don't pass UTMs; you need the integration to carry the campaign and ad identifiers into the CRM.
- WhatsApp and calls logged manually. The lead exists, but the ad that started it doesn't.
- Counting leads instead of people or deals. In B2B, five leads from one company may be one opportunity.
Where does Admira fit?
Admira captures source data for each lead from Meta, Google Ads, TikTok and Click-to-WhatsApp ads, keeps first and latest touches, connects them to your CRM (HubSpot, Salesforce, Kommo, Clientify, ActiveCampaign) and follows each lead to revenue, then sends qualified and sale events back to the ad platforms. Its lead tracking page shows how. Limits to know: it is a young brand with few public reviews, it cannot attribute leads your team never records, and if your sales happen at an online checkout, an ecommerce attribution tool may fit better.
Who lead attribution is for, and when it doesn't apply
For: lead-gen and sales-led businesses where marketing produces leads and a sales team closes: B2B, real estate, education, lending, clinics, services.
Less useful alone: ecommerce with instant checkout (attribute orders instead), and very low-volume B2B where a handful of deals per quarter makes channel comparisons noisy; combine it with self-reported data and sales notes. If you are new to the basics, start with what lead tracking is.
FAQ
What is lead attribution in simple terms?
Recording where each lead came from and giving credit to the marketing touches that produced it, so you can compare channels by the leads and sales they bring.
What is the difference between lead source and lead attribution?
Lead source is one field, usually the original source. Lead attribution is the whole system: the touches captured, the rules for credit and the reports built on them.
Should I use first touch or last touch for leads?
Use both. First touch shows which channels start relationships; the lead-conversion touch shows which campaigns turn interest into a lead.
How do I attribute leads from WhatsApp?
Use the WhatsApp Business Platform so chats from Click-to-WhatsApp ads carry the ctwa_clid, and store it with the ad details on the CRM record.
Why do I have so many "unknown" or "direct" leads?
Common causes are missing UTMs, redirects stripping parameters, native lead forms without an integration, and leads created by hand in the CRM.
Is lead attribution enough to judge campaigns?
No. Leads are a fast signal. Judge campaigns on qualified leads and sales once enough time has passed.






%20(2).png)