On this page
- You do not need an attribution platform to do this
- Add two source fields to the CRM, never one
- The UTM scheme, written out, and the parameter people get wrong
- Write the self-reported question so it stops returning Google
- The arbitration table for when the two fields disagree
- Why branded search is a symptom rather than a source
- The monthly reconciliation, six steps and about an hour
- Four things this method cannot tell you
Add two source fields to your CRM instead of one. A human writes what the buyer said, a machine writes what the tracking saw, and neither is ever allowed to overwrite the other. Stamp a fixed UTM scheme on every link you post, ask the origin question separately from the trigger question, then run an arbitration table monthly to decide which channel gets the credit. That takes about an hour and costs nothing.
You do not need an attribution platform to do this
A five person consultancy can run credible LinkedIn attribution on three CRM fields, a fixed UTM scheme and one hour a month. What you cannot do without software is multi-touch modelling across dozens of touchpoints, and most teams asking this question do not have dozens of touchpoints. They have a post, a profile visit, a website session and a form.
Almost every page that ranks for this question ends at a demo request, because the companies publishing on the topic sell attribution platforms. That is not dishonest, it is simply a different problem. A platform earns its cost when you run paid media across four channels with a six month cycle and a marketing team of nine. Below that threshold, the platform mostly automates a judgement call you still have to make yourself, and the judgement call is the actual work.
of B2B marketers say LinkedIn produces leads for them. Belief is not a field in your CRM, and the gap between the number of teams who believe this and the number who can name a single deal it produced is the entire reason this article exists.
LinkedIn, 2026Set expectations before you start. This method produces a credited channel, a traced floor and a stated unattributed rate. It does not produce proof of causation. If the credited number is going in front of a board, read how to prove LinkedIn ROI to a board first, because presenting an arbitrated number as a measured one is how the whole method loses its credibility in a single meeting.
Add two source fields to the CRM, never one
One source field is the root cause of every attribution argument in a small company. It forces a single answer to a question that has two true answers, and whoever fills it in last wins. Split it into a human field and a machine field, and the argument disappears because the two answers now live in different columns and can both be right.
The reason this survives contact with a sales team is that it takes work away from them rather than adding it. A rep filling in field A is typing what the buyer said, which is easier than choosing a category. Field B is not their problem. Field C is not their problem either, and the monthly report stops being a thing they get challenged on in a pipeline review.
The UTM scheme, written out, and the parameter people get wrong
Use a fixed four parameter scheme and change it never. The parameter that decides whether the whole system works is utm_medium, because analytics tools build their channel groupings from the medium value, and a medium of social used for both posts and ads makes organic and paid permanently inseparable in every report you will ever run.
| Parameter | Value | Why this value |
|---|---|---|
| utm_source | Always lowercase. Most analytics tools treat these values as case sensitive, so LinkedIn and linkedin become two separate rows and your traffic splits in half for no reason. | |
| utm_medium | organic-social for posts, paid-social for ads | The medium drives the channel grouping. Using social for both is the single most common mistake and it cannot be fixed retroactively. |
| utm_campaign | post-2026-08-14 | Organic posts are not campaigns, so use the publish date. It gives you a join key back to the specific post without maintaining a naming scheme nobody follows. |
| utm_content | postbody-pricing-myth or comment1-pricing-myth | Placement first, then a short slug of the hook. This is how you find out whether the link in the first comment outperforms the link in the post for your account. |
| utm_term | leave it empty | Reserve it for paid search. Filling it on organic social creates rows in reports that mean nothing and confuse whoever inherits this. |
Fix this scheme once, document it, and stamp it on every link you post from a company page or a personal profile.
Two mechanical facts change what you should expect from the traced field. LinkedIn wraps outbound links, and the in-app browser plus the ordinary habit of copying a URL into a new tab both drop the referrer, so a real share of genuine LinkedIn clicks arrive in your analytics as direct traffic. That is not a tracking bug you can fix, it is how the traffic behaves, and it is why field B is a floor rather than a total.
Shorten links on your own domain rather than a public shortener. A public shortener hides the destination, which suppresses clicks from an audience trained to distrust unknown links, and it adds a redirect hop where the parameters can be lost. If your analytics and LinkedIn report different click counts for the same post, the size of a normal gap and its causes are covered in the LinkedIn and analytics reporting gap.
Write the self-reported question so it stops returning Google
Ask two questions instead of one, because a single question about how someone heard about you reliably returns the last step of their journey rather than the first. People answer honestly and still say Google, since typing your name into a search box is genuinely the last thing they did before arriving. The fix is not better wording of one question, it is separating origin from trigger.
| Version | Wording | What you get back |
|---|---|---|
| Version one, the picklist | How did you hear about us, with options | Mostly the last click. Categories flatten a sentence into a label and the label is usually Search or Other. |
| Version two, required free text | How did you hear about us, open field | Better, and still the last step. You now have the buyer's own words, which is worth having on its own. |
| Version three, two questions | Where did you first come across us, plus what made you get in touch today | Origin and trigger, separately. LinkedIn appears in the first far more often than it ever appeared in version one. |
Three versions of the same question and what each one actually collects.
Ask the same two questions verbally on the discovery call and record the answer verbatim in field A. A form answer is typed under time pressure by someone who wants to reach the next screen. A spoken answer arrives with detail attached, and the detail is what lets you tell a post from a profile from a comment thread. Two sentences of verbatim buyer language is also the most useful raw material your content team will get all month.
If the form is high intent and short, move both questions to the thank you page rather than putting them in front of the submit button. You collect fewer answers and you lose no enquiries, which is the right trade on a page whose job is booking meetings.
- A single Lead Source picklist forces your team to lie the moment two things are true at once, which is why the same deal shows up as LinkedIn in a sales conversation and organic search in the analytics report.
- Keep three fields: what the buyer claimed, what the tracking traced, and a third derived field written only by the monthly reconciliation, which is a reporting artefact rather than a truth claim.
- A branded search query is a downstream symptom of awareness, so a self-reported LinkedIn claim outranks a traced branded search every time, and writing that rule down ends the argument permanently.
- Two questions beat one: where did you first come across us separates the origin from what made you get in touch today, which captures the trigger.
- Report the unattributed rate as a headline number every month, because a method that pretends to explain every deal is a method nobody in the sales team believes.
The arbitration table for when the two fields disagree
Decide the rules once, in writing, before you have a specific deal to argue about. The arbitration table below resolves every combination of what the buyer claimed and what the tracking traced, and its value is not that it is correct in some absolute sense. Its value is that it is fixed, so the credit assigned to a deal does not depend on who happened to run the report.
| Field A, claimed | Field B, traced | Credit to | Reasoning |
|---|---|---|---|
| LinkedIn, high confidence | Both readings agree. This is the strongest evidence available without an experiment. | ||
| Organic search, branded query | A branded search is a symptom of awareness. The search engine delivered the visit, it did not create the demand for your name. | ||
| Organic search, non-branded query | Search, LinkedIn assist | The buyer was solving a problem and found you. LinkedIn may have shortlisted you, so record both rather than picking. | |
| Direct, no prior session | Direct with no history is usually a stripped referrer or a name typed from memory. Both point back at the claim. | ||
| LinkedIn ads | Paid, with an organic assist | Never credit the same deal to both budgets. Paid takes the credit because it carries the cost you are being asked to justify. | |
| A named person | Referral | A human recommendation outranks a channel touch. The channel may have primed the recommender, which is a separate question. | |
| Blank | LinkedIn, low confidence | One reading only. Report it, label it, and never build a budget request on this row alone. | |
| Blank | Direct or blank | Unattributed | Say so. The unattributed rate is a number you publish rather than a gap you quietly redistribute. |
The arbitration table. Copy it, argue about it once, then stop arguing about it.
The row that does the most work is the second one. Most teams see a branded search in analytics and credit search, which quietly transfers the entire result of a year of posting to a channel that did nothing but respond to a name someone already knew. Fixing that single rule changes the shape of the report more than any tool would.
Why branded search is a symptom rather than a source
Split your organic search traffic into branded and non-branded queries and treat the branded half as an output of your awareness work rather than an input to it. Nobody types your company name into a search engine unless something already put the name in their head, so branded query volume is a lagging measure of everything else you do, including LinkedIn.
The practical test takes ten minutes. Plot monthly branded query impressions from Search Console against monthly LinkedIn posting volume for the last twelve months. You are not looking for a tidy correlation and you should not claim one if you find it, because both series can be driven by a third factor such as a launch or a conference season. You are looking for whether branded demand exists at all and whether it moves.
Two consequences follow. Branded search is not a channel to grow directly, it is a dial that other work moves. And a report that puts branded search at the top of the acquisition table is describing the last step of a journey rather than the reason the journey started, which is exactly the error the arbitration table exists to prevent.
Any query containing your company name, a recognisable misspelling of it, your product names, or a founder name if the founder is the public face of the business. Write the list down and keep it in the same document as the arbitration table, because a definition that lives in one person's head produces a different report every quarter.
The monthly reconciliation, six steps and about an hour
Run this once a month on opportunities created in the previous month, not on every record in the database. It takes roughly an hour at fewer than sixty new opportunities a month, and the output is a filled field C, an unattributed rate and a short list of posts that carried traceable clicks.
Include the created date, the amount and both source fields. Do not include field C in the export, because seeing last month's verdict biases this month's.
Both fields agree, the fields disagree, claimed only, and traced only. The size of each bucket is itself a diagnostic, and a large traced only bucket usually means nobody is asking the question on calls.
Only that bucket needs judgement. The other three resolve mechanically, which is why you sorted first rather than working through the list in order.
Fields A and B stay untouched permanently. If you later change a rule in the arbitration table, you can rerun the whole history, which is impossible once someone has edited the raw fields.
Put it in the report as a headline figure next to the credited numbers. A method that explains one hundred percent of pipeline is a method that is quietly guessing, and the sales team knows it.
The utm_campaign date gives you the specific post. List the three posts that produced records and read them side by side, because that is the only content feedback in this entire process.
Here is the arithmetic on why the two field method is worth the hour, using assumptions you should replace with your own. Assume one hundred opportunities in a year. Thirty four carry a claimed LinkedIn answer, nineteen carry a traced LinkedIn identifier, and twelve carry both. The union is thirty four plus nineteen minus twelve, which is forty one. Tracking alone would have reported nineteen. The same year, measured two ways, produces a number more than twice the size, and the larger number is the more accurate one.
Four things this method cannot tell you
State the limits in the report itself, in the same document as the numbers. Every honest attribution method has holes, and the difference between a credible analyst and a hopeful one is that the credible one names the holes before someone else finds them.
- It cannot tell you which post created demand. It tells you which post carried the click, and those are frequently different posts published months apart.
- It cannot see the buyer who read you for nine months, never clicked, never commented, and then typed your name into a browser. That person exists in volume and appears in your data as direct traffic with a blank field A if nobody asks them.
- It cannot survive one person adding a picklist. The first time a well meaning operations hire converts field A into a dropdown, the free text history stops and the method degrades into the thing it replaced.
- It cannot split a deal with five touches into honest percentages. Multi-touch weighting is a modelling choice, not an observation, and a small company gains nothing from pretending otherwise.
If enquiry volume fell and you are building attribution to find out why, check distribution first, using the method for normalising an impressions drop. A decline that matches a platform-wide decline is not an attribution problem and no amount of tracking will make it one. If your ads are also underperforming, the fault is usually further down the funnel than the tracking, which is covered in the LinkedIn ads conversion diagnostic.
Questions people ask next
Does this work if the sales team barely touches the CRM?
What exactly counts as a branded search query?
Should the tracked link go in the post or the first comment?
How many months of data before this is worth reporting?
Is dark social just an excuse for weak measurement?
Want this run for you?
Tell us your company and what growth is stuck. A scoped plan with a number in it comes back within 48 hours.
Email the experts →