ExactMetrics With Causality Engine: One Order, Six Counters
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-11-11
The short answer: one WooCommerce checkout, six places that record it. ExactMetrics, a WordPress plugin that sets up Google Analytics 4 and shows its reports in the admin, can also fire a Google Ads conversion tag and the Meta, Microsoft, TikTok and Pinterest pixels from a single settings screen, through its PPC Tracking addon on the Pro licence (PPC guide). Each of those platforms then counts the sale under its own window; Google Ads, for one, counts conversions for 30 days after a click unless you change it (Google Ads help). GA4 gets the same order once. Put GA4's Attribution paths export on the start page of Causality Engine, a tool that reads that one file and estimates what each channel caused, and the first finding costs nothing.
Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.
What to settle before the next spend review:
- Add the platform columns. For example, five ad accounts claiming 318, 279, 97, 41 and 23 purchases make 758, against 640 orders in WooCommerce. Paid media alone claims 118 more orders than the shop took.
- Keep the store's count as the anchor. WooCommerce holds every order and its status; it is the one ledger nobody grades.
- Know which tags the addon owns. Settings, Conversions, PPC Ads Pixel Tracking lists every ID it fires. Anything else on the site is a second count.
- Check with Google's tool, not by eye. The PPC guide sends you to Tag Assistant to see that each tag fires.
ExactMetrics and the read, field by field
| Field | ExactMetrics | Causality Engine |
|---|---|---|
| Category | GA4 plugin for WordPress, reports in the admin (entry) | Causal read of a GA4 export (entry) |
| Where the purchase goes | GA4 through the eCommerce addon; Google Ads, Meta, Microsoft, TikTok and Pinterest through PPC Tracking (PPC guide) | Nowhere; it reads a CSV (how it works) |
| Order rule | Processing or completed adds the order to GA4; a refund, cancellation or trash removes it (ExactMetrics guide) | Reads what GA4 kept |
| Credit rule | Each ad platform's own; GA4's in the eCommerce report's Top Conversion Sources (reports guide) | Caused share per channel next to last-click, with a 0 to 100 data-health score (how it works) |
| Integration | None between the two | None (integrations) |
| Cost | Pro, $199.50 for year one, normally $399.00 (pricing, checked on 11 November 2026) | First finding free; €99 per read, excluding VAT (pricing, checked on 11 November 2026) |
Five pixels behind one toggle
The PPC guide lists the prerequisites: Pro or higher, GA4 connected, and the older Ads addon switched off, since the two should not run together. The settings screen then takes a Google Ads conversion ID and label, a Meta pixel ID, a UET tag ID from Microsoft's Bing, a TikTok pixel ID and a Pinterest tag ID. Google Ads tracking works only with the eCommerce addon active.
ExactMetrics' Google Ads walkthrough sets the conversion action up as a Purchase, with a different value per conversion and Count set to Every. It also warns that an account set to build conversions from GA4 key events needs the "Use Google Ads only" link first. Skip that and Google Ads holds two definitions of the same sale.
The Enhanced Conversions guide adds a switch that sends hashed customer details alongside the Google Ads tag, so a conversion can be matched across devices or after cookies are cleared. It says the effect needs around 30 days to settle. Read that as: Google Ads' count will rise for a month after you turn it on, while WooCommerce does not move.
None of these counts reaches GA4. They live in each ad account, under that platform's rules.
The GA4 side: what gets a channel name
GA4 files a visit by its tags. Google's default channel group puts an auto-tagged Google Ads click on the Search network under Paid Search, and for other platforms wants a social or search source with a medium matching cpc, ppc, retargeting or paid. A tagged ad whose medium matches none of those rules is filed as Unassigned, Google's value for traffic no rule claims, and then the ad account and GA4 disagree before any model is involved.
ExactMetrics' own article on Facebook numbers explains part of the gap from its side: Facebook counts clicks, GA4 counts sessions, and the plugin leaves logged-in administrators and editors out of GA4. The article goes further and argues GA4 is the more accurate count. Treat that as the vendor's view; the useful part is the mechanics.
Worked example: 640 orders and 758 paid claims
For example, with numbers made up to show the sums and no shop behind them: a WooCommerce store books 640 orders in March. ExactMetrics fires every pixel listed above.
| Ledger | Purchases it reports |
|---|---|
| Google Ads | 318 |
| Meta | 279 |
| TikTok | 97 |
| 41 | |
| Microsoft Advertising | 23 |
| Sum of ad platforms | 758 |
| GA4, all channels | 602 |
| WooCommerce | 640 |
GA4's session channels split its 602 as Paid Search 171, Paid Social 104, Paid Video 22, Direct 158, Organic Search 97 and Email 50. Google Ads claims 318 ÷ 171 = 1.86 purchases for each one GA4 files under Paid Search. The five platforms together claim 758 - 640 = 118 more orders than were placed, and that is before organic search or email asks for anything.
None of this means a platform is lying. Each applies its own window to clicks, and some to views, inside its own account; Google Ads, for instance, keeps separate click-through and view-through windows (conversion windows). The sums show only that the columns cannot all be spent on.
The read uses only the 602 that GA4 kept. Per the how-it-works page, it splits the 158 under Direct back to the channels that sent them, rebuilds last-click from the same file, gives every channel a data-health score from 0 to 100 and a next step tested in one region. When its figure for Paid Social sits nearer 104 than 279, the next step is a one-region test, not a cut everywhere.
The free test before any read
ExactMetrics documents no holdout, so do it by hand. Take the smallest account, TikTok in this example. Pause its campaigns in one region for four weeks, leave them running elsewhere, and count WooCommerce orders by billing region on both sides. Then compare the difference with the 97 that TikTok claimed.
That test needs no purchase and answers one channel completely. When the question becomes all six counters at once, Causality Engine, which I founded, reads the GA4 export: the preview on the start page costs nothing and runs in your browser, and the full read is €99 once, with a refund inside 30 days (pricing, checked on 11 November 2026).
What the read leaves to the plugin
- It never sees the pixels. The ad platforms' 758 stay in their accounts; only GA4's channels enter the export.
- Channels, not campaigns. Which ad or which product page sold stays in ExactMetrics' reports and the ad accounts.
- Enough data. The start page asks for your purchase key event and 12 months or more. A channel under 1% of credit on both methods is called too small to act on (agents page).
The pixel setup is the part of this plugin that is hardest to leave. Five ad accounts' conversion counts come to rest on a Pro licence that, per the FAQ, renews by itself each year at the renewal price current at the time, and the year-one card is half the $399.00 that follows.
See also
- ExactMetrics: the plugin, its licences and its sibling
- How to use ExactMetrics: form leads into GA4 with the Forms addon
- ExactMetrics on the marketplace: ExactMetrics' affiliate program terms
- Causality Engine: the read, its prices and where it declines
- How to use Causality Engine: one export to one budget decision
- Causality Engine on the marketplace: the owner's own affiliate program, described
- ExactMetrics vs MonsterInsights: two brands from one company
- Blended ROAS calculator: spend against store revenue, not platform claims
FAQ
Does ExactMetrics feed its pixel data into Causality Engine?
No. Nothing passes between them. The read works from a file you download from GA4, where the ad platforms appear only as the channels GA4 assigned their visits (integrations page).
Why does Google Ads report more purchases than GA4's Paid Search row?
Google Ads counts a conversion within its click window, 30 days by default (Google Ads help), even when the buyer later returned through another channel. GA4's session row credits the visit that carried the purchase.
Should I turn on Enhanced Conversions?
My recommendation: note Google Ads' conversion count and WooCommerce orders for a month first, then switch it on. The guide expects around 30 days before its effect settles, so compare the two months, not the two days.
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.