EComposer With Causality Engine: What the Revenue Tile Measures
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
| EComposer | Causality Engine | |
|---|---|---|
| What it is | Shopify page, template and section builder (entry) | A causal read of a GA4 Attribution paths file (entry) |
| Links it tags | None; it hosts pages and sends no traffic of its own (entry) | None, and no pixel (how it works) |
| What it reports | Per-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 ends | Per-version results; no documented threshold (A/B article) | A next step to raise, cut or hold, tested in one region (how it works) |
| GA4 channel | Set by the visit's own source and medium, page unchanged (channel rules) | Reads every channel the export holds (integrations) |
| Integration | None | None (integrations) |
| To try it | 7-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.
| Figure | Amount |
|---|---|
| EComposer Revenue tile, landing page | $18,420 |
| Test, Original: 71 conversions from 2,940 visitors | 71 ÷ 2,940 = 2.41% |
| Test, Variant: 83 conversions from 2,910 visitors | 83 ÷ 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
- EComposer: publish limits, plans and complaints
- How to use EComposer: a post-purchase offer on the free plan
- EComposer on the marketplace: EComposer's affiliate program terms
- Causality Engine: the read, its price and its limits
- How to use Causality Engine: export, read and regional test
- Causality Engine on the marketplace: the owner's affiliate terms
- EComposer vs PageFly: two page counts, two testing tiers
- How to find what Direct traffic is hiding: the row both reports lean on
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.
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.