Lucky Orange With Causality Engine: Read Visit Value by Source
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-11-11
The short answer: you filter Lucky Orange's recordings to utm_source=facebook, add up the order totals, and get a number nowhere near what Meta claims or what GA4 gives Paid Social. All three can be right. Lucky Orange, a heatmap, session recording and survey tool that sits on the site, sends no traffic and claims no sale for itself; since 31 March 2026 it shows the Shopify ordered total in the Visit Value column of the session where the order happened, per its 2026 product updates. That answers what a buyer did on the page. Which channel caused the buyer is a different question, and Causality Engine, a causal read of one GA4 export, answers it, with the 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.
What to settle before a recording argues for budget:
- Count what a quota hides. For example, a store with 9,400 sessions a month on Build's 3,500 (pricing, checked on 11 November 2026) is recorded for 3,500 / 9,400 = 37% of the month, because tracking stops at the limit until the next cycle (billing FAQ); a source filter on that account reads about a third of the orders.
- Use the filters already in the account. The Visitors table filters by Sources, Landing Page and UTM Source, Medium, Term and Campaign, per How to use filters.
- Check what Visit Value holds. It shows the Shopify order total only where no other Primary Conversion Event is set; otherwise it holds the fixed amount you assigned to that event (events guide).
Lucky Orange and the read, row by row
| Question | Lucky Orange | Causality Engine |
|---|---|---|
| What it is | Heatmaps, recordings, funnels, surveys and chat on the site (entry) | A causal read of the GA4 Attribution paths CSV (entry) |
| Traffic it sends | None; it reads the visit's referrer and UTM tags (filters) | None; no pixel, no SDK (how it works) |
| Its money figure | Visit Value: the Shopify ordered total, or your set value, on the session where it happened (2026 updates) | Each channel's caused share beside a last-click rebuild, with data health from 0 to 100 (how it works) |
| What reaches GA4 | Lucky Orange events you pick, as GA4 events (GA4 integration) | Reads GA4; writes nothing to it |
| Look-back | Storage, 60 days for most accounts (funnels guide) | 12 months of GA4 history or more (how it works) |
| Integration between them | None | None (integrations) |
| Price of the check | Build from $32 a month billed annually (pricing, checked on 11 November 2026) | Free first finding; €99 a read, excluding VAT (pricing, checked on 11 November 2026) |
How Lucky Orange puts money on a session
There is no attribution window to set, because Lucky Orange never claims a sale for a channel. It marks events. One event per site can be the Primary Conversion Event and any number can be Secondary, each with a monetary value; when one fires in a session, that value fills the Visit Value column, per the events guide. Without another primary event, a Shopify store's Visit Value carries the ordered total.
The Shopify app adds the checkout events itself. Outside Shopify Plus the recording goes blank inside checkout while the timeline still logs Checkout Started and Ordered, per Shopify's checkout page policy.
So the rule is the session. An order counts on the visit in which Ordered fired, and that visit carries the tags it arrived with. A shopper who clicked an ad on Tuesday and typed the address on Saturday shows as a Saturday visit with no UTM.
How Lucky Orange sorts visitors by source, and what it sends to GA4
Two of its own tools do the sorting. The UTM filter lists only parameters that have already received traffic, and the UTM article asks for consistent tags across ad sets. A ready-made AI Referrals segment catches visitors referred by ChatGPT, Gemini, Claude, Copilot and Perplexity (segments guide). GA4 has its own version: an AI Assistant channel for referrers on Google's list (default channel group). Two lists, so two counts.
The traffic reaches GA4 untouched, filed by its source and medium: Paid Social needs a social source and a medium such as cpc, ppc or one starting with "paid", per the same Google page.
What Lucky Orange adds to GA4 is events. Under Settings, Integrations, Google Analytics, an Account Owner or Admin switches on Send Lucky Orange Events to Google Analytics and picks events such as rage clicks or form abandonment; they appear under Reports, Engagement, Events with the names given in Lucky Orange, after a delay of 4 hours or more (GA4 integration). A rage click arrives in GA4 attached to whichever channel the session already had.
A worked example: four counts for one month of orders
For example, with figures invented for the arithmetic and no store behind them: Shopify books 1,480 orders in 30 days. Meta Ads Manager claims 702, Google Ads 488 and the email platform 365.
702 + 488 + 365 = 1,555 claimed orders, which is 1,555 - 1,480 = 75 more than the store booked, before organic search or direct say anything.
Lucky Orange, filtered to utm_source=facebook with the Ordered event, lists 214 sessions with an average Visit Value of $87, so 214 x 87 = $18,618 in order totals. GA4 gives Paid Social 251 purchases. Meta's 702 against Lucky Orange's 214 leaves 702 - 214 = 488 orders that Meta credits and that did not happen in a Facebook-tagged session Lucky Orange recorded.
None of the three says what Meta caused: 214 is a session count under a quota, 251 is GA4's own rule, and 702 follows the Meta account's attribution setting.
The read sets each channel's caused share next to its last-click figure from the same export, with a data-health score and a next step to raise, cut or hold, tested in one region first (how it works). If it disagrees with Meta, change spend in one region first. It will never say what those 214 buyers clicked; the recordings do.
The free check: reconcile one source by hand
Lucky Orange documents no holdout or control group, so the free check is by hand, and it measures disagreement rather than cause. Pick the last 30 days and one source. In Visitors, filter UTM Source to that source and Events to Ordered; count the sessions. In GA4, read the same channel's purchases for the same days. Then read the ad platform's claim.
Close counts mean tagging works and the channel sells in one visit. A platform figure several times the other two means it counts buyers who returned another way, and only a test settles that.
For the test across every channel at once, put the GA4 Attribution paths CSV on the start page: the first finding is worked out in your browser at no cost. Causality Engine, which I founded, charges €99 once for the full read, excluding VAT and refundable within 30 days (pricing, checked on 11 November 2026).
Where the pairing does not help
- No link between the products. Lucky Orange has no Causality Engine connector and Causality Engine reads no Lucky Orange data; it reads the channels the GA4 export holds (integrations).
- What the read needs. 12 months of GA4 history or more (how it works), and purchase as a key event, taken from GA4's Advertising section (one-off read). A channel under 1% of credit on both methods is called too small to act on (same how-it-works page).
- What only Lucky Orange answers. Which element frustrates, which form field repeats, what a survey respondent said. A channel read stops at the channel.
The short memory is a sale, not a flaw: Page Insights notes that extended date ranges may need more data storage, bought on the owner's Billing & Plan page (Page Insights), so every question longer than two months is billed as an upgrade, while the year of history a channel read needs already sits in GA4.
See also
- Lucky Orange: plans, session quotas and the billing complaints
- How to use Lucky Orange: one funnel, followed to the leaking step
- Lucky Orange's affiliate program terms: the referral offer on the marketplace
- AdAlign vs Lucky Orange: scoring the ad or watching the shopper
- Causality Engine: what the read covers and where it declines
- How to use Causality Engine: the export, the read, the regional test
- Causality Engine on the marketplace: its referral terms, the owner's own product
- What Direct traffic is hiding: the visits that lost their source
FAQ
Does Lucky Orange send anything to Causality Engine?
No. Causality Engine works from a CSV downloaded out of GA4, and Lucky Orange appears in it only as the events you chose to forward, never as a channel (integrations).
Why does Visit Value show a flat amount instead of the order total?
The Shopify ordered total appears only while no other Primary Conversion Event is set; once you pick another, Visit Value shows the amount you assigned to that event (2026 updates).
Should Lucky Orange events be forwarded to GA4?
My recommendation: forward a few, with a prefix such as lo_ as Lucky Orange's integration page suggests. They help build GA4 audiences, and they change no channel totals.
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.