On this page
Key takeaways
- You need one file: spend and signups by date, channel and campaign.
- Question 1 finds the expensive channel, question 2 finds when it got expensive, question 3 finds what to cut.
- Compare cost per signup, not spend or signups on their own.
- End with a budget decision, not a chart.
The data you need
One export with a row per day per campaign. Most ad platforms and marketing dashboards can produce it:
| Column | Example | Notes |
|---|---|---|
date | 2026-09-14 | One row per day per campaign |
channel | Paid search | Paid search, paid social, display, email, affiliates |
campaign | Brand - US | Campaign name |
spend_usd | 412.50 | Spend that day |
clicks | 380 | Optional |
signups | 9 | Or leads, trials, purchases |
revenue_usd | 1,240 | Optional, if you can attribute it |
If channels come from different platforms, combine them into one file with the same columns. Put channel names in a consistent form: "Paid search", not a mix of "google cpc" and "Google Ads".
Question 1: Where is each signup most expensive?
What you get: a bar chart of cost per signup (spend divided by signups) by channel, sorted.
Why this question: total spend tells you where the money goes; total signups tell you where results come from. Only cost per signup tells you where money is working. A channel with the most signups can still be the most expensive per signup.
What to look for: a channel whose cost per signup is well above the others. That is where question 2 starts.
Follow-up: "Add spend and signups next to cost per signup", so you see whether the expensive channel is also a large share of the budget.
Question 2: When did it get expensive?
Select the chart and ask: "Cost per signup by week for the last 12 weeks, for paid social." (Use the channel that stood out.)
What you get: a line chart of weekly cost per signup for that channel.
What to look for:
- A step up in one week: often a new campaign, a bidding change, a tracking break or a landing page change.
- A slow climb: audience fatigue or rising competition.
- Spikes and drops: tracking issues. Check that signups were recorded correctly for those weeks.
Follow-up: "Compare spend and signups for the same weeks." A step up in cost per signup with flat spend means signups fell; with rising spend, it means the extra budget bought little.
Question 3: Which campaigns should we cut or fix?
Ask: "Within paid social, which campaigns have spend above average and cost per signup above average, last 30 days?"
What you get: a short list of campaigns that take a large share of spend and convert poorly.
What to look for: two or three campaigns that account for most of the problem. They are your candidates to pause, cut or fix.
Follow-up: "If we paused these campaigns, how would total spend and total signups change?" That gives you the budget you free up and the signups you would lose.
Turn it into a decision
Arrange the three answers on one canvas:
- Cost per signup by channel (where)
- Weekly trend for the expensive channel (when)
- Campaigns to cut (what)
Then write the decision beside them, for example: "Pause two paid social campaigns, move the budget to paid search, review again in 2 weeks."
Common traps
| Trap | Effect | Fix |
|---|---|---|
| Comparing total spend or total signups | Misses efficiency | Use cost per signup |
| Mixed channel names | One channel split into several | Standardise names before upload |
| Too short a window | Noise looks like a trend | Use at least 30 days, weekly for trends |
| Attribution windows differ by platform | Channels look better or worse than they are | Use one attribution source where possible |
| Ignoring quality | Cheap signups that never convert | Add revenue or activation if you have it |