You run Triple Whale, GA4 or Klaviyo beside us, and each of them can report by test group only if the group reaches it in a form it already reads. From today it can. Settings has a new page, Integrations, with two switches.
- Order tags
- Every order counted in a test is tagged with its test and group, and carries the details in a metafield.
- Analytics apps
- Each time a visitor is put in a test, an event says so — to Triple Pixel, the GTM data layer, Shopify customer events and the page itself.
Both are off by default, and only an admin can turn them on. The figures below use the app’s own code, so what they show is exactly what would land on your orders and in your apps.
Order tags
When an order is counted in a test, it gets two kinds of tag:
Zinx Signalon every tested order — “was this order in any test?”- One per test,
ZS: <test> | <group>— the one you filter on.
Shopify allows 40 characters in a tag, so long names are shortened, and a comma ends a tag, so commas are removed.
Try a long test name, or one with a comma in it.
Metafield zinx_signal.experiments
Fits as typed.
Filter a report on this tag, or on the part before the bar for the whole test.
↳ The test name gives way first
“Hero copy” and “Variant B” give ZS: Hero copy | Variant B, 25 characters, as typed. Type a test name of forty characters and the test name is cut with an ellipsis while the group stays whole — the group is the half that differs between two tags of the same test, so it is the half you need to read.
The full names, and stable ids for apps that need them, are in an order metafield, zinx_signal.experiments, labelled Zinx Signal tests in the Shopify admin. One entry per test; an order counted in a second test later has it added, not overwritten.
- New orders only. Nothing is backfilled.
- Names are frozen at order time. Renaming a test later does not change orders already tagged.
- Nothing of yours is removed. Tags are added; tags you or another app put on an order stay.
- One more permission. Writing tags needs Shopify to let us edit orders (
write_orders). It is asked for only when you switch Order tags on. Nothing is tagged until you approve it.
In Triple Whale
Tags and metafields are imported with the order. Filter any attribution or summary report by order tag contains ZS: Hero copy for the whole test, or compare ZS: Hero copy | Control against ZS: Hero copy | Variant B.
Analytics apps
The second switch sends an event, zinx_experiment_viewed, each time a visitor is exposed to a test. The same name and the same properties go to every channel: Triple Pixel, the GTM data layer (with GA4’s exp_variant_string), Shopify customer events, and a DOM event, zinx:experiment_viewed, for your own scripts.
- Switch
- Settings → Integrations → Order tags
- When
- When an order is counted in a test. New orders only.
- Read by
- Triple Whale, Shopify reports, Flow, Klaviyo segments
Tags added to the order
↳ Cart attributes are there regardless
The order tag channel shows "Zinx Signal" and "ZS: Hero copy | Variant B". Switch to Triple Pixel and the same test arrives as a custom event with eight properties, ids and names both. Cart attributes are the one channel with no switch: _zinx_grp and _zinx_vid are on every order we can attribute, because they are how attribution works.
In Triple Whale, define the event once, under Settings → Pixel Settings → Custom Events, to get its properties as columns. In GTM, trigger on the custom event zinx_experiment_viewed.
When it sends, and when it doesn’t
An event is sent once per visitor, per test, per session. Not on every page view, and not for anyone who is not really a shopper in a test.
- Triple Pixelzinx_experiment_viewed
- GTM data layerzinx_experiment_viewed
- Shopify customer eventszinx_experiment_viewed
- DOM eventzinx_experiment_viewed
Sent, once, to all four.
Same name and the same properties in every channel.
↳ The first rule that applies wins
Switched on, a first exposure goes to all four channels. Turn on any of the others — your own preview link, a crawler, a visitor who declined analytics, a repeat in the same session — and nothing is sent.
Same name, same fields, every channel — so a group means the same thing in every report.
What it costs
- Order tags: nothing on your storefront. Two Admin API calls per tested order, in the background.
- Analytics apps: about 1 KB, fetched once per visit, only on pages where a visitor is in a test.
How to start
- Open Settings, Integrations.
- Switch on Order tags, and approve the permission to edit orders when asked.
- Switch on Analytics apps, then define the custom event in Triple Whale or a trigger in GTM.
Headless stores get the data-layer and DOM events from the same script, and the SDK exposes the same groups. The guides on price tests and offer tests cover the rest of what changed this month.