Why the Total line of a Google Analytics 4 List widget is not the sum of its rows
Guidelines to read the Total line of a List, Multi-Column List or Pie widget, including why it can be higher or lower than the rows once you break a metric down by an attribution dimension.
In order to understand the Total line of your Google Analytics 4 widgets in DashThis, follow these guidelines when the Total does not match the sum of the rows.
- What the Total line shows
- Why the rows can add up to more than the Total line
- Why the rows can add up to less than the Total line
- Why the Total line differs from your Simple Number widget
- Which channel dimension to use
- Check your widget in GA4's Explore section
1. What the Total line shows
When you break a metric down by a dimension, DashThis pulls the rows and the total of that report together through Google's official GA4 Data API. The Total line is the total GA4 itself reports for your widget, not a sum DashThis calculates from the rows. DashThis only adds the rows up when GA4 returns no total at all.
- Counted once: GA4 counts each session and each user once in the total, even when it appears in several rows.
- Same as Explore: the Total line matches the Totals row of a GA4 exploration built with the same metric, dimension and period.
2. Why the rows can add up to more than the Total line
Attribution dimensions such as Default channel grouping, Source, Medium or Campaign describe the channel credited for a key event. A session with key events credited to two channels appears in both rows. This is expected GA4 behavior, not a DashThis calculation error.
- Sessions: a session listed under two channels is counted once in the Total line.
- Users: a user whose sessions came from two channels is listed under both and counted once.
- Key events: GA4 shares the credit for a key event between the channels that contributed to it, so the rows still add up to the Total line.
Here is a simple example: a Multi-Column List widget with Sessions, Key events and Total users by Default channel grouping, for one month.
| Default channel grouping | Sessions | Key events* | Total users |
|---|---|---|---|
| Organic Search | 6 | 6 | 5 |
| Paid Search | 4 | 3 | 4 |
| Direct | 2 | 2 | 2 |
| Sum of the rows | 12 | 11 | 11 |
| Total line | 10 | 11 | 9 |
Two sessions had key events credited to two channels, so they appear twice in the rows and once in the Total line. Two users came through two channels as well.
*With GA4's default data-driven model, the credit for a key event can be fractional, so your own widget may show decimals where this example shows whole numbers.
3. Why the rows can add up to less than the Total line
The Total line always covers the whole report, including rows your widget does not show.
- The 1,000 row limit: for dimensions that can hold a very large number of values (page paths, landing pages, event names, Source, Medium, Campaign, item names, cities and the like), DashThis asks GA4 for the first 1,000 rows only, in the sort order you selected. The remaining rows still appear in the Total line.
Dimensions with few values, such as Default channel grouping, are not capped. - The "(other)" row: when a dimension has more distinct values than GA4's reporting limit allows, GA4 aggregates the overflow into a single "(other)" row.
- Data thresholding: GA4 hides rows that could be used to identify an individual user, more aggressively when Google Signals is enabled. The Total line is not affected.
4. Why the Total line differs from your Simple Number widget
A Simple Number or Historic widget shows a metric for your whole property. A List widget shows that metric for the sessions its dimension describes. For most dimensions these are the same sessions, and both totals match.
- Attribution dimensions: Default channel grouping, Source, Medium, Source / medium, Source platform, Campaign, Campaign ID and the Google Ads dimensions only include the sessions that triggered a key event.
Say that property had 2,400 sessions that month: the widget above holds only 10 of them. The other 2,390 sessions had no key event, so they are in no row and not in the Total line. - Google Ads query dimensions: narrower still. Only the sessions that came from a Google Ads search and triggered a key event have a value. The Session and First user versions of the same dimensions are not limited to key events.
- Empty widgets: a widget with no rows for the period shows N/A on its Total line.
5. Which channel dimension to use
GA4 offers the same channel, source and campaign dimensions in three scopes. Pick the scope that matches the question you want your widget to answer.
- Session default channel grouping: every session, grouped by the channel that started it. Its Total line matches your Simple Number widget for Sessions.
- First user default channel grouping: every session, grouped by the channel that first brought the user to your site.
- Default channel grouping: only the sessions with a key event, grouped by the channel credited for it.
6. Check your widget in GA4's Explore section
As explained in How to compare my Google Analytics 4 results in DashThis, DashThis data lines up with GA4's Explore section, not the fixed standard reports.
- Open Explore: in GA4, open the Explore section and create a Blank form exploration.
- Match your widget: add the same metric and dimension. Default channel grouping is listed under Attribution, and Session default channel grouping under Traffic source.
- Match the period: select the same dates as your dashboard period, with no segment, filter or comparison.
- Compare the Totals row: it matches your Total line, unless one of the causes in section 3 applies. Prefer a period that ended at least two days ago, since GA4 is still processing recent data.
If none of these guidelines explain the difference you see, or you still end up with data discrepancies, you can contact us.