At a glance
The B2B equivalent of a ROAS-drop alarm. It tracks cost per marketing-qualified lead (cost-per-MQL) for the LinkedIn account and fires when that number jumps sharply against the recent trend. Cost-per-MQL is the first number most LinkedIn buyers look at on a Monday morning, because on LinkedIn the headline ROAS reads cosmetically low (the cash lands months later in the CRM), so the live efficiency signal merchants actually trust is “what did each qualified lead just cost me?”. The card divides LinkedIn spend by the count of leads that crossed your MQL bar in the same window, then alerts when the cost rises well beyond normal week-to-week noise. A spike usually means audience exhaustion, a creative going stale, a competitor entering your auction, or a tracking break that is silently dropping leads from the denominator.
| What it tracks | Cost per marketing-qualified lead: LinkedIn media cost in the window divided by the number of leads that met your MQL definition in the same window. The MQL count comes from the LinkedIn conversion event you have flagged as your qualified-lead milestone (often the Lead Gen Form submission, sometimes a downstream CRM stage joined back to the click). |
| Reporting source | LinkedIn Marketing Reporting API for the cost side, at account and campaign granularity, aggregated daily into the window. The MQL side comes from your designated conversion event, or from a CRM/MAP join when one is connected. |
| What “spend” means | Gross media cost in account currency, before agency markup and before any LinkedIn credit. Includes Sponsored Content, Sponsored Messaging, and Lead Gen Form delivery cost. |
| What “MQL” means | Whatever your team has defined as a marketing-qualified lead. On LinkedIn this is usually the lead-gen-form completion or a specific website conversion event, optionally filtered to ICP-matching job titles or company sizes once the CRM join is live. The card uses your configured event, not a LinkedIn default. |
| Why it matters | LinkedIn CPCs run several times higher than Google or Meta, so a cost-per-lead spike compounds into real money fast. Catching it the same morning, rather than at month-end reporting, is the difference between trimming one bad week and writing off a quarter of pacing. |
| Currency | Account currency. Single currency per ad account; multi-region brands run separate accounts. |
| Time window | Real-time evaluation against a trailing baseline. The comparison uses a prior same-day-of-week window so a Monday is judged against recent Mondays, not against the weekend lull. |
| Alert trigger | Fires when cost-per-MQL rises sharply versus the prior comparable window (illustratively, more than roughly half again the recent baseline). The exact threshold is configurable per account; describe it to your team as “well beyond normal week-to-week movement”. |
| Roles | owner, marketing, finance |
Calculation
Calculated automatically from your LinkedIn Ads data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK B2B SaaS company selling workforce-planning software to mid-market HR teams. Account currency GBP. The team’s MQL definition is “Lead Gen Form submission from a job title containing Director, VP, or Head, at a company with 200+ employees”, resolved by a HubSpot join back to the LinkedIn click. Their healthy cost-per-MQL has sat around £180 to £220 for two months. The card evaluates the last 7 days against the prior 7 days, day-of-week matched.| Window | Spend | Lead Gen Form submissions | MQLs (post-join) | Cost per MQL |
|---|---|---|---|---|
| Prior 7D (08 to 14 Jun 26) | £14,200 | 96 | 71 | £200 |
| Current 7D (15 to 21 Jun 26) | £15,800 | 88 | 47 | £336 |
- Spend went up while qualified leads went down. Form submissions only dipped slightly (96 to 88), but post-join MQLs fell hard (71 to 47). That divergence is the tell: raw lead volume looks almost normal, but lead quality collapsed. The form is still firing; the people filling it in stopped matching the ICP.
- The most common cause of this exact shape is audience exhaustion plus broadening. When a tight job-title audience saturates, LinkedIn’s delivery quietly reaches further into adjacent (cheaper, lower-quality) members to spend the budget. You pay similar money for leads that no longer clear the MQL bar.
- Second most common cause is a competitor entering your auction. A rival launching an ABM push against the same named accounts pushes your CPC up; spend rises, lead count holds, cost-per-MQL climbs on the cost side rather than the quality side. Check CPC Trend to tell the two apart.
- Always rule out a tracking break before acting on the media. If the CRM join silently stopped attaching MQL stages to LinkedIn clicks, the denominator shrinks and cost-per-MQL spikes even though nothing changed in the auction. The companion Lead Gen Form Sync to CRM Broken card exists precisely to disambiguate this. If both fire together, fix the pipe first; the cost spike may be an illusion.
- Cost-per-MQL up + form volume flat + CPC up = competitive bid pressure. Refresh creative, consider a bid-cap, hold the audience.
- Cost-per-MQL up + form volume flat + MQL count down = quality decay from audience broadening or exhaustion. Tighten targeting, refresh creative, or rotate to a fresh audience.
- Cost-per-MQL up + MQL count down sharply + sync card also firing = tracking break, not a media problem. Fix the CRM sync first.
- Cost-per-MQL up + spend up + MQL count up proportionally = you scaled budget; this can be acceptable. Confirm the new cost-per-MQL still clears your payback maths.
Sibling cards merchants should reference together
A cost-per-MQL spike is a symptom; these cards tell you the cause and whether it is real:| Card | Why pair it with cost-per-MQL | What the combination tells you |
|---|---|---|
| Lead Gen Form Sync to CRM Broken | The denominator integrity check. If sync is broken, MQLs are undercounted and the spike is an artefact. | Both firing = fix tracking first. Only this card firing = real media problem. |
| CPC Trend | Splits a cost-side spike (auction got pricier) from a quality-side spike (leads got worse). | Rising CPC = competitive pressure. Flat CPC with falling MQLs = audience decay. |
| CPA Trend | The raw cost-per-conversion before the MQL quality filter. | If CPA is flat but cost-per-MQL spiked, quality dropped, not cost. |
| Conversion Rate Trend | Click-to-form-fill rate. A falling rate raises cost-per-lead from the top of the funnel. | Falling rate = creative fatigue or a landing/form issue. |
| Wasted-Spend Burst (audience exhaustion) | The campaign-level view of where the money leaked. | Pinpoints which campaign drove the account-level spike. |
| Spend by Campaign | Account cost-per-MQL masks large variance between campaigns. | Always open this to find which campaign moved the blended number. |
| Conversion Lag | Days from click to qualified lead. Rising lag inflates today’s cost-per-MQL artificially. | Some of the “missing” MQLs may simply not have landed yet. |
| ROAS | The downstream value read. Cost-per-MQL is the leading edge of ROAS. | If cost-per-MQL spikes and stays high, ROAS follows weeks later. |
Reconciling against LinkedIn Campaign Manager
Where to look in LinkedIn Campaign Manager: LinkedIn Campaign Manager → Account → Performance Chart. LinkedIn does not expose a “cost-per-MQL” column directly, because MQL is your definition, not LinkedIn’s. The closest native column is Cost per Lead or Cost per Conversion against your chosen conversion event. To approximate this card, set the date picker to the same window, add the Cost per Conversion column for your qualified-lead event, and read it against the same attribution model your conversion events use (LinkedIn default is 30-day post-click + 7-day post-view). Columns that look similar but are not cost-per-MQL:- Cost per Lead in Campaign Manager counts every lead-gen-form submission, with no quality filter. This card counts only leads that crossed your MQL bar, so it usually reads higher.
- Cost per Conversion depends on which conversion event you select; pick the one mapped to your qualified-lead milestone.
- Average CPC is cost per click, several steps earlier in the funnel.
- Lead Gen Form Completions is a raw count, not a cost.
| Reason | Direction | Why |
|---|---|---|
| Quality filter | This card usually reads higher | LinkedIn’s Cost per Lead counts all submissions. This card divides spend by qualified leads only, so disqualified or out-of-ICP submissions are stripped from the denominator. |
| CRM join latency | Spike may overstate at first | If MQLs are resolved by a CRM join, late-arriving qualifications backfill over the following days and the cost-per-MQL settles lower than the first reading. |
| Time zone | Boundary days off | LinkedIn reports in the ad account time zone; this card normalises to UTC. Over a 7-day window the gap averages out; a single day can shift. |
| Attribution window | Direction depends | Mixed attribution windows across conversion events change which leads are credited to the window. |
| Pixel vs Conversions API | Without CAPI, fewer leads counted | LinkedIn Insight Tag is blocked on a meaningful share of professional browsers; that suppresses the denominator and inflates cost-per-MQL. CAPI narrows the gap. |
| Ingest lag | Higher for “today” | A few hours of reporting lag on the cost side means today’s reading firms up the next morning. |
| Source | Expected relationship | What causes legitimate divergence |
|---|---|---|
| CRM-side LinkedIn-sourced MQL count (Salesforce / HubSpot) | The denominator’s source of truth when a join is live | The CRM may apply lead-scoring rules or dedup logic that LinkedIn’s raw form count does not. |
| Conversions by Campaign | Raw conversion counts per campaign feed this card’s denominator | Conversions here are unfiltered; MQLs are the qualified subset. |
| Total Spend | The numerator | Account-level spend should reconcile within rounding to the cost side of this card. |