What the GA4 Channel Share dataset counts, and why its email revenue differs from your campaign revenue
This dataset answers a simple question: how much did email contribute to sessions, transactions, and revenue? A GA4 Channel Share dataset sets the email channel beside your website totals, so you can see the share email earned in each. The figures are Google Analytics’ own, which is also why they don’t match your campaign revenue.
Where the data comes from
Section titled “Where the data comes from”SEINō collects two reports from every connected GA4 property, refreshed through the day: one filtered to Session default channel group = Email, and one with no filter. The unfiltered report gives the all-channel totals, the filtered one gives the email figures, and SEINō divides the second by the first for the shares. Nothing is recounted along the way, so every number is Google Analytics’ own, counted the way it attributes them.
The dataset appears once GA4 is connected to your workspace, and there is nothing to set up. Use it in dashboards, the data explorer, and target plans like any other dataset. The GA4 Channel Share dashboard is a live example.
Metrics
Section titled “Metrics”Every measure comes in three forms: the total for your whole site, the email-only figure, and email’s share of that total.
| Metric | What it counts |
|---|---|
| Whole site | |
| Total sessions | Visits to your site, all channels included |
| Total engaged sessions | Those visits GA4 counts as engaged |
| Total transactions | Purchases GA4 recorded |
| Total revenue | The money GA4 attached to those purchases |
| From email | |
| Email sessions | Visits GA4 placed in the Email channel group |
| Email engaged sessions | Those visits GA4 counts as engaged |
| Email transactions | Purchases from visits in the Email channel group |
| Email revenue | The money GA4 attached to those purchases |
| Email’s share | |
| Email sessions share | Email sessions divided by total sessions |
| Email engaged sessions share | Email engaged sessions over the total |
| Email transactions share | Email transactions over the total |
| Email revenue share | Email revenue over the total |
A share is recalculated from the two totals at whatever level you group by, so a monthly share is the month’s email revenue over the month’s total revenue, not the average of the daily shares.
Why GA4 Channel Share doesn’t match your campaign revenue
Section titled “Why GA4 Channel Share doesn’t match your campaign revenue”The most common question about this dataset is why its email revenue doesn’t match the Campaigns dataset in the data explorer. Both are right. GA4 decides whether a session came from email, and SEINō goes one step further to work out which email it came from. That extra step buys you numbers per campaign, and it drops everything it can’t match to a send.
| GA4 Channel Share | Campaigns dataset | |
|---|---|---|
| What it counts | Sessions GA4 counts as email | Sessions matched to an email you sent |
| Dated by | Event date | Send date or event date |
| Left out | Email GA4 counts as another channel | Sessions with no UTM match |
How campaign matching works
Section titled “How campaign matching works”The Campaigns dataset starts from the same GA4 data and matches it to your email platform’s sends. A session belongs to a campaign when every UTM parameter agrees and it happened on or after the send date. A parameter missing on both sides still agrees, so three UTM parameters instead of five is fine. Sends from a tool SEINō isn’t connected to never match, because SEINō never sees them.
Sessions SEINō can’t match to a send
Section titled “Sessions SEINō can’t match to a send”What happens to these depends on your workspace, and it decides whether you can measure the gap yourself. Open the data explorer on the Campaigns dataset and look for a GA4-ESP match dimension: if it’s there, you’re on the regular version. SEINō is moving every workspace over to it.
Your campaign data also keeps the sessions that match no send. The GA4-ESP match dimension tells you which is which: true when SEINō matched the session to an email, false when it didn’t. Filter on false to see the revenue no campaign can claim, which is much of the gap with this dataset. These sessions have no campaign name, so a report grouped by campaign shows them in a blank row.
Each campaign still earns exactly what it earned before your workspace moved over. What changes is the total: it now includes the revenue no campaign can claim, so a figure covering all campaigns is higher than the same figure was on the legacy version.
Only sessions that match a send reach your campaign data. The rest are left out, so campaign reports show the matched part and nothing else. To see how big the gap is, compare a campaign total with the email revenue in this dataset.
Why is email revenue here higher than in my campaign reports?
The email channel catches revenue no campaign can claim: traffic GA4 counts as email whose UTM parameters match none of your sends. Sends from a tool SEINō isn’t connected to land here too. Whether that revenue also appears in your campaign data depends on your workspace. See why GA4 Channel Share doesn’t match your campaign revenue.
Which number should I use?
Use this dataset for the channel’s contribution to the business, and for any figure that has to line up with GA4. Use campaign revenue to judge a send, a template, or an A/B test. Reporting one number against the other in the same chart compares two different measurements.
Why doesn’t this match what I see in GA4 itself?
It depends on what you filtered. This dataset uses Session default channel group, which covers every email tool together. A GA4 report filtered by Session source picks out one of them. Check the date range too: this dataset uses event date, so the period has to match exactly.
A campaign shows no revenue at all. Why?
Its UTM parameters didn’t match anything GA4 recorded. An email sent without UTM parameters can’t be matched at all, because the parameters are the only thing tying a session back to a send.