The short answer
To prove LinkedIn Ads are moving your pipeline, match LinkedIn's company engagement report against the companies sitting in your CRM pipeline, then look at which of those exposed accounts changed stage in the same period. The export reports at company level, so it survives cookie consent, ad blockers and every other thing that quietly deletes your click data.
You are not trying to produce a single attribution number. You are producing a coverage report: how many of the accounts your sales team is working actually saw you this month, at what stage they sit, and which ones moved while they were being reached.
Why your CRM says LinkedIn did nothing
It is not sabotage and nobody is lying to you. A CRM deal record has one or two source fields and they were never designed to describe eleven touchpoints spread over seven months. Something has to win, and the thing that wins is whatever happened last.
Original source gets set once, latest source keeps changing. A deal that started with an ad in March is logged as Direct by October.
Reject the cookie banner and the visit still happened. In Germany and the Nordics the gap is wide enough to make a working campaign look dead.
In-app browsers strip parameters, lnkd.in loses the referrer, someone pastes the link into Teams. It all arrives as Direct.
The finance director who signs it off saw four ads and filled in nothing. There is no record of that person anywhere in your funnel, and they are the one who mattered.
The CRM is not telling you LinkedIn did nothing. It is telling you it only has room to remember one thing.
| Question | What the CRM shows | What company matching shows |
|---|---|---|
| Did LinkedIn touch this deal? | One source field, usually Direct or Offline | Impressions and engagement against that company, dated |
| How many target accounts did we reach? | No answer at all | A named list, split by pipeline stage |
| Was the buying committee exposed? | Only the person who filled the form | Everyone at that company the ads served |
| Does consent rejection break it? | Yes, badly in the EU | No, it is company level and cookieless |
The method, in five steps
The whole thing runs on two CSV exports and about twenty minutes a month. No ABM platform required.
- Export company engagement from LinkedIn Campaign Manager for the reporting period, at account level.
- Export your CRM pipeline with company name, current stage and the date it entered that stage.
- Match on company name and tidy the obvious near-misses. Group subsidiaries under the parent where your sales team treats them as one account.
- Flag stage movement for any matched company that changed stage during the period, and note its impressions.
- Report coverage: accounts reached, by stage, plus the movers. Keep direct conversions in their own separate column.
Want this built and run for you every month?
Named-account targeting, creative that gets seen, and a pipeline coverage report your finance director cannot argue with.
Pull the company engagement export
In Campaign Manager it sits under the account's reporting, exported by company rather than by campaign. You get company name, industry, size, impressions, clicks and an engagement level. No individuals, which is exactly why it keeps working when everything else stops.
Pull it for the same window as your reporting cycle and keep every export. The value compounds: three months in you can see which accounts are getting sustained exposure and which ones you have touched once and forgotten.
Match it against the live pipeline
Export the deals, not the contacts. You want company name, the stage it is in now, and the date it got there. Then a lookup between the two sheets, and half an hour of tidying because someone typed the company name three different ways.
What comes out is more interesting than the number itself. You will find accounts your sales team is actively working that the ads have never touched. You will also find dormant accounts being kept warm without anyone planning it. Both are decisions waiting to be made.
Watch for stage movement, not clicks
This is the part most people miss. Clicks from a target account are nice but they are not the signal. The signal is a deal changing stage while the company behind it is being reached.
So the column you actually care about is movement. Which matched accounts progressed this period, and what was their exposure while they did? A long-stalled deal that reaches proposal stage in a month, having been served hundreds of impressions across the job titles in the room, is a far stronger piece of evidence than any click.
Clicks tell you someone was curious. Stage movement tells you the deal is alive.
What it found on a real account
A construction-tech firm selling into main contractors across Europe and the US. Long cycles, technical buyers, big contract values, and a CRM stuffed with deals whose source field said Direct or Offline.
Multiple deals worth six figures each had been sat still for months. We rebuilt the targeting around the named accounts the sales team cared about, put creative in front of them that looked nothing like a software ad, and ran it on under £3,000 a month. Within about four weeks the pipeline was moving again: new leads from target accounts, new MQLs, fresh SQLs, meetings booked. Two of the biggest stalled deals went to proposal, one of them climbing three stages. Both sat among the most heavily served companies in the whole pipeline while it happened.
The wider read was the one that changed how they report internally. Hundreds of companies from the live pipeline had been served ads over a two month window, across every stage from early conversation to proposal, plus a long tail of dormant accounts being kept warm. The CRM had credited almost none of it, because a single source field cannot describe an account that saw you eleven times before replying to a sales email.
Exposure alongside movement is correlation, and you should say so before anyone else does. What it proves is presence at the right accounts at the right stage, which is the thing marketing had never been able to evidence.
The monthly report that ends the argument
Attribution only turns into a row when it gets discussed once a year at renewal. Run this on the same day every month and it becomes routine, which is what you want from a number you have to defend.
- Accounts in the pipeline reached this month, split by stage.
- Which of those moved stage, and what their exposure looked like.
- Direct conversions, kept in their own column and never blended in.
- Coverage gaps: live deals the ads have not reached yet, which is next month's job.
- A range, not a decimal point. "LinkedIn was in front of nine of the fourteen deals that progressed" is defensible. "LinkedIn drove 3.4 opportunities" is not.
A range you can defend beats a precise number you invented.
Where this falls over
Be honest about the edges, because the sharpest person in the room will find them anyway.
- Thin volume. Below a few thousand impressions a month the export is too sparse to read.
- Very small lists. Reach thirty companies, eight of which buy from you every year regardless, and overlap proves little.
- One-person buyers. Company-level matching needs companies.
- Messy company names. Subsidiaries, trading names and typos all cost you matches. Budget the tidying time.
- Exposure is not causation. Some of those deals were moving anyway. Let the trend across several months carry the argument, not one month's table.
Common questions
Read next
The wider framework this method sits inside.
Why the source goes missing on real ad traffic, and how to get it back.
Building the target lists this whole approach runs on.
Getting source onto the deal record so the match is easier next month.
Reach the accounts your sales team is already working, and prove you did
- Named-account targeting built from your live CRM pipeline, segmented by stage
- Creative built to stop the scroll of a technical buyer, not a marketing manager
- Monthly pipeline coverage report: accounts reached, stage, movement
- Direct conversions tracked separately, with the attribution gaps closed properly
Starter £975/mo, Growth £1,725/mo, Scale £4,025+/mo. Most accounts running this sit on the Growth tier. If your pipeline is small and specific, the Starter tier covers the targeting and the reporting.
Related Tools & Resources
LinkedIn Ads Budget Calculator
Estimate your CPL, expected leads, and break-even deal size
LinkedIn Ads Benchmarks UK 2026
Complete CPC, CPM, CPL data by industry with expert commentary
Tracking Pixels Setup Guide [2026]
Complete guide to LinkedIn Insight Tag, Meta Pixel, and GTM setup

