Sign in

Blog · Finance metrics and formulas · Sales teams

Cost per lead by channel: compare spend and lead quality

Compare channel spending with consistently defined leads, qualified leads, and won customers. This guide gives the export layout, spreadsheet formulas, worked channel table, and reconciliation checks.

The short answerCost per lead by channel divides each marketing channel's spending by the unique leads attributed to it under the same counting rules. Compare that figure alongside cost per qualified lead and conversion to customers. Aggregate spending and leads before calculating a combined CPL, and reconcile the channel totals to the spending export and the deduplicated CRM cohort.

Cost per lead by channel is each channel's eligible spending divided by the unique leads assigned to that channel. Use the same lead definition, cost scope, and observation period throughout. Then compare qualification and won customers, because a cheap inquiry does not establish a cheap customer relationship.

Agree on the channel rules before combining exports

This comparison answers a marketing acquisition question: where did eligible new inquiries come from? It differs from the sales coverage question in inside sales and field, which examines how the team serves and contacts accounts.

Write a short measurement rule before opening the files. Define a lead, assign a reporting currency, state the included costs, and choose the acquisition cohort. For example: unique new business inquiries created in July 2026, assigned to their first recorded acquisition channel, with qualification and sales outcomes observed through September 30, 2026.

Keep the original channel assignment even if sales later contacts the lead through another route. If you instead compare attributed platform conversions, preserve each platform's settings: Google Ads explains that attribution settings affect conversion credit. Platform totals and a unique-person business report can therefore differ without either calculation being arithmetically wrong.

Use the general cost per lead formula for the underlying definition. The work here is making channels comparable.

Prepare the spending and CRM files

Create a Spend sheet with date in A, channel in B, campaign ID in C, and eligible spending in D. Copy only eligible July rows into this sheet; a worksheet filter merely hides other rows and does not exclude them from these formulas. Standardize labels so that different campaign names belonging to the same channel roll up together.

Create a Leads sheet with unique lead ID in A, creation date in B, acquisition channel in C, qualified flag in D, and won flag in E. Copy only leads created in July into this sheet and record the status flags as of the common follow-up date. Use the exact text Yes for affirmative flags. Allocate each won customer to exactly one eligible lead and mark only that lead's won flag, so several contacts cannot inflate customer counts. A blank qualification field means unknown, so resolve it before reporting a qualification rate.

Keep one row per eligible lead. Resolve duplicates using stable business IDs before counting rows. Retain exclusion reasons outside the eligible list so that spam removal and duplicate removal can be reviewed. Put unmatched channels in an explicit Unknown bucket rather than dropping them from the reconciliation.

Calculate each channel in Excel

On a Summary sheet, use columns A through G for Channel, Spend, Leads, Qualified leads, Won customers, CPL, and Cost per qualified lead. Put the channel labels in A2:A4. These formulas assume the July-only source lists fit within rows 2 through 1000.

In B2, total the spending assigned to the channel:

=SUMIFS(Spend!$D$2:$D$1000,Spend!$B$2:$B$1000,$A2)

Microsoft documents SUMIFS as adding values that meet criteria. Use matching range sizes, and extend every range if the export is longer.

Count eligible leads, qualified leads, and won customers in C2, D2, and E2:

=COUNTIFS(Leads!$C$2:$C$1000,$A2,Leads!$A$2:$A$1000,"<>")
=COUNTIFS(Leads!$C$2:$C$1000,$A2,Leads!$D$2:$D$1000,"Yes",Leads!$A$2:$A$1000,"<>")
=COUNTIFS(Leads!$C$2:$C$1000,$A2,Leads!$E$2:$E$1000,"Yes",Leads!$A$2:$A$1000,"<>")

Microsoft's COUNTIFS documentation explains that all supplied criteria must match. COUNTIFS counts rows rather than distinct people, which is why the unique-lead preparation matters.

In F2 and G2, calculate the ratios, then fill all formulas through row 4:

=IF(C2=0,NA(),B2/C2)
=IF(D2=0,NA(),B2/D2)

Read the worked channel comparison

An illustrative US business-services company includes direct campaign expenses and excludes employee salaries across all channels. Search and Social include their campaign spending; Webinars includes the event's direct vendor costs. Shared overhead is outside this labeled view.

Channel Spending (USD) Leads Qualified leads Won customers CPL (USD) Cost per qualified lead (USD)
Search 6,000 120 30 12 50.00 200.00
Social 4,000 200 20 5 20.00 200.00
Webinars 3,000 50 25 10 60.00 120.00
Total 13,000 370 75 27 35.14 173.33

Social has the lowest inquiry cost: 4,000 / 200 = $20.00. Search costs 6,000 / 120 = $50.00, while Webinars costs 3,000 / 50 = $60.00. Qualification changes the comparison: Social and Search each cost $200.00 per qualified lead, while Webinars costs 3,000 / 25 = $120.00.

All dollar ratios are rounded to two decimal places after calculation. The qualified-lead guide explains how to define marketing and sales qualification without mixing the stages.

Read the later outcomes from the same rows:

Channel Qualified / leads Lead-to-customer rate Campaign spend / won customer (USD)
Search 30 / 120 = 25.0% 12 / 120 = 10.0% 6,000 / 12 = 500.00
Social 20 / 200 = 10.0% 5 / 200 = 2.5% 4,000 / 5 = 800.00
Webinars 25 / 50 = 50.0% 10 / 50 = 20.0% 3,000 / 10 = 300.00

Webinars looks stronger on these supplied outcomes, but the table does not prove that additional spending would produce the same results. Capacity, audience size, and customer contribution still matter. Campaign spending per won customer also excludes the other costs needed for fully loaded CAC.

Reconcile the totals and make the decision

The sums must tie: 6,000 + 4,000 + 3,000 = $13,000; 120 + 200 + 50 = 370 leads; 30 + 20 + 25 = 75 qualified leads; and 12 + 5 + 10 = 27 won customers. Compare those totals with the eligible source lists before discussing performance.

In row 5, total B through E. Combined CPL is =SUM(B2:B4)/SUM(C2:C4), or 13,000 / 370 = $35.14. Combined cost per qualified lead is =SUM(B2:B4)/SUM(D2:D4), or 13,000 / 75 = $173.33. Never add or simply average the channel ratios.

The lead-weighted check also closes: 120 × 50 + 200 × 20 + 50 × 60 = $13,000. Dividing by 370 gives the same combined CPL.

Marketing operations owns channel mapping and eligibility; sales operations owns qualification and won-status definitions. Finance confirms the spending scope. Together, they can investigate why Social generates inexpensive inquiries with weaker downstream conversion before changing its budget.

Where it goes wrong

  • Duplicate credit across channels. A full lead counted under several channels inflates the combined denominator.
  • Unequal cost scope. Including event labor while excluding paid-media management makes the channel comparison inconsistent.
  • Different cohort ages. A new campaign has had less time to produce qualified leads and won customers.
  • Unknown status treated as failure. Missing qualification needs review rather than an automatic negative flag.
  • Zero leads shown as zero CPL. Spending without leads has an undefined individual ratio and still belongs in total spending.

Covirage is not affiliated with Microsoft or Google.

Compare channels on your own files in Covirage

Bring a sample of your own campaign spending and CRM exports to Covirage. Covirage maps the columns, its tools compute and check the channel figures, and the external AI model explains the result with every figure traced to its rows. Create a free Covirage account in about a minute, then set up your business and bring your file.

See customer profitability for the business context behind the comparison.

Questions people ask

Which marketing channel has the lowest cost per lead?

The answer depends on your audience, offer, spending scope, and definition of a lead. Calculate each channel on the same basis, then compare qualification and customer conversion. The lowest inquiry cost can still produce a higher cost per won customer.

How should shared marketing costs be allocated?

Keep a separate media-only view if it is useful, and allocate shared costs using a documented basis such as recorded campaign hours. Show unallocated costs explicitly. Changing the allocation basis between channels can create a ranking that reflects accounting choices rather than campaign performance.

Can I average channel CPL figures?

For a combined business figure, divide total eligible spending by total unique attributed leads. A simple average gives small channels the same weight as large ones. If using a weighted average, weight each channel's CPL by its lead count.

How do I handle a lead that touches several channels?

Assign one primary acquisition channel for a unique-lead report, or use fractional credit that totals one across that lead's channels. Keep assisted-touch reporting separate. Counting the same person in several full channel denominators overstates the combined lead count.