Swipe Pages With Causality Engine: Who Gets the Sale After AMP
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-11-11
The short answer: TikTok says the campaign sold, the Swipe Pages dashboard shows a healthy conversion rate, and the Direct row in GA4 grew in the same week. All three are what you would expect when a fast mobile page sits between the ad and the checkout. Swipe Pages, the builder for AMP and standard landing pages aimed at paid mobile traffic, scores a page by form submissions and link clicks against a conversion goal (homepage), and bills visits above a plan's allowance at $5 per 5,000 (pricing, checked on 11 November 2026). Neither number reaches the order. GA4 can, if the page hands the visitor over cleanly, and then Causality Engine, which reads the store's GA4 export, can say what each channel caused. The first finding is free.
Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.
Three checks, in this order:
- The ratio of clicks to orders. For example, 1,083 tracked link clicks and 97 store orders from the same week is 1,083 ÷ 97 = 11.2 clicks per order. The click count is a page metric; keep it off the revenue slide.
- The field you already filled in. Settings, Tracking Codes, Google Analytics ID: if the store's measurement ID is there, GA4 is already watching the page (GA4 article).
- The domain the page lives on. A subdomain of the store keeps the visit in one session; a separate domain needs work in GA4 before the ad keeps its credit.
Swipe Pages and the read, side by side
| Point | Swipe Pages | Causality Engine |
|---|---|---|
| What it is | AMP and Smart landing pages, funnels and checkout (entry) | One causal read of a GA4 export (entry) |
| Its result | Conversions on goals: form submissions and link clicks (homepage) | What each channel caused, next to last-click (how it works) |
| UTM handling | Hidden form fields with Load from URL capture tags into leads (UTM article) | Reads the source and medium GA4 recorded |
| Orders on a Swipe checkout | Sent as addTransaction and addItem when a Google Analytics ID is set (order tracking) | Needs a purchase key event in GA4 (one-off read) |
| GA4 channel of the ad click | Paid Social when the source is a social site and the medium is a paid one such as cpc (Google's rules) | Any channel the file holds |
| Link between the two | None | None (integrations) |
| Price of checking | Analytics & Conversion Tracking is a row in the plan table (pricing) | First finding free; €99 a read, excluding VAT (pricing, checked on 11 November 2026) |
What the Analytics tab counts
The homepage describes the built-in analytics in one line: set conversion goals, track form submissions and link clicks, see how pages perform. A tap on the buy button counts the same as a lead form. Neither proves a payment.
Tests feed the same tab. In the Variants panel, Turn ON A/B test mode, then set Variant weights; at 65 and 35 out of 100 visitors, variant A is served to 65 (A/B article). Results appear in the Analytics tab. The article states no confidence level or rule for calling a winner, so the decision is yours.
When Swipe Pages runs the checkout itself, through Stripe, PayPal or Razorpay, the order tracking article says transaction details go to Google Analytics as addTransaction and addItem events, and tells you to switch on Ecommerce Settings in Admin. Those names belong to Universal Analytics, which stopped processing data on 1 July 2023 (Google's notice); GA4 records a sale as a purchase event (ecommerce events). The article does not say whether Swipe now sends a GA4 purchase. Place a test order and look for one before relying on it.
Handing the visitor to the store without losing the ad
An AMP page is built for speed, and the rules that make it fast also restrict scripts. The AMP article names no external JavaScript as one of AMP's restrictions, and the GTM article says a standard Google Tag Manager container will not work on an AMP page; it needs an AMP container. The GA4 article does not separate AMP from Smart pages. Open GA4's Realtime report while you visit the live AMP page and confirm the visit arrives.
Then the click out. Swipe documents capturing UTM tags into hidden form fields for leads, not passing them on to a button's destination. Which domain the page uses decides what follows:
- Page on a subdomain of the store, as the domain guide sets up with a prefix such as promo. Google does not count a referrer from the same domain or its subdomains as a new source (unwanted referrals), so with the same measurement ID on both, the visit keeps the ad's tags.
- Page on another root domain. GA4 sees a new user and a new session on the store unless both domains are listed under Configure your domains with one tag ID (cross-domain measurement). Otherwise the store files the arrival under Referral, a channel whose medium is referral (default channel group), and the ad loses the order.
The worked example: a TikTok week through an AMP page
For example, with every figure invented for the sums and no store behind them: a TikTok campaign sends buyers to an AMP page on go.example.com, which links to the product page on www.example.com. One week:
| Source | What it reports |
|---|---|
| Swipe Pages Analytics tab | 9,412 visits, 1,083 link-click conversions |
| TikTok Ads Manager | 132 purchases, by its own attribution setting |
| GA4, Paid Social, last click | 58 purchases |
| GA4, Direct | 41 purchases, against 17 in a normal week |
| Store orders from all sources | 640 |
The page's rate is 1,083 ÷ 9,412 = 11.5%. TikTok claims 132 - 58 = 74 more purchases than GA4 hands Paid Social. Direct is up 41 - 17 = 24 orders. One plausible reading: the AMP page's tag fired for some visits and not others, and buyers who came back by typing the address landed in Direct. Another: TikTok counted views and longer windows. The table cannot choose between them.
A causal read is built for that knot. Its how-it-works page says it splits Direct back to the channels that sent those buyers, then shows each channel's caused share beside last-click, rebuilt from the same file, with a data-health score from 0 to 100 and a next step to test in one region. If Paid Social comes out nearer 58 than 132, trim TikTok spend in one region first and watch store orders, not page clicks.
Where the read stops
There is no Swipe Pages connection on Causality Engine's side; its integrations page says it reads every channel the GA4 export records, with no connector to install. It sees TikTok as Paid Social, not the AMP page or the variant. It asks for 12 months or more of GA4 history and calls a channel under 1% of credit on both methods too small to act on (how it works). Visits with no tracked source come back as Unassigned, with advice to fix the tags first (pricing for agents). A checkout that never sends a GA4 purchase gives the read nothing to count.
Swipe Pages charges $5 for each 5,000 visits above the allowance (pricing, checked on 11 November 2026), and its Analytics tab counts a link click as a conversion, so both the bill and the success figure rise with every visitor sent to the page while neither waits for an order.
Free first: let the store do the counting
Before any paid read, run two TikTok ad groups with the same creative and budget for two weeks. Send one to the Swipe page and the other straight to the product page, and give them different utm_campaign values. Count orders per campaign in GA4, and check the totals against the store's order export. Swipe's own Variant weights can then split versions of the page, once the page itself has earned its place.
To read every channel at once, Causality Engine, which I founded, takes the GA4 Attribution paths CSV on its start page. The first finding is worked out in the browser; one full read is €99, refundable within 30 days (pricing, checked on 11 November 2026).
See also
- Swipe Pages: AMP pages, visit allowances and the complaints
- How to use Swipe Pages: a mobile page for a paid social ad
- Swipe Pages on the marketplace: Swipe Pages' affiliate program terms
- Causality Engine: the read, its prices and where it declines
- How to use Causality Engine: export to verdict, step by step
- Causality Engine on the marketplace: the affiliate terms, as the owner states them
- What Direct traffic is hiding: where unlabelled buyers come from
- Swipe Pages vs Unbounce: mobile speed against visitor routing
FAQ
Can Causality Engine pull data from Swipe Pages?
No, and it does not need to. It works from one GA4 file, in which a Swipe page's visitors appear under whichever channel their tags put them in (integrations).
Does the GA4 tag work on a Swipe AMP page?
Swipe's GA4 article gives one field for all pages and does not mention AMP; the GTM article says a standard container fails there. Confirm in GA4's Realtime report.
Do Swipe Pages buttons carry UTM tags to my store?
The help centre documents tags captured into hidden form fields with Load from URL (UTM article), not appended to button links. Keep the page on a store subdomain, or set up cross-domain measurement.
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.