The five minute version
For anyone whose CRM keeps saying Direct while their LinkedIn spend keeps going out of the door.
- 1You need a matched company list on the campaigns. No list, no report.
- 2Export the full CSV monthly, same calendar window every time, and keep every single export.
- 3Normalise company names and match on domain wherever you have one, or your match rate will look far worse than reality.
- 4Bucket every new opportunity into engaged, reached only, or never touched. The third bucket is the one that tells you the list is wrong.
- 5Send sales ten warming accounts a month with the message those accounts have been seeing, not four hundred rows.
- 6Report it as influenced pipeline. Never as attributed revenue.
The short answer
The Company Engagement Report sits inside LinkedIn Campaign Manager and shows, company by company, how much of your target list you reached, how many members engaged, and how warm each account is. Export it monthly, match it against the accounts that entered your CRM in the same window, and you have an influenced-pipeline number that does not depend on a cookie, a UTM or a consent click.
What the report actually contains
It is built around your matched audiences, so a company list is effectively a prerequisite. For each company on the list you get reach, impressions, ad engagements, website activity where the Insight Tag is firing, and an engagement level LinkedIn assigns based on all of it.
The important shift is the unit of measurement. Everything else in your reporting counts people or sessions. This counts organisations, which is how B2B buying actually works: five people from the same firm, three of whom you will never identify, arriving at a decision together.
"Your CRM tracks a person. Your buyer is a committee. That gap is the whole problem."
Pull it without mangling the data
Campaign Manager, then the account assets area where your matched audiences live. Open a company list audience and the engagement view sits alongside it. Export to CSV rather than reading it on screen, because the on-screen sort will lie to you about the long tail.
- Pick the same date window every month. Calendar months are easiest to defend later.
- Export the full list, not the top fifty. The interesting accounts are usually mid-table.
- Keep every historical export in one folder. Month-on-month change in engagement level is the signal, and you cannot recreate it retrospectively.
- Note which campaigns were live in that window on the same sheet. Otherwise a drop in reach looks like a problem when it was a pause.
Match it to the accounts in your CRM
This is the step that turns a nice chart into an argument you can win. Take every new opportunity, sign-up or enquiry from the same period and check each company name against the export.
- Normalise the names before matching. Strip Ltd, Limited, GmbH, trailing punctuation and lowercase everything, or your match rate will look far worse than it is.
- Match on domain where you have it. Company names are messy, domains rarely are.
- Record three buckets: exposed and engaged, exposed only, and no exposure at all. That third bucket is as useful as the first.
- Write the result onto the CRM record as an influenced flag with a date, so the finding survives the spreadsheet.
| What the CRM holds | What LinkedIn holds | Match on |
|---|---|---|
| Northfield Engineering Ltd. | Northfield Engineering | Strip the suffix and the full stop, lowercase both |
| j.smith@northfield-eng.co.uk | northfield-eng.co.uk | Domain from the work email. The most reliable key you have |
| Northfield Group (Manchester) | Northfield Group | Drop bracketed office names before comparing |
Do that cleanup once, save it as a formula or a script, and reuse it every month. Most of the low match rates I see are not a targeting problem at all. They are a spreadsheet problem that got mistaken for a campaign problem.
On one niche B2B account we ran this for, a meaningful chunk of a month's new sign-ups turned out to belong to companies that had been served ads for weeks. Not one of them was logged as LinkedIn in the CRM. The ads were working and the record-keeping was not.
Want this run against your pipeline?
Book a 30 minute call. Tell us how your account is set up and we will talk through what is possible.
Read the engagement level properly
The engagement level is a summary, not a score you should optimise. Read it as a state an account is in, and watch the direction of travel.
| What you see | What it really means | What to do |
|---|---|---|
| Low reach across the list | Match rate or budget problem, not a creative problem. | Check list match rate first, then daily budget against audience size. |
| High reach, no engagement | You are visible and boring. Classic Boring Ads Tax. | Change the creative angle, not the targeting. |
| Engagement rising in a handful of accounts | Real interest concentrating somewhere. | Tell sales this week, while it is warm. |
| Engagement in companies not on your ICP | The list or the exclusions have drifted. | Tighten job functions and seniorities, prune the list. |
Turn it into something sales will use
A CSV of 400 companies is not a sales asset. A short list of accounts that got warmer this month is.
- Send ten accounts, not four hundred. The ones whose engagement level moved up since last month, ordered by how far they moved.
- Give them the context. Which campaign and which message that account has been seeing, so the outreach can reference the same idea rather than opening cold.
- Put it in the same place every month. A recurring note in the CRM or a pinned Slack message beats an email that gets buried.
- Close the loop. Ask what happened to last month's ten. Without that, you are producing a report nobody validates.
Same format, same day every month. Short enough that a rep reads it on their phone.
WARM ACCOUNTS · {month}
1. {Company} · engagement moved None > Engaged
Seeing: {campaign / message angle}
Known contacts in CRM: {names or none}
Suggested opener: reference {the idea in the ad}, not the ad itself
2. {Company} · Reached > Highly engaged, 3 clicks this month
...
Last month's ten: {what happened to each}
That last line is the one people skip and the one that keeps the whole thing credible. If nobody reports back on last month's ten, you are writing a report that nobody is validating.
Do not oversell it. Engagement at company level means somebody there saw your ads, not that a buyer is ready. Framed as a prioritisation signal it earns trust. Framed as intent data, it burns it the first time a rep gets a cold reception.
The first month, in order
This takes about three hours in total, spread across four weeks. Most of it is setup you only do once.
- Week 1Get the list right before anything else
Upload or review the company list, check the match rate, and fix the entries that failed. Everything downstream inherits the quality of this file, and a weak list will quietly make good campaigns look bad.
Output: A matched company audience with a match rate you would defend. - Week 2Pull the baseline export
Full CSV, not the top fifty on screen. Note which campaigns were live in the window on the same sheet so a future drop in reach reads as a pause rather than a failure.
Output: Month zero, archived in a folder you will still have in a year. - Week 3Build the match once
Set up the name normalisation and domain match against your CRM export. Add an influenced flag field with a date to the CRM record so the finding survives outside the spreadsheet.
Output: A repeatable join instead of an hour of manual eyeballing every month. - Week 4Ship the first warm list
Ten accounts, the message they have been seeing, and one line asking for feedback. Book the same slot next month before you close the file.
Output: A reporting habit, and a sales team that has a reason to open it.
Where it breaks, and what it cannot tell you
- It needs volume. A list of thirty companies and £500 of spend produces a report with nothing in it. Small lists need patience and enough budget to reach them repeatedly.
- It is not person-level, and that is deliberate. You will never know which of the five people at that firm clicked, and you should not design a process that assumes you do.
- Correlation, not proof. An exposed account that converts may have converted anyway. Reporting it as influenced rather than attributed is the honest framing and it holds up in a board meeting.
- Match rates vary. A poorly built company list matches badly, and the report inherits that weakness silently.
- It says nothing about deal quality. Pair it with the closed-won data or you are counting attention.
Used alongside proper first-touch capture on your own site, it covers the two halves of the problem: the people who clicked and the companies that watched. Neither is the whole picture on its own.
"Reported as influence, this wins you budget. Reported as revenue, it costs you the room the first time someone checks."
Not sure what your report is telling you?
Book a 30 minute call and walk us through it. We will give you an honest read on what is worth acting on.
Read next
Common questions
If you want influenced pipeline reported properly every month
- Company list built and match rate checked before anything is judged on it.
- Monthly Company Engagement Report export, archived so the trend survives.
- CRM account matching with an influenced flag written back to the record.
- A ten-account warm list to sales each month, with the message they have been seeing.
- Direct and influenced reported side by side, as a range rather than one tidy number.
Starter £1,250/mo, Growth £1,725/mo, Scale £4,025+/mo. Included in campaign retainers. Standalone attribution work is quoted on the stack involved.

