Every screen under Analytics is built the same way. A date range and a grouping at the top, a row of counters, charts for a few of them, one breakdown card, and a footnote. Only the measures change from screen to screen; the controls do not.
This article is about those shared parts: what the three controls really do, and how to tell "nothing happened" from "something went wrong" — which is the difference between widening your range and raising a ticket.
For which screen answers which question, see Analytics and Reports — which is which.
The range and the grouping

The date picker holds calendar dates, not moments. That is deliberate: days, weeks and months are cut in the account's reporting timezone, so two administrators in two countries asking for the same dates get the same totals. The timezone in use is printed at the end of the control row — Grouped in UTC when no reporting timezone is set for the account. New screens open on the last 30 days, grouped by day.
The Day / Week / Month tabs decide how the range is sliced for the charts. Each grouping has a ceiling on how many slices it will draw:
| Grouping | Most slices | Which is about |
|---|---|---|
| Day | 366 | a year |
| Week | 104 | two years |
| Month | 60 | five years |
A grouping that would exceed its ceiling is not offered. Pick a range longer than a year and the Day tab disappears; if the grouping you were on has gone, the screen moves you to the widest one still available and reloads. That is why asking for three years of history lands you on Month rather than on an error.
The breakdown card
Under the charts, one card answers "where does the volume sit". It is called Where the volume sits, and its tabs are the dimensions this screen can group by. Picking a different tab reloads the card.
| Screen | Dimensions |
|---|---|
| Overview | Inbox, Channel, Team, Agent |
| WhatsApp delivery | Template, Inbox, Refusal |
| Campaigns | Campaign, Audience used, Refusal code, Skip reason |
| Automations | Rule, Reason declined, Outcome |
| Flows | Flow, Outcome, Error, End reason |
| Commerce | Platform, Store, Currency, Action, Refusal |
| Support cases | Priority, Category, Status, Team, Assignee |
The Support cases screen only appears if support cases are enabled for your account.
Four things about how the card reads:
- Rows are ordered largest first, each with its count and its share of the card's own total — the total of every row in the breakdown, including the ones below the cut.
- Only the top 8 rows are drawn. Below them, and 12 more tells you how much you are not seeing. There is no way to expand it, so with a long tail the visible shares add up to less than 100.
- The card's total is not always the counter above it. A breakdown counts only what carries the dimension: group the Overview by team and conversations with no team are simply not in the card, so its total is lower than Conversations started. The same goes for grouping by agent.
- Not recorded is a real row, not a rendering fault. A WhatsApp send that failed with no reason from Meta, or a skip with no reason recorded, is a genuine event with a genuine count and nothing to label it. A large Not recorded share is usually the most interesting row on the card.
The grey banner, and what it is not

When a screen has nothing to show, it says so in a grey banner above the counters — No campaign addressed anyone in this period. Pick a wider date range to see more.
That banner has a precise meaning. It appears only when the request succeeded, no part of the answer was withheld, every counter is zero or blank, every chart point is zero, and the breakdown has no rows. Nothing happened, and nothing broke.
So:
| What you see | What it means | What to do |
|---|---|---|
| Grey banner | the period is genuinely empty | widen the range, or check you are on the right screen |
| Red banner | the request was refused or failed | read the sentence; if it is the generic one, raise it |
| Neither, and zeros everywhere | something on the screen is not zero | see below |
Why zeros do not always get a banner
Two ordinary situations suppress it, and both are correct.
A current reading is not zero. Tiles like Open right now, Running now and Overdue right now ignore your date range — they are read at the moment the page loads. One open conversation is enough to make the Overview screen non-empty even if nothing at all happened in the period you picked.
The screen is carrying a note. When part of the answer is qualified — immediate automation rules recording nothing, episodes older than 30 days having been purged, open cases with no SLA policy — the screen shows that note in an amber box and the grey banner stays away. A screen that is both qualified and empty tells you about the qualification, because that is the more useful of the two facts.
The footnote
Under everything, in small type, two lines that make the rest of the screen checkable:
- 1 September to 30 September, grouped by Day, in Asia/Kuwait. The range the server actually used, not the one you think you picked.
- Computed from source records or Served from daily rollups, followed by why. rollup totals did not match the source records, so the source records were used is the one to notice: the screen caught its own pre-computed totals disagreeing with the events and fell back to the events.
When the screen refuses
A request the server cannot make sense of is refused outright, and the reason is printed in the red banner in plain words rather than hidden.
| What was asked for | What comes back |
|---|---|
| a start date later than the end date | since (2026-03-01) cannot be later than until (2026-02-01). |
a date that is not YYYY-MM-DD |
until must be a date in YYYY-MM-DD form, got '01/02/2026'. |
| a grouping other than day, week or month | group_by 'hour' is not supported. Allowed: day, week, month. |
| more slices than the grouping allows | That range is 500 day buckets, above the maximum of 366. Narrow the range or group by a longer period. |
| no dates at all | since is required and must be a date in YYYY-MM-DD form. |
The controls are built so you cannot normally produce any of these: the picker will not hand you an inverted range, and a grouping that would break its ceiling is never offered. You meet these messages when something else is making the request — a saved link with dates edited by hand, or your own call to the API.
Anything else fails with This report could not be loaded. Try again, and if it keeps failing contact support. That sentence means the screen had no reason to show you, which is itself worth reporting.
Who can see this
Administrators. Analytics is account-wide and follows the same permission as Reports, which is administrator-only on the server.
A custom role carrying the Reports permission is a known trap: the Analytics entries appear in that person's sidebar and the screens open, but every panel comes back with This report could not be loaded. Give them administrator access or accept that Analytics is not available to them. See roles and permissions.
Limits
- One breakdown at a time. You cannot cross two dimensions — there is no inbox-by-agent view.
- The card shows eight rows. A long tail is counted in the total but not listed, and cannot be opened.
- The breakdown is not exportable, and neither is the rest of an Analytics screen. For downloadable tables see Reports.
- Counts are account-wide, not scoped to what you personally can see.
- Shares are rounded, and they are shares of the whole card, so the eight visible rows rarely add to 100.
Related
- Analytics and Reports — which is which
- Analytics overview
- WhatsApp delivery
- Campaign performance
- Automation and flow analytics
- Commerce analytics
- Support case analytics
- Reports
If it does not work
Every number is zero but there is no grey banner. Something on the screen is not zero — almost always a current reading such as Open right now — or the screen is carrying an amber note. Both suppress the banner.
The Day tab has gone. Your range is longer than 366 days. Shorten it, or read the chart by week or month.
Two people see different totals for the same dates. They should not: grouping is cut in the account's reporting timezone for everyone. Check the timezone printed in the control row and in the footnote — if one of you is reading Reports rather than Analytics, that is the difference.
The screen opens but nothing loads. If the red banner shows a sentence about dates or grouping, the request was malformed. If it shows the generic failure, check first whether you are an administrator.