Whatagraph With Causality Engine: Check the Unified Purchases
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-11-11
The short answer: a Whatagraph report that shows one Purchases line for Meta and Google together is adding two platforms' claims, and a quarter-on-quarter chart crossing 12 January 2026 compares two different Meta rules under one name. Whatagraph, the agency reporting platform built on a cross-channel data layer, announced that Meta would stop returning 7-day and 28-day view-through data from 12 January 2026 and that it would switch affected widgets to 1-day view-through automatically (attribution window update). It reports what Meta returns. For a measure rooted in the buyer paths GA4 already stores, Causality Engine runs a free first finding 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.
Check these before the quarterly review:
- The arithmetic of the unified line. For example, 1,312 Meta purchases and 1,546 Google Ads conversions make 1,312 + 1,546 = 2,858 under one name. Set against 2,377 Shopify orders, that is 2,858 - 2,377 = 481 purchases the store never recorded.
- The ROAS recipe Whatagraph already wrote. Its help centre shows ROAS calculated as GA4 Purchase Revenue divided by ad cost, instead of the ad platform's conversion value (ROAS article). One custom formula puts a second ROAS beside the platform's.
- The date on the chart. Any Meta widget that ran on 7-day or 28-day view-through before 12 January 2026 now runs on 1-day view-through (attribution window update). Mark that day on every trend line.
Whatagraph and Causality Engine, side by side
| Whatagraph | Causality Engine | |
|---|---|---|
| In one line | Cross-channel reporting on one data layer, with IQ Agents (entry) | A per-channel causal read of the GA4 Attribution paths file (entry) |
| Meta conversions | As Meta returns them; window chosen in filters; unified setting can be switched off (incorrect data article) | Never an input (pricing for agents) |
| Putting platforms together | Unify names, formulas, source groups and blends (custom metrics article, source groups) | One caused share per channel, set next to last-click from the same file (how it works) |
| GA4 channels | Session-scoped or first-user dimensions to match GA4's reports; plain channel grouping is event-scoped (GA4 tables article) | The channels in the Attribution paths CSV, Direct split back (how it works) |
| Integration between them | None | None (integrations) |
| Cost of the check | Inside the plan, billed annually (pricing) | Free first finding; €99 per read, excluding VAT (pricing, checked on 11 November 2026) |
Meta's rule, and the January change
Whatagraph does not invent a conversion. When Facebook Ads numbers look wrong, its incorrect data article starts with the attribution settings: if campaigns use different windows, set "Use unified attribution setting" to No. It also notes that Ads Manager's Results column has no equivalent metric, because Results means different things for different campaigns; compare a named metric instead.
The bigger shift came from Meta. The attribution window update, dated 6 January 2026, says:
- 7-day and 28-day view-through windows stop returning data from 12 January 2026.
- Widgets and filters using them switch to 1-day view-through on their own, with nothing to update by hand.
- Window selection moves to one place in the filters, and incremental attribution was announced as a new option.
- Some metrics will fall, the same fall shows in Ads Manager, and no historical data is removed.
That last point is the trap. History keeps the old rule; new months carry the new one.
Unified names and source groups
Organize, Whatagraph's data layer, offers two rule types for custom metrics, per the custom metrics article. Unify names gives metrics from different channels one consistent name. Formula builds calculations between metrics. The KPI agent can set either up from a plain sentence such as "ROAS as revenue divided by spend".
A unified Purchases metric is tidy, and that is its risk: the client reads one name and assumes one count. Source groups aggregate metrics across accounts without formulas, which suits three Google Ads accounts for three countries. Across Meta and Google, the same aggregation adds claims.
Blends carry a separate risk that Whatagraph documents itself. Join two sources with different levels of detail, such as Meta spend by placement against Google spend by campaign and date, and the simpler side repeats once per extra row; the inflated numbers article calls this expected join behaviour. Inflation of that kind is fixable with Aggregate By. Overlapping claims are not, because each platform's row is correct by its own rule.
Which GA4 dimension the widget uses
GA4 adds one more choice. The GA4 tables article says Session Source / Medium matches the Traffic acquisition report and First User Source / Medium matches User acquisition, while the plain Default Channel Grouping and Source / Medium are event-scoped, "used for attribution and conversion path analysis". Event-scoped dimensions follow the property's reporting attribution model, per Google's attribution settings page. A widget built on one will not match a widget built on the other, and both are GA4's own figures.
Worked example: Q1 2026 against Q4 2025
For example, with numbers invented for the sums and tied to no real store: an agency's quarterly report for a cookware brand, in euros.
| Widget | Q4 2025 | Q1 2026 |
|---|---|---|
| Meta purchases (view-through window changed on 12 January) | 1,488 | 1,312 |
| Google Ads conversions, source group of 3 accounts | 1,470 | 1,546 |
| Unified Purchases | 2,958 | 2,858 |
| Shopify orders | 2,402 | 2,377 |
In Q1 the unified line runs 2,858 - 2,377 = 481 above the store. Meta's fall of 1,488 - 1,312 = 176 looks like a weaker quarter, but part of it is the new rule, and the chart cannot say which part.
Now the ROAS. Q1 spend was €27,900 on Meta and €33,300 on Google, €61,200 in all. The platforms' conversion values, €88,400 and €104,900, give (88,400 + 104,900) ÷ 61,200 = 193,300 ÷ 61,200 = 3.16. Whatagraph's own GA4 recipe, Purchase Revenue of €141,600 over the same cost, gives 141,600 ÷ 61,200 = 2.31. Shopify net sales of €159,880 give 159,880 ÷ 61,200 = 2.61.
Three ROAS figures, three questions. Causality Engine's how-it-works page describes what a read sets beside them: for each channel, the share it caused beside the credit last-click hands it, a data-health mark out of 100, and a next step framed as a test in one region. If the read and the platform figure part ways, run the regional test before the quarter's budget is set.
Free first: a second ROAS and a marked date
Whatagraph supports the first check directly. Following its ROAS article, build a Formula metric in Organize: GA4 Purchase Revenue divided by total ad cost, for the same campaigns and dates. Put it in a single-value widget next to the platform ROAS. Add a third: Shopify orders against the unified Purchases line.
Then put a text widget on every Meta trend chart that says the view-through window changed on 12 January 2026. The check costs nothing and stands on its own. A platform ROAS well above both the GA4 and the store figure tells the client the claims overlap; it still does not say which channel they would miss.
Where the pairing ends
Whatagraph switched every affected widget to 1-day view-through without a manual step, which keeps reports sending on schedule, the thing a yearly renewal rests on, and it also means a chart crossing 12 January 2026 compares two rules under one metric name with nothing on the chart to say so.
The read has limits of its own. It works per channel, so Meta's campaigns or the three Google Ads countries are not separated. Its input is a GA4 export covering a year or longer, and a channel left with under 1% of credit by both methods gets the label too small to act on (how it works). There is no Whatagraph connector: the integrations page describes reading whatever channels a GA4 export holds, and its pricing page for agents describes the read as a layer next to the dashboards, with nothing to migrate first.
When the second ROAS disagrees with the first, export the client's Attribution paths CSV and drop it on the start page; the first finding costs nothing and is calculated in the browser. Causality Engine, which I founded, sells the full read for a one-off €99 before VAT, refundable for 30 days (pricing, checked on 11 November 2026).
See also
- Whatagraph: plans, credits and the data layer
- How to use Whatagraph: blending Google Ads and Meta spend safely
- Whatagraph on the marketplace: Whatagraph's affiliate program terms
- Causality Engine: what the read measures and costs
- How to use Causality Engine: a GA4 export through to a budget test
- Causality Engine on the marketplace: affiliate terms as the owner sets them
- Whatagraph vs AgencyAnalytics: a data layer or a per-client portal
- How to run a quarterly attribution checkup: the review this report feeds
FAQ
Is Causality Engine one of Whatagraph's integrations?
No, and the two never exchange data. The read works from a CSV exported from GA4, so a Whatagraph report and a Causality Engine read of the same client can run side by side without either knowing about the other (integrations page).
Why did Meta purchases drop in my Whatagraph reports in January 2026?
Meta stopped returning 7-day and 28-day view-through data from 12 January 2026, and Whatagraph moved those widgets to 1-day view-through. The attribution window update says the same fall shows in Ads Manager.
Should a client report use a unified Purchases metric?
My recommendation: keep one line per platform and add the store's orders beneath them. A unified name invites the reader to treat the total as a count of orders, and the custom metrics article describes Unify names as giving metrics a consistent name, not removing overlap.
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.