Skip to content
Documentation

Documentation

Dashboard & reports

One data configuration, several lenses: what each page answers, how to save a view, and how to be told when a number crosses a line.

One scope, every page

The bar at the top of every report sets which apps, which dates, whether to compare with the previous period, which channels and which countries. Every KPI card, chart, table and dashboard below reads that one configuration, so two numbers on the same page can never be about different things.

  • Apps. One, several, or all. Apps in different currencies are converted into the first app's currency at the rate of the day each figure happened (see Currencies).
  • Dates. A trailing window or a custom range, on your own calendar (Settings → Notifications → Time zone).
  • Compare. Adds the previous period of the same length to every card, chart and table.
  • Channel and country. Any number of values, as an *include* or an *exclude* list.

The scope is remembered between visits. A campaign row in the table can be drilled into (its ad sets, then its ads); a drill is a question about one campaign and is not remembered.

Overview

  • KPI cards. Pick which metrics show; click one to chart it. A ratio with nothing to divide by (ROAS with no spend, AOV with no sales) says so in words rather than printing a zero it has not earned.
  • Trend. The selected KPI by hour, day or week, with the previous period dashed when comparing.
  • Performance summary. Top or bottom 5 / 10 on any dimension and metric, ranked.
  • Performance table. Every row in the scope on the dimension you pick: channel, campaign, ad set, ad, app, country, OS, revenue source or product. Choose the KPI columns, sort any column, download it as CSV. Each row carries its ad platform's logo and, on the App dimension, the app's store icon.
  • Raw export. The installs, sessions, clicks, events or purchases *under* the numbers, in the same scope, as CSV.

Reported ROAS is ad ROAS: attributed revenue ÷ ad spend. Blended ROAS (all revenue ÷ ad spend) rides alongside and is always larger by exactly the unattributed bucket; it is never the headline.

Saved views

Views, beside Refresh, saves the report the way you have it: apps, window, comparison, filters, dimension, KPI cards, chart metric, columns and sort, under a name. Views are shared with the workspace, so *"UA weekly · India · by campaign"* opens the same for everyone on the team. Reopen one from the same menu, overwrite it with what is on screen, or delete it.

Custom reports

Custom reports, in the sidebar, is the same report every other page is a lens on — Overview, User Acquisition and Monetization are each this page with a metric, dimension and set of columns already chosen for you. Custom reports opens it with nothing chosen, so you pick the metric, the dimension (channel, campaign, app, country, OS, revenue source, product…), the KPI cards and the table columns yourself, for a question none of the fixed pages happens to answer.

It isn't a separate page builder underneath: because it's the exact same report component, a custom view saves and reopens through the same Views menu described above, with everything a saved view already carries — apps, window, comparison, filters, dimension, KPI cards, columns and sort — and the same sharing rule, so a custom report is just as visible to the rest of the workspace as a saved Overview view.

The dashboards

The same scope, seen through a different lens on each page.

PageWhat it answers
User AcquisitionInstalls, what each cost, and how confidently each was tied to an ad: evidence first, guesses named as guesses. Match methods, attribution health per app.
Apple Search AdsFor iOS apps: Apple's spend, taps and installs per campaign, ad group, keyword and ad, beside the installs and revenue our own attribution credits to each. Apple's search terms sit beside them with Apple's figures only. Spend no keyword accounts for has its own row, so every level adds up to the same spend. With several iOS apps in scope, an Apps level gives one row per app. Columns can be shown, hidden and reordered, and ROAS can be read as a multiple or a percentage.
MonetizationWhat the people you acquired paid, verified by the store: gross, refunds and net; revenue by source; trials started and converted.
CohortsInstalls grouped by week or day and followed forward: retention on D1…D30 and cumulative revenue per install, with eCPI and the payback day. A cell too young to know is blank; a cohort whose builds never sent sessions says *no data*, never 0%.
SKAdNetworkApple's aggregate postbacks for iOS apps, reported beside attributed revenue and never inside it.
ProtectionWhat was refused, what was flagged, and whether beacons are signed, so a number on the other pages can be defended.

Alerts

Two kinds of alert, on two switches under Settings → Notifications.

Pipeline health is ours to watch: a snippet quiet for more than 7 days, spend sync stale by more than 26 hours, Stripe events arriving unsigned, conversions failing to push back to a platform. These are detected hourly, emailed to the owner, re-sent every three days while they last, and clear themselves when the source recovers.

Metric alerts are yours to write, on the Alerts page: a metric, a condition (*above*, *below*, *rises by N%*, *drops by N%*), a threshold, and what to check it on (the whole scope, or every app, channel or campaign separately) over the last 1, 7 or 30 closed days. Start from a template (spend with no installs, eCPI above, ROAS below, revenue drop, install spike, attribution rate low) or write your own.

  • Closed days only. A day still in progress reads low on every count, so an alert is never fired from a morning that is still filling in. Rules are checked once a day, after the spend sync has restated yesterday.
  • Test before you trust. *Test* evaluates a rule now against the same report the Overview shows and lists the rows that would fire, without recording or sending anything.
  • One incident, one email. A row over the line is emailed once, re-sent every three days while it holds, and cleared the first day it does not. The history on the Alerts page is how you tell whether the threshold is right.
  • Ignore small rows. A minimum spend keeps a campaign that spent 40 cents from tripping an eCPI rule.

Open alerts of both kinds also show under the bell in the top bar.

Connections

The Connections page never shows a stored "connected" flag. Every status is derived from data actually arriving, so a source that quietly stopped reports attention instead of a reassuring green tick. The pipeline section shows each stage and the background jobs behind it, with their last real run, including runs that crashed or did nothing.