Analistable

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

Sheets in marketing-channel-report-template.xlsx
SheetColumnsYou fill in?
InstructionsStep, What to doNo
SpendWeek, Channel, Spend, ClicksYes (from ad platforms)
ResultsWeek, Channel, Leads, RevenueYes (from CRM)
ReportChannel, Spend, Clicks, Leads, Revenue, CPL, ROASNo (formulas)

How to fill it in

  1. 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.
  2. 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.
  3. 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

Report sheet with two weeks of sample data
ChannelSpendClicksLeadsRevenueCPLROAS
Google Ads25001650641020039.064.08
Meta Ads1900230048560039.582.95
LinkedIn Ads15003201545001003
Email2007802632007.6916
Total610050501532350039.873.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.

Related guides