Marketing Agencies

ROAS, CAC, and whether each client is actually worth the hours.

Agencies juggle spend, channels, and retainers. Dashlytics reads your ad and billing data like a performance analyst, blended ROAS, cost per acquisition, and the effective rate you're really earning per client.

What your analyst looks at first

Blended ROAS and CAC across accounts
ROAS by channel, what's carrying the results
Effective rate per client (revenue ÷ hours)
Spend efficiency trends over time
4.2×
Blended ROAS, computed from spend
example, computed from your data

What a generic dashboard tool misses in marketing agencies

Two numbers decide whether an agency is actually making money, and neither appears on a standard reporting dashboard. The first is ROAS by channel rather than blended, because a blended figure averages a channel that is losing money together with one that is carrying the account, and hides both. The second is effective rate per client: revenue divided by the hours actually worked. A retainer that looks profitable at the invoice level frequently is not once scope creep is counted, and no reporting tool will tell you unless it reads your hours.

The columns this needs from your file

You do not need all of these to start. The first three build a working dashboard; each one after that unlocks a specific analysis.

  • Date
  • Client or account name
  • Revenue, retainer or invoice value
  • Ad spend (unlocks ROAS and CAC)
  • Channel (unlocks ROAS by channel)
  • Hours logged (unlocks effective rate)

Messy headers, several sheets in one workbook and mixed date formats are handled on upload, because real exports look like that. Every figure is computed from your rows and reconciles against the source file, and a Data Readiness score tells you how far to trust the result before you act on it.

Frequently asked questions

How is effective rate per client calculated?

Revenue for the client divided by the hours logged against them, over the same period. It is the number that exposes scope creep, because a client can be your largest by invoice and your worst by effective rate. It needs a hours column, which usually comes out of your time tracker as a CSV.

Why measure ROAS per channel rather than blended?

Because blended ROAS averages your best channel with your worst and reports a number that describes neither. A blended 4x can be one channel at 8x subsidising another at 1.2x, and the decision you need to make is only visible once they are separated. That needs a channel column alongside spend.

What columns does an agency dashboard need?

A date, a client name and a revenue figure build the client view. Ad spend unlocks ROAS and CAC. A channel column splits ROAS by channel. Hours logged unlocks effective rate. Each column adds an analysis; none of them is required to get started.

Add ad-spend, channel, and hours columns to unlock ROAS-by-channel and effective-rate analysis.

Try it on your data →See a live demo
← All industries