Marketing channel report template
By the Analistable team · Updated · 2 min read
Paste weekly spend and clicks per channel on the Spend sheet and leads and revenue from your CRM on the Results sheet. The Report sheet totals both by channel with SUMIFS and calculates cost per lead and return on ad spend, with a total row for the whole mix.
Part of our guide: How to answer questions across multiple spreadsheets
What the template does
Spend lives in the ad platforms and results live in the CRM, so a channel report always means joining two sets of exports. This template keeps them on separate sheets in their natural shape and joins them on channel (and optionally week) in the Report, which is the spreadsheet version of building a cross-channel marketing report from CSV exports.
Sheet-by-sheet guide
| Sheet | Columns | You fill in? |
|---|---|---|
| Instructions | Step, What to do | No |
| Spend | Week, Channel, Spend, Clicks | Yes (from ad platforms) |
| Results | Week, Channel, Leads, Revenue | Yes (from CRM) |
| Report | Channel, Spend, Clicks, Leads, Revenue, CPL, ROAS | No (formulas) |
How to fill it in
- Export spend per week from each platform (Google Ads, Meta, LinkedIn and so on) and paste the rows on Spend, one channel name per platform. Combining Meta and Google Ads spend covers the column differences.
- Export leads and closed revenue from the CRM grouped by source and week, and paste them on Results. Map UTM sources to the same channel names; see merging UTM data with CRM leads.
- Add a Report row per channel. Channels with no paid spend, such as Email, still belong in the report.
How the formulas work
Each metric is a SUMIFS on its own sheet, keyed by channel:
=SUMIFS(Spend!$C$2:$C$500,Spend!$B$2:$B$500,A2)
=SUMIFS(Results!$C$2:$C$500,Results!$B$2:$B$500,A2)Cost per lead and ROAS are ratios guarded against division by zero:
=IFERROR(ROUND(B2/D2,2),0)
=IFERROR(ROUND(E2/B2,2),0)Worked example
| Channel | Spend | Clicks | Leads | Revenue | CPL | ROAS |
|---|---|---|---|---|---|---|
| Google Ads | 2500 | 1650 | 64 | 10200 | 39.06 | 4.08 |
| Meta Ads | 1900 | 2300 | 48 | 5600 | 39.58 | 2.95 |
| LinkedIn Ads | 1500 | 320 | 15 | 4500 | 100 | 3 |
| 200 | 780 | 26 | 3200 | 7.69 | 16 | |
| Total | 6100 | 5050 | 153 | 23500 | 39.87 | 3.85 |
LinkedIn has the highest cost per lead but a ROAS of 3.0, so its leads are worth more each. Looking at both columns stops you cutting a channel on CPL alone.
Limits and when to move on
- Attribution is whatever your CRM's source field says. The template does not model multi-touch journeys.
- Channel names must match on both sheets. Keep a short mapping list if platforms name themselves differently.
- If you also want GA4 sessions or Search Console clicks in the same view, Analistable connects to both, loads the reports in your browser and lets you ask across them and your spend files.
Frequently asked questions
- Can I report by week instead of by channel?
- Yes. Add Week as a second condition in each SUMIFS and lay the Report out with one row per channel and week.
- What revenue should go on the Results sheet?
- Use the revenue your CRM attributes to the lead's source in the period. Be consistent each week; mixing booked and paid revenue makes ROAS jump around.
- Why is ROAS 0 for a channel?
- Either the channel had no spend (the formula avoids dividing by zero) or the channel name on Results does not match the Report.