Feature · Dashboard

Every number that matters, arranged the way you work

18 KPI tiles and 4 graphs, ROAS to signal delivery. Show what you use, hide the rest, drag it into your order — saved per user, per workspace.

RoasProof dashboard KPI tiles: ROAS 3.37×, ad spend €24,202.54, attributed revenue €81,643.17, 733 conversions, 97.4% delivery rate — each with a delta badge and sparklineRoasProof revenue and ad spend graph: attributed revenue against ad spend, day by day over 30 days

Composable layout

Your metrics, your order

No two accounts read a dashboard the same way. This one bends to you.

  • 18 tiles, 4 graphs

    From ROAS, CPA and AOV to CTR, CPC, CPM, budget pacing and delivery health. Show the tiles that earn their place; hide the rest.

  • Drag into your order

    The numbers you check first belong at the top. Reordering is drag and drop, and the layout saves as you change it.

  • Personal, not shared

    A media buyer and a founder open the same workspace and see different boards.

Tile anatomy

Last period is always beside this one

Every tile answers two questions: what the number is, and which way it is moving.

Four RoasProof dashboard tiles up close: ROAS 3.37× up 7.6%, ad spend €24,202.54 up 7.7%, CPA €33.02 down 5.8%, average order value €111.38 up 1.4% — each with its delta badge and a sparkline running over the previous period's muted ghost line
  • A delta on every tile

    The badge is the change against the previous period — the first thing to read after the number.

  • A sparkline you can scrub

    Scrub with hover or keyboard for any day's exact value; the previous period runs underneath as a muted ghost line, same y-scale.

  • No fake zeros

    A metric with no data renders “—”, never 0. Mixed-currency views split per currency instead of blending money into a number that exists nowhere.

Filters

Period, channel, store — and channels you never set up

One filter row scopes every tile and graph at once.

The RoasProof dashboard filter row set to Last 30 days, the channel outdoorgearlab and All stores, over Jul 14 – Aug 12 vs the previous 30 days on last click. Nobody set outdoorgearlab up: it is a raw utm_source that became a channel on its own. The board rescopes to it — attributed revenue €1,776.90, 20 conversions, and ROAS and ad spend showing a dash with “No ad spend exists for this channel”
  • Channels create themselves

    Every traffic source and every raw utm_source from the last 90 days becomes a first-class channel. Tag a campaign utm_source=viber and “viber” appears — zero configuration.

  • One board, many stores

    A workspace can hold several stores. Filter the whole board down to one, or read the workspace as a whole.

Graphs

Four graphs, each with a table twin

Charts are server-rendered SVG — no client chart library. Every graph has a “View as table” twin: exact numbers, readable by screen readers.

Revenue & ad spend

The two lines that decide whether the month works.

Conversions

Daily conversions with the first-time-customer share.

Top channels

Where attributed revenue actually comes from, ranked.

Signal delivery

Delivered against failed — a tracking problem shows up here before it shows in ROAS.

Attributed revenue is built by attribution. The pacing tile condenses budget pacing, and delivery health comes from server-side tracking.

Start sending signals your ad platforms can actually use.

Connect your store, verify your events, and watch match quality climb. Free 14-day trial, no credit card required.