You're reading the conceptual explanation of what the numbers mean. A programmatic GET /v1/reports endpoint that lets you pull the same numbers into a sheet or BI tool is on the roadmap — see the Reports section of the API reference for status.
1. The ad funnel
Every Boost Boss event sits somewhere on a five-step funnel. Knowing which step a number measures matters more than the absolute size of the number — a "low CTR" can mean very different things depending on whether your fill rate is also low or whether your requests are low.
A request always exists; a fill, impression, click, or conversion only exists if the previous step did. So requests ≥ fills ≥ impressions ≥ clicks ≥ conversions, always. When the dashboard shows a sudden divergence between two of these — e.g. requests up 30% but impressions flat — the gap tells you what happened. (Auction returned no eligible campaigns? Creative loaded but never rendered? User dismissed before render completed? Each gap has a different fix.)
2. The metrics, defined
Every number on your dashboard is one of these. The formula column is exactly how we compute it server-side, so you can sanity-check any visible figure against the raw counts.
| Metric | What it measures | Formula |
|---|---|---|
| Requests | Number of times your integration asked Boost Boss for an ad. | count(ad_request events) |
| Fills | Requests where the auction returned a non-empty creative. | count(requests where auction_result == 'matched') |
| Fill rate | Share of requests that resulted in a returned creative. The single best signal of "is Boost Boss serving my surface at all." | fills / requests |
| Impressions | Fills that your app confirmed it rendered to the user (via the impression beacon). | count(impression beacons received) |
| Clicks | Confirmed click beacons fired against an impression. | count(click beacons received) |
| CTR (Click-Through Rate) | Clicks per impression. Measures creative + context fit — high CTR means the right ad got in front of the right user. | clicks / impressions |
| Revenue | Your 85% share of advertiser spend on your inventory. Settled per impression, accrues to your balance in near-real-time. | sum(impression_revenue_usd × 0.85) |
| eCPM (effective Cost Per Mille) | What your inventory earns per 1,000 impressions, on average. The single number most ad networks judge inventory quality by. | (revenue / impressions) × 1000 |
| RPM (Revenue Per Mille request) | Like eCPM but measured per 1,000 requests — incorporates fill rate. Useful for comparing two surfaces with different fill rates. | (revenue / requests) × 1000 |
| Lifetime earned | Cumulative gross revenue across the life of your account, including paid-out balances. | sum(all-time impression revenue × 0.85) |
| Available balance | Revenue you've accrued that's eligible to cash out or spend in Promote right now. | lifetime_earned − paid_out − pending_cashouts |
3. What "normal" looks like at v1
Hard numbers vary by surface — an MCP server with low-volume high-intent users has different defaults than a high-volume chat UI — but here's a rough range for a healthy v1 publisher. These aren't promises; they're benchmarks for "is my integration broken or is it just slow."
| Metric | Typical range | Signal |
|---|---|---|
| Fill rate | 60–90% | Below 40% usually means context targeting is too narrow or your traffic mix has no matching advertisers yet. Above 95% with low CTR suggests fills aren't well-matched. |
| CTR | 1.5–4.5% | MCP / chat-native surfaces tend higher than passive sidebars. Below 0.5% after 10k impressions is a sign the creative–context match is off. |
| eCPM | $2–$15 | Highly intent-rich placements (e.g. the moment a user asks an MCP tool a buying question) hit the top of the range. Generic chat sidebars are at the bottom. |
| Time to first $1 | 1–7 days | If you've integrated correctly and have >100 requests/day, you should clear the $1 cashout floor in your first week. |
4. Sample size — don't trust early numbers
This is the single most common source of frustration in ad-network reporting: small numbers lie. A 12% CTR after 8 impressions is meaningless noise; the same 12% CTR after 10,000 impressions is a real signal worth acting on. Until you've crossed roughly the following thresholds, your dashboard is showing you a draft sketch, not a final number.
| Metric | Settles after roughly… |
|---|---|
| Fill rate | 500 requests |
| CTR | 5,000 impressions |
| eCPM | 10,000 impressions |
| Conversion rate | 50,000 impressions or 200 conversions, whichever comes first |
Below those thresholds, expect the numbers to swing day-to-day. Don't change your integration based on a metric that hasn't crossed its settling line — you'll be chasing noise.
5. Reading the per-placement breakdown
The dashboard breaks revenue down by placement and by format. Three useful ways to read this view:
- Concentration check. If one placement drives 80%+ of your revenue and the rest are flat, the lopsided one is your real product. Either remove the others (they're adding integration surface for no payoff) or experiment with format/copy on them to lift their eCPM.
- Format comparison. Same placement, different format (sidebar vs inline vs video). The format with the higher CTR is usually the one that fits your UI flow best. Big eCPM gaps between formats often mean the lower one is rendering at a bad moment in the user's task.
- Trend, not absolute. A placement going from $4 → $6 eCPM week-over-week tells you more than a $6 eCPM in isolation. Compare the same placement to itself over time.
6. Debugging a revenue drop
When revenue falls week-over-week, work down the funnel from the top — the higher up the funnel the change happens, the bigger the downstream effect.
- Did requests drop? Open the dashboard's requests chart by day. If requests fell, the cause is upstream of Boost Boss — your traffic mix shifted, your integration's call site got changed, or your app usage dropped. Boost Boss isn't the bug.
- Did fill rate drop? If requests are flat but fills fell, advertisers stopped matching your context. Possible causes: a campaign you were a strong fit for ended, your brand safety filters changed, or your traffic shifted toward contexts with thinner demand. Check Promote / Settings → Brand safety to confirm nothing changed.
- Did CTR drop? Fills steady but clicks down. The creative–context fit got worse. Usually means new campaigns entered the auction with weaker creative. Wait a few days — Benna learns and rotates them out, or they pause themselves.
- Did eCPM drop without CTR moving? Same fills, same clicks, less money. The advertiser-side auction prices fell — either fewer advertisers competing for your inventory, or the same advertisers lowered their bids. This usually reverses on its own as new campaigns enter.
If you've checked all four and nothing jumps out, email support@boostboss.ai with your publisher ID and the date range — we'll trace the auction logs and tell you exactly what changed.
7. When to act vs when to wait
Most metric movements settle themselves. The auction is a marketplace — campaigns enter, ramp, pause, exit constantly. A short-term drop in eCPM almost always reverses within a week as the auction rebalances. Three signals that a change is real and worth acting on:
- The change has held for two consecutive weeks, not one.
- The change shows up in both impressions and clicks (not just one — single-step changes are usually measurement noise).
- You can explain the cause. "A campaign ended" / "we changed our integration" / "we shipped a new ad format." If you can't explain it, you usually don't need to act on it — it's the market moving, not your inventory.
8. Promote vs cash out — reading your balance two ways
Your available balance has two valid uses, and the right choice is a function of your eCPM. If you can spend $1 on Promote to drive >$1 of revenue back into your own product (acquire a user who'll be worth more than $1 lifetime), Promote is the better trade. If you can't, cash out is the better trade. The metrics guide here gives you the numbers to make that call: your acquisition cost on Promote shows up as advertiser-side spend in the same dashboard, so you can compare apples to apples within a few weeks of running both.
Questions?
Anything not covered here, anything where a metric doesn't match your intuition, anything where you're not sure if you're reading the dashboard right — email support@boostboss.ai with the metric, the date range, and your publisher ID. We'll trace the underlying events and tell you exactly what's happening.