BACK TO BLOG
USE CASESNovember 11, 20269 min read

EComposer With Causality Engine: What the Revenue Tile Measures

JH

By Joris van Huët

Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs

Published

2026-11-11

The short answer: a campaign landing page shows a healthy Revenue figure in EComposer, Meta Ads Manager claims most of the same sales for the ad that pointed there, and the store's month still comes in lower than the claims added together. EComposer, a Shopify builder for landing pages, templates and theme sections, reports Sessions, Visitors, Revenue and an average conversion rate for each page, and its Page Analytics article defines Revenue only as "total revenue generated from the page", with no rule for which orders count. Treat the tile as a page signal. For which channel sent the buyers, Causality Engine, which reads a GA4 export and estimates what each channel caused, gives 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.

What to settle before the Revenue tile decides anything:

  • Do not add the tiles up. For example, two campaign pages showing $6,200 each give $12,400 only if no order touched both; the article does not say whether one order can count on two pages, so read $12,400 as a ceiling.
  • Read the panels you already have. Page Analytics lists Traffic Sources (Direct, Facebook, Google, YouTube, Instagram) and Sessions by Landing Page for each page, per the analytics article.
  • Check the GA4 side first. The A/B testing article makes connecting Google Analytics 4 step one before any test, so the store's GA4 property has to be sound before either tool can be read.

How EComposer credits a page

Page Analytics is switched on under Analytics, Enable, and the article notes that enabling it means agreeing to EComposer's privacy policy and terms for the data it collects. It then reports, per page or across all pages:

  • Revenue: "total revenue generated from the page".
  • Avg conversion rate: the percentage of visitors "who completed a conversion action".
  • A funnel from Visitors to Added to cart, Reached checkout and Conversions.
  • Tracking & Events: hits and conversion rate for any button or form given a Tracking ID in the editor.

All four come from the Page Analytics article, read on 11 November 2026. What it leaves out matters as much: no session rule, no window, no word on whether an order counts for the page a shopper landed on, the page where the cart filled, or every page in the visit. The feature comes with Standard, $25 a month billed monthly or $19 billed yearly (pricing, checked on 11 November 2026).

A/B testing starts at Pro, $49 a month billed monthly or $39 billed yearly, one test at a time; Premium runs them without a cap (pricing, checked on 11 November 2026). Setup has three prerequisites: connect GA4 so EComposer can pull data from it, enable the Shopify Pixel, and embed the app in the theme (A/B testing article). A test compares pages, URLs or templates, splits traffic by a percentage you set, and shows each version's Visitors, Conversions, Conversion Rate and Revenue, with a funnel and purchases per day. The article promises you can "publish the winning version with confidence". It documents no confidence threshold and no minimum sample.

One setting changes what those results mean. Visitor Behavior offers One time only, where each visitor keeps the version first assigned, and Every visit, where the version can change on each return. Under Every visit, a buyer who saw both versions before ordering belongs to neither cleanly.

EComposer beside the read

EComposerCausality Engine
What it isShopify page, template and section builder (entry)A causal read of a GA4 Attribution paths file (entry)
Links it tagsNone; it hosts pages and sends no traffic of its own (entry)None, and no pixel (how it works)
What it reportsPer-page Sessions, Visitors, Revenue and conversion rate, rule unstated (Page Analytics)What each channel caused, beside its last-click credit, graded 0 to 100 for data health (how it works)
How a test endsPer-version results; no documented threshold (A/B article)A next step to raise, cut or hold, tested in one region (how it works)
GA4 channelSet by the visit's own source and medium, page unchanged (channel rules)Reads every channel the export holds (integrations)
IntegrationNoneNone (integrations)
To try it7-day trial on paid plans, no card (pricing, checked on 11 November 2026)Free first finding, then €99 per read excluding VAT (pricing, checked on 11 November 2026)

What an EComposer page does to the GA4 record

Nothing at the channel level. An EComposer page is a page of the Shopify store, so GA4 measures it with whatever tag the store already runs, and the visit carries the source and medium it arrived with. Google files a Meta ad click under Paid Social only when the source is a social site and the medium matches a paid pattern such as cpc or "paid", and anything that matches no rule lands in Unassigned (default channel group). A builder cannot fix a mistagged ad.

The A/B help article read on 11 November 2026 describes data flowing from GA4 into EComposer, not the assigned version flowing into GA4. A template test also serves both versions under one product address. So the GA4 export Causality Engine reads names channels and landing pages, never versions. A channel-level read cannot see a test variant, and this page will not pretend it can.

Worked example: a landing page, a test and a month of claims

For example, with numbers made up to show the arithmetic and drawn from no store: a 30-day promotion sends Meta traffic to an EComposer landing page and runs a One time only test on it, split 50/50.

FigureAmount
EComposer Revenue tile, landing page$18,420
Test, Original: 71 conversions from 2,940 visitors71 ÷ 2,940 = 2.41%
Test, Variant: 83 conversions from 2,910 visitors83 ÷ 2,910 = 2.85%
Meta Ads Manager claims$54,800
Google Ads claims$39,900
Klaviyo claims$21,600
GA4, Direct row$17,250
Shopify, net sales$96,300

The three platforms claim 54,800 + 39,900 + 21,600 = $116,300, which is 116,300 - 96,300 = $20,000 more than the store took. The landing page's $18,420 is not a fourth claim on top: Meta's ads sent people there, so most of it sits inside Meta's $54,800 already. And the test's difference is 83 - 71 = 12 conversions, a page result that no channel report will ever show.

Causality Engine reads only the channel rows. Per its how-it-works page, it splits the $17,250 under Direct back to the channels that sent those buyers, sets each channel's caused share against a last-click rebuild, and attaches a data-health score from 0 to 100 and a next step. If Meta's caused share comes in well under its claim, the landing page can still be a good page; the question becomes how much Meta budget it deserves, settled with a one-region test before spend moves.

The free check, with a stopping rule written first

The test EComposer sells is the right instrument; it just needs the rule its article leaves out. Before launch, write down the end date and a floor: for example, 21 days and at least 100 conversions per version, whichever comes later. Use One time only. At the end, compare conversion rates by hand: 2.85% against 2.41% is a relative lift of (2.85 - 2.41) ÷ 2.41 = 18%, for example, and at 71 and 83 conversions that is still too few to call. A store without Pro can run a by-hand before-and-after with the same floor, knowing that a sale or an ad change inside either window spoils it.

For the channel question, the GA4 Attribution paths export goes on the start page, where the first finding is computed in your browser and costs nothing. Causality Engine, which I founded, charges €99 once, excluding VAT, for the full read, with a refund inside 30 days (pricing, checked on 11 November 2026).

Where the read cannot help

  • Thin history. It reads 12 months of GA4 data or more (how it works), with key events taken from GA4's Advertising section (one-off read).
  • Small channels. Under 1% of credit on both methods, a channel is called too small to act on (how it works).
  • Anything on the page. Sections, button Tracking IDs, popups and upsell funnels are EComposer's ground.

Pro sells A/B testing one test at a time, and the article that explains it gives no point at which a test is done. A test with no stopping rule tends to end when someone sees a version ahead, which frees the single slot for the next test and keeps the feature busy; waiting for enough conversions serves the store instead. Written rules decide which of the two happens.

See also

FAQ

Does EComposer send data to Causality Engine?

No, there is no link between them. EComposer pulls from GA4 for its tests; Causality Engine reads a file exported from that same GA4 property (integrations). The property is the only thing they share.

Is EComposer's page revenue the same as Shopify's sales?

No. It is revenue tied to visits on one page, by a rule the analytics article does not spell out, while Shopify counts every order in the store.

Which Visitor Behavior setting should a test use?

My recommendation: One time only, so each visitor stays in one version and every conversion has one owner, as the A/B testing article describes the option.

TAGS
Causality EngineEComposerLanding Page AttributionGA4Worked Example

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.

Agentic marketing, built for your team

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.