Blog · Board and management reporting
Build a marketing agency dashboard that separates client campaign outcomes from agency delivery economics. Follow the workbook layout, spreadsheet formulas, and reconciliations in a worked US agency example.
A marketing agency dashboard should separate client campaign results from the agency's cost of delivering them. Put spend and agreed client outcomes in one view, then fees, labor, outside costs, and contribution in another. Connect the views by client and period so a strong campaign result cannot hide an expensive engagement.
Start with the decision: which campaigns need a client discussion, and which engagements need a pricing or delivery discussion? Use the marketing agency KPIs definitions for the management measures instead of inventing new versions inside the dashboard.
Write the period, currency, lead definition, attribution rule, and cost allocation rule at the top of the workbook. This example is a US agency's September 2026 report in USD. A lead is a deduplicated inquiry meeting the client's agreed qualification rule. Attributed sales value follows the supplied campaign export; it is not proof that advertising caused the sales.
Keep cost per lead distinct from customer acquisition cost. The former divides campaign spend by leads. The latter requires customers and the agreed acquisition-cost boundary, so a campaign dashboard cannot substitute one for the other.
Use closed-period data for the worked report. In an ongoing month, label both the export timestamp and any incomplete finance or time records rather than presenting the result as final.
Create a sheet named Campaigns with columns A:F: client ID, campaign, period, spend, qualified leads, and attributed sales value. One row represents one client-campaign-period combination. Do not place monthly agency fees on these rows, because a client with several campaigns would then repeat the same fee.
| Client | Campaign | Period | Spend (USD) | Qualified leads | Attributed sales value (USD) |
|---|---|---|---|---|---|
| A | Search | September 2026 | 10,000 | 100 | 30,000 |
| A | Social | September 2026 | 8,000 | 80 | 24,000 |
| B | Search | September 2026 | 12,000 | 80 | 24,000 |
| C | Social | September 2026 | 10,000 | 50 | 15,000 |
| Total | 40,000 | 310 | 93,000 |
Preserve the original export next to the working sheet. Record any removed duplicate or excluded campaign so the reconciliation remains explainable. A blank outcome field means unknown until someone confirms otherwise; it does not automatically mean no outcomes occurred.
On a sheet named Summary, place client IDs in A2:A4. Set B1 to the period text, September 2026. In B2, sum spend for the client and period:
=SUMIFS(Campaigns!$D$2:$D$5,Campaigns!$A$2:$A$5,$A2,Campaigns!$C$2:$C$5,$B$1)
Use the same formula with sum range E2:E5 for leads in C2 and F2:F5 for sales value in D2. Fill each formula down. Google Sheets documents SUMIFS as a sum subject to multiple criteria, which is why both client and period appear in the formula.
Calculate cost per lead in E2 and return on ad spend in F2:
=IF(C2=0,"",B2/C2)
=IF(B2=0,"",D2/B2)
Cost per lead = Campaign spend / Qualified leads
ROAS = Attributed sales value / Campaign spend
Google Ads' ROAS documentation describes conversion value per cost. For this workbook, the numerator is the supplied attributed sales value; keep that definition visible rather than mixing it with a platform's differently defined conversion value.
| Client | Spend (USD) | Leads | Attributed sales value (USD) | Cost per lead (USD) | ROAS |
|---|---|---|---|---|---|
| A | 18,000 | 180 | 54,000 | 100.00 | 3.000× |
| B | 12,000 | 80 | 24,000 | 150.00 | 2.000× |
| C | 10,000 | 50 | 15,000 | 200.00 | 1.500× |
| Total | 40,000 | 310 | 93,000 | 129.03 | 2.325× |
Money ratios are rounded to two decimal places and ROAS to three. The total cost per lead is 40,000 / 310 = $129.03. Total ROAS is 93,000 / 40,000 = 2.325×. Neither total is the simple average of the client ratios.
Covirage is not affiliated with Google.
Use a Finance sheet with one row per client-period after summarizing the approved finance and time exports. For this example, assigned labor follows the agency's written allocation policy. Outside delivery costs include the contractors and purchased work assigned to each engagement; corporate overhead remains outside this contribution view.
| Client | Agency fees (USD) | Assigned labor (USD) | Outside delivery (USD) | Contribution (USD) | Contribution margin |
|---|---|---|---|---|---|
| A | 9,000 | 4,200 | 800 | 4,000 | 44.4% |
| B | 8,000 | 4,800 | 1,200 | 2,000 | 25.0% |
| C | 7,000 | 3,500 | 500 | 3,000 | 42.9% |
| Total | 24,000 | 12,500 | 2,500 | 9,000 | 37.5% |
With fees in B, labor in C, and outside delivery in D, enter these formulas in E2 and F2, then fill down:
=B2-C2-D2
=IF(B2=0,"",E2/B2)
The total contribution is $24,000 − $12,500 − $2,500 = $9,000. The total margin is 9,000 / 24,000 = 37.5%, with client margins rounded to one decimal place. These figures describe assigned delivery economics; finance must still reconcile other agency expenses before reporting net profit.
Display client outcomes above agency economics, using the same client order. Put the period, source timestamp, and metric definitions beside the panels. A practical layout has a client selector, an outcomes table, an economics table, and a short action list with an owner for each item.
Client B warrants a delivery review because its contribution margin is the lowest in the table. Client C warrants a campaign review because its cost per lead is the highest. Those are separate questions; differences in client objectives also mean that cross-client rankings need context.
Tie campaign spend to $40,000, qualified leads to 310, and attributed sales value to $93,000. Tie the economics panel independently to $24,000 of fees and $15,000 of assigned delivery costs. If the source rows change, both the dashboard and these control totals must change together.
For spreadsheet presentation choices, use the spreadsheet marketing dashboard guide. For alternative panel arrangements, see marketing dashboard examples. Neither layout choice changes the reconciliations.
Upload a sample of your own campaign export and client finance workbook, or bring a Google Sheet. Covirage maps the columns, its tools compute and check the client comparisons, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account; account creation takes about a minute, then you set up your business and bring your own data.
See how this file-based work fits self-service analytics.
Include the client's agreed outcome, the spend behind it, and a separate agency economics view. Show the reporting period, attribution rule, fee revenue, assigned delivery costs, and contribution. Each measure should have a source and a named review owner.
Keep client media spend separate from net agency fees in the management dashboard. Finance should reconcile that presentation to the ledger under the company's accounting policy. This prevents a campaign budget from obscuring the economics of the agency's delivery work.
Choose a cadence that matches the decision and the source's completeness. Campaign pacing may need a different review schedule from closed-month contribution. Put an as-of date on each panel and label provisional results until finance and time records are complete.