Brevo With Causality Engine: Check the 48-Hour Revenue Rule
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-11-11
The short answer: if Brevo's Revenue tab hands email more of last week's orders than GA4 does, and the dashboards together exceed what the store booked, nothing is broken. Brevo is applying a rule: its eCommerce dashboard article attributes an order to Brevo when the buyer received any Brevo email, SMS or automation in the 48 hours before it. Received is enough; no open or click is asked for. Test it for nothing by holding a random tenth of a segment out of one campaign, then let Causality Engine read the GA4 export, first finding free at app.causalityengine.ai/start.
Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.
Brevo is a platform for email, SMS and WhatsApp campaigns that also carries a store's order mail. Causality Engine is an attribution tool that reads a store's GA4 export and estimates what each channel caused. No integration links them. The integrations page says the product reads every channel the GA4 export records, with no connector to wait for, so Brevo reaches it only as tagged clicks GA4 has already filed.
Before the Revenue tab reaches a budget meeting:
- Measure how much of the week the rule covers. For example, two campaigns a week open two 48-hour windows: 2 x 48 = 96 hours out of 168, so 96 ÷ 168 = 57% of the week is time in which a mailed contact's order lands under Brevo.
- Line up three figures you already hold. Brevo's Revenue tab, GA4's Email row under Paid and organic last click (Google's attribution help defines it), and the store's order export, same dates.
- Name the test that would settle it. One campaign with a random 10% held back, which Brevo's split lists make possible.
Brevo and the causal read, fact by fact
| Question | What the documentation says | Stated on |
|---|---|---|
| What Brevo is | Email, SMS, WhatsApp and transactional mail | Brevo entry |
| How it tags links | utm_source=brevo, utm_medium=email, utm_campaign from the message name | UTM article |
| What the store dashboard calls Brevo revenue | Any order within 48 hours of a received message | eCommerce dashboard article |
| What a conversion is credited to | Cooperative last-touch attribution; an email open or click in the 7 days before | Conversions article |
| Where the clicks sit in GA4 | Email, when source or medium reads email | Default channel group |
| What Causality Engine reads | GA4's Attribution paths export, 12 months or more | How it works |
| Integration between the two | None | Integrations |
| What the check costs | First finding free; full read €99 once, excluding VAT (checked on 11 November 2026) | Pricing |
Two rules, two totals: how Brevo counts an order as its own
The eCommerce dashboard. This rule feeds the Revenue tab of a campaign report, which the campaign report article shows only once the eCommerce dashboard is enabled. When an order arrives, Brevo looks back 48 hours. If the buyer was sent anything from Brevo in that time, the revenue is Brevo's, and the last message takes it all. The dashboard article names no setting that changes the 48 hours.
Conversions. A second system sits beside it, which the conversions article says is being released gradually. Its default model, Cooperative last-touch attribution, gives the whole conversion to the last eligible marketing activity before it. Email's default windows are 7 days after an open and 7 days after a click, edited under Settings, Marketing, Conversions on the Pro and Enterprise plans only.
One point stays open. Brevo's Mail Privacy Protection article includes machine opens in open metrics by default, and the conversions article does not say whether one qualifies as a touchpoint. Ask support before trusting an open-based conversion.
UTM tracking: how Brevo's clicks become GA4's Email channel
UTM tracking is something you activate. The UTM article puts it under Settings, UTM parameters, Activate UTM tracking. Three parameters then go on links in new campaigns, templates and automation messages: utm_source, default brevo; utm_medium, default email; utm_campaign, the message name. Existing messages need it set one by one.
That default medium is what GA4 needs. Google's default channel group files a session under Email when source or medium is email, e-mail, e_mail or e mail. Change utm_medium to newsletter and the Email rule no longer matches.
The same article warns that traffic from untagged links is not attributed to the Brevo message in Google Analytics, and that clicks will not equal sessions: Brevo counts the click, Google Analytics a page that loaded with consent and an unblocked tag.
A worked example: one week, three ledgers
For example, take a week with two campaigns. The figures are an illustration, not a store's books.
- Order export: 436 orders at an average of €63, so 436 x 63 = €27,468.
- Brevo's Revenue tab, 48-hour rule: 168 orders, 168 x 63 = €10,584.
- GA4's Email row, Paid and organic last click: 47 orders, 47 x 63 = €2,961.
- Meta Ads Manager claims 139 purchases and Google Ads 152 conversions.
Add the three sellers' claims: 168 + 139 + 152 = 459. The store booked 436. That is 459 - 436 = 23 orders more than exist, before organic search receives one. Between Brevo and GA4 alone the email gap is 168 - 47 = 121 orders, or 121 x 63 = €7,623. Neither figure is false. Brevo counted every mailed contact who bought within two days. GA4 counted buyers whose last tagged click came from an email.
No Causality Engine output is invented here. Its how-it-works page describes what a read sets beside those ledgers: each channel's caused share next to a last-click rebuild of the same file, a data-health score from 0 to 100, and a next step of raise, cut or hold. If it places Email far from Brevo's share, hold a segment out before the send calendar changes.
Where the pairing stops
The read has entry conditions. The start page asks for an export built on your purchase key event, covering 12 months or more. The home page says that when spend is too small for the model to find a signal, the product says so and declines. And its verdicts are per channel, so Email is one row. Only Brevo's campaign report can say which of two newsletters sold more.
Keep one structural fact in view. Brevo's pricing page sells plans by monthly email volume, and the dashboard default credits an order to whatever was sent in the two days before it, so every extra send widens the window that makes sending look profitable.
The free check first: a holdout Brevo can run
Brevo documents the pieces in its split-list article. Under CRM, Contacts, Segments, choose Split into lists and send a percentage of contacts at random into a new list. At send time, open Advanced options in the Recipients section and pick that list under Don't send to.
For example, a segment of 24,000 is split so that 2,400 are held out and 21,600 mailed, nine times as many. Fourteen days later the order export shows 497 orders from mailed contacts and 48 from held-out ones. Scale the held-out group up: 48 x 9 = 432 orders would have arrived with no email. The campaign caused 497 - 432 = 65. Set that beside the Revenue tab's claim for the same send.
That comparison costs nothing and stands on its own; Causality Engine's page for AI agents calls a holdout the anchor and its own read observational.
For the channel question, how much credit email deserves next to paid media, drop the Attribution paths CSV on the start page. The preview runs in the browser and shows the channels behind Direct. Causality Engine, which I founded, then runs the full read for €99 once, refundable within 30 days (pricing, checked on 11 November 2026).
See also
- Brevo: what the platform does and costs
- How to use Brevo: order emails and newsletters from one domain
- Brevo's affiliate program terms
- Causality Engine: the product and its limits
- How to use Causality Engine: the read, step by step
- Causality Engine's affiliate program terms
- How to export GA4 data for attribution: the file the read needs
FAQ
Can Causality Engine pull data from a Brevo account?
No. It has no connector to Brevo and asks for no login. The read works from the GA4 export, where Brevo's sends appear as Email sessions once UTM tracking is on.
Can I shorten Brevo's 48-hour revenue window?
The eCommerce dashboard article describes no setting for it. The separate conversion windows can be edited on the Pro and Enterprise plans.
Why does GA4 show fewer email visits than Brevo shows clicks?
Brevo records the click. Google Analytics records a session only when the page loads and its tag runs, per Brevo's UTM article.
ABOUT THE AUTHOR
I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.
I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.
The agents in this article, built into your workflows and handed over to your team: the first one within two weeks.
With Joris van Huët, interim and fractional CMO in Utrecht. From EUR 5,000 a month, monthly cycles, a 30-day exit.