Industry
Contents
Independent AI analysis, European lens

CAC Diagnostic, Customer Acquisition Cost Analysis

Use the CAC Diagnostic to open aggregated acquisition data, filter performance by channel, campaign, country and segment, and find where customer acquisition cost is deteriorating. Every calculation runs locally in your browser; nothing is uploaded to or stored by Industry Contents.

Editorial context

Growth Signal experiments that touch on acquisition cost and channel efficiency appear below.

Cite this data

Industry Contents, CAC Diagnostic, IC Lab, https://industrycontents.com/cac-diagnostic/, accessed [date].

Live tool, no data leaves your browser

Methodology

What the tool measures, how each metric is derived, and the validation rules applied to your CSV before any chart is drawn.

Overview

CAC Diagnostic turns a row-level marketing performance export into acquisition efficiency metrics, including cost per lead, cost per qualified lead, cost per opportunity, and blended CAC, broken down by channel, campaign, country, segment and time.

Every number is derived from the rows currently in scope, meaning after your filters are applied. Nothing is pre-aggregated or cached from a previous session; change a filter and every card, chart and table recalculates from the underlying rows.

Data schema

One row represents one funnel record for a given date and combination of channel, campaign, country and segment. Column names are case-insensitive.

ColumnStatusNotes
dateRequiredAny readable date format.
spendRequiredNon-negative. One currency per file.
leadsRequiredNon-negative integer.
qualified_leadsRequiredMust not exceed leads.
opportunitiesRequiredMust not exceed qualified leads.
customersRequiredMust not exceed opportunities.
channel, campaign, country, segmentRecommendedPower the filters and breakdown charts.
revenueRecommendedNon-negative. Treated as 0 if omitted.

Validation rules

Applied to every row before it enters any calculation. A row that fails is excluded and reported with its row number and reason, for example “Row 17, 42 opportunities cannot exceed 30 qualified leads.”

01

Required columns present

All required columns exist in the header.

02

Readable, numeric values

Date is a readable date; spend, leads, qualified leads, opportunities and customers are numeric.

03

No negative values

Every numeric field must be zero or positive.

04

Funnel ordering

Qualified leads cannot exceed leads, opportunities cannot exceed qualified leads, customers cannot exceed opportunities. The funnel can only narrow, never widen.

05

Single currency

Currency symbols are not mixed with plain numbers within spend or revenue across the file.

Calculations

CAC here means the spend in your file divided by the customers in scope. Include all acquisition costs you want counted, use one currency and apply the same attribution rules and date basis across rows. Spend in one period may produce customers later, so this period ratio is not a cohort CAC or proof of what caused a change. Every ratio is computed from the sum of the underlying rows in scope, never averaged row by row. Averaging each row’s CAC and then averaging those averages misweights small rows against large ones. A blank denominator, for example zero customers, returns “Not available” rather than a divide-by-zero error.

01

CPL

Total spend divided by total leads.

02

CPQL

Total spend divided by total qualified leads.

03

Cost per opportunity

Total spend divided by total opportunities.

04

CAC

Total spend divided by total customers.

05

Lead qualification rate

Total qualified leads divided by total leads.

06

Qualified to opportunity rate

Total opportunities divided by total qualified leads.

07

Win rate

Total customers divided by total opportunities.

08

Revenue per customer

Total revenue divided by total customers.

Rounding. currency metrics round to 2 decimal places; rates round to 4 decimal places before display as a percentage.

Period comparison

Current period is your active date filter. Previous period is the immediately preceding window of equal length, a 30-day current period compares against the 30 days directly before it. Cost metrics show relative change; rate metrics show the change in percentage points. If either period has no matching rows, its metrics show “Not available” rather than a misleading zero.

How to use it

A walkthrough for anyone using the tool for the first time.

Getting data in

Upload your CSV. Download the template for a correctly formatted starting point, or prepare your file matching the schema above. The file never leaves your browser.

Try sample data. Load a realistic synthetic dataset to explore the dashboard before your data is ready.

Enter totals manually. For a quick comparison without a prepared file, enter aggregate totals for one period, or for two periods to see a full comparison. Filters and breakdowns are unavailable in this mode since there is no row-level detail.

Reading the dashboard

01

Diagnostic summary

A plain-language read of what changed between your current and previous period, and where the largest deterioration appears. States what changed, not why.

02

KPI totals

Spend, leads, qualified leads, opportunities, customers and revenue for the current filter selection.

03

Acquisition funnel

Spend through won customers, with the conversion rate labelled on each stage transition.

04

Performance breakdown

CAC by channel, country and segment, plus a monthly CAC trend line.

05

Period comparison table

Every metric, previous period versus current period, with the direction of change.

06

Efficiency detail and underlying rows

Collapsed by default; expand for the full metric grid or the raw filtered rows.

Reading tip. a higher CAC is not automatically worse, particularly across segments. An Enterprise customer with a much higher CAC than an SMB one is often still the better acquisition if revenue is proportionally higher. Check revenue per customer alongside CAC before drawing a conclusion.

FAQ

Is my data uploaded anywhere?

No. Parsing, validation and every calculation happen in your browser.

What if I do not have channel, campaign, country or segment data?

Those columns are recommended, not required. The dashboard still works with fewer filter options.

What does “Not available” mean?

The denominator for that ratio was zero for the current selection, so no meaningful number can be shown.

Privacy and data handling

Everything runs in your browser. The CSV is read, validated and calculated locally. Nothing is uploaded to or stored by IndustryContents, and there is no account or database involved.
Use aggregated performance data only. Do not include names, email addresses, customer IDs or other personal information in the file; the schema has no field for it and none should be added.