The ROI formula, and the number most accounts are missing
LinkedIn ads ROI is revenue attributed to LinkedIn, minus what LinkedIn cost (media plus management), divided by what it cost. Every input but the cost lives outside Campaign Manager: deals, deal value and close rate live in your CRM. That is why the measurement problem is mostly a tracking problem.
| Tracking in the panel | Accounts | Share |
|---|---|---|
| Any conversion defined in Campaign Manager | 814 of 1,029 | 79% |
| A booking-type conversion defined (demo, call, meeting) | 463 of 1,029 | 45% |
| Any post-click website conversion recorded in the year | 629 of 1,029 | 61% |
Accounts with $250 or more of spend outside Audience Network in the twelve months to 7 September 2026. A conversion that is defined but never fires is the common failure: the Insight Tag is on the site, the event is not.
Step 1: track a conversion that means a buyer
Define the conversion as the thing sales would pay for: a demo request, a booked call, a trial started. Page views and "key page visits" are useful audiences but useless ROI events. Send CRM stages back through the Conversions API, so an "Opportunity created" event is counted against the campaign that started it. The setup for HubSpot and Salesforce is in LinkedIn ads CRM tracking.
Step 2: price leads by what they ask for
A blended cost per lead hides the only distinction that matters for ROI. At the median account a content offer lead costs $164 and a demo request lead $343 on a lead gen form (Report No. 3), and the median demo lead across all demo routes costs $350, with the top quarter under $161 (Report No. 4). Put those two numbers into separate rows of your ROI model; they convert to pipeline at completely different rates.
Step 3: read pipeline, not platform leads
Pipeline from a cold audience is a month-three-to-six result in a mid-market sales cycle (the first 90 days), so a monthly ROI read in month one will always say no. Read it on a rolling quarter, and use company engagement as the bridge: LinkedIn reports which companies engaged with your ads even when no one filled a form, and those companies can be matched to opportunities in the CRM. It is association, not proof of cause, and should be reported as such. Ask "how did you hear about us?" on the demo form too: self-reported attribution catches the buyers who saw the ads and came in through search.
A worked example with your own numbers
Illustration only: replace every number in brackets with your own. If you spend [$6,000] a month and produce [17] demo requests at roughly the $350 median, and your sales team turns [30%] into opportunities and closes [25%] of those at a [$30,000] first-year value, that is [1.3] deals and [$38,000] of first-year revenue a month against [$6,000] of media. The two rates you supply, demo-to-opportunity and win rate, decide the answer far more than anything in Campaign Manager, which is why we ask for them on the first call.
The leading indicators between spend and revenue
| Stage | Metric to read | Median account |
|---|---|---|
| Attention | Landing page CTR (not CTR) | 0.24% |
| Visit | Cost per landing page click | $17.54 |
| Form | Completion, feed / inbox | 7.6% / 40.7% |
| Lead | Cost per content lead / demo lead | $164 / $343 |
| Meeting | Cost per demo request, all routes | $350 |
| Pipeline | Opportunities from engaged companies | your CRM |
If a leading indicator is in the bottom quarter, fix it before reading ROI: a campaign at twice the median cost per landing page click will not have a good ROI whatever happens after the click. The settings that move those numbers are in how to optimize LinkedIn ads.