Why are my orders not linked to visits?
Orders arrive in Varly, but Click impact, tests or order filters show few or none. Here's what to check.
In this article
Varly uses two kinds of orders. Every order that arrives counts in the order total on Install → 5. Connect your orders. Only orders that are linked to a visit count in Click impact, A/B tests and the order filters in Heatmaps and Recordings. See Orders and revenue for how linking works.
Start here
Open Install and look at the top of 5. Connect your orders.
- "No orders received yet." Orders don't reach Varly. See Orders don't arrive at all below.
- "… orders in the last 30 days. Last order …" Orders arrive. See Orders arrive, but aren't linked below.
Orders don't arrive at all
On Shopify
Check these in order:
- The signing key is saved. Under Install → 5. Connect your orders, Webhook signing key should say Connected with the key ending in …. If not, paste the key from Shopify and click Connect Shopify.
- The key is the right one. Compare the last characters with the key Shopify shows below your list of webhooks ("Your webhooks will be signed with …"). If they differ, paste the Shopify key and click Replace key.
- The webhook is set up correctly. In Shopify, under Settings → Notifications → Webhooks, the event is Order creation, the format is JSON, and the URL is exactly the address from Install → 5. Connect your orders, for the right site.
- A new, real order was placed. Varly only receives orders placed after you connected. Older orders are not imported. Orders that were already canceled when they were created are skipped, and so are test orders placed in Shopify's test mode.
Step-by-step setup: Connect Shopify orders.
With the order API
Ask your developer what Varly answers to their requests:
- 401, "Invalid site or API key": the key is wrong, was replaced with Create new API key, or was revoked. Or the address belongs to another site.
- 400 with an error message: the message says what is wrong, for example a missing
order_idor acurrencythat isn't a three-letter code. If one order in a batch is wrong, the whole batch is refused. - 413, "The request is larger than 1 MB": the request is too large. Send fewer orders per request.
Under Other shops: send orders from your server (API), the card should show Active key ending in …. If it says No API key yet, an owner needs to create one. See Send orders with the order API.
Orders arrive, but aren't linked
These are the common causes, roughly from most to least frequent.
The visitor declined cookies
Varly only measures visitors who accepted cookies in your cookie banner. A visitor who declined can still buy, but there's no visit to link the order to. This is expected, and it's usually the biggest reason. See Cookie consent.
You connected only recently
On Shopify, the snippet only adds the hidden visit values to carts once Shopify is connected. It starts within about a minute, from the next page a visitor opens. Visitors who were already in the checkout at that moment place their order without the values. Give it a day before you judge the numbers.
Tracking is off, or the snippet doesn't load
If tracking is off (check Install → 3. Turn tracking on), the snippet does nothing, so it can't link visits. The same happens on pages without the snippet, or when an ad blocker stops it. Check that the snippet is on every page of your theme, not only some. See Check that Varly is working.
The visit was excluded
Visits from IP addresses under Exclude IP addresses, from browsers where someone opened the exclude link, and pages under Never track these pages are not measured. Orders from those visits arrive without a link. This often affects your own test orders.
The order didn't come from your online store (Shopify)
The hidden values are added through the cart of your Shopify storefront. Orders without a website visit, such as orders created in the Shopify admin, can't carry them. The same goes for storefronts that don't run on a standard Shopify theme, because the snippet only adds the values when it recognizes a Shopify store page.
The IDs are missing (order API)
With the order API, linking only works if your developer sends visitor_id and session_id from Varly.ids(). Common mistakes:
- The IDs are read on the checkout page. The snippet doesn't run there, so
Varly.ids()returnsnull. Read them earlier, for example when a product is added to the cart on a product page, and save them with the order. The cart page itself is on Never track these pages by default, so the IDs arenullthere too. - The IDs are read before the visitor accepted cookies, so they're empty.
- The IDs aren't passed on from the website to the server that sends the order.
See the developer section in Send orders with the order API.
Linked, but still missing in a test or Click impact
Sometimes an order is linked, but doesn't show up where you expect:
- A/B tests count a visitor as converted when they placed an order after they first saw the test. Orders from before that moment don't count. A visitor who buys twice counts once.
- Another device or browser. Varly recognizes visitors per browser. Someone who sees the test on their phone and buys on their laptop shows up as two different visitors.
- Click impact links an order to the session in which it was placed. If a visitor looked at the page yesterday and bought today in a new visit, the order counts for today's session, not for yesterday's clicks.
- The period. Click impact and the filters only look at the period you selected. Widen it if you have few orders.
The test page shows No orders are linked to this test yet, so Varly can't pick a winner as long as no visitor in the test has a linked order.
Still not working?
Place a test order yourself in a normal browser window, from a network that isn't under Exclude IP addresses and in a browser where you didn't open the exclude link. Accept the cookies, add a product to the cart and complete the order. Within a minute, the order count at the top of Install → 5. Connect your orders should go up. If the total goes up but the order isn't linked, go through the causes above once more. For the gap between Varly and your shop's reports, see Why Varly's revenue differs from Shopify or GA4.
Still stuck? Email support@varly.ai and we'll help you out.
Related articles
- Orders and revenue: why connect your shopConnect your orders so Varly can show revenue per click and pick winners in your A/B tests.
- Connect Shopify ordersSend every new Shopify order, cancellation and refund to Varly with webhooks, in a few minutes and without installing an app.
- Send orders with the order APIConnect any shop to Varly by sending each order from your server with a secret API key.
- Why Varly's revenue differs from Shopify or GA4The reasons Varly's orders and revenue don't match your shop or Google Analytics exactly, and which ones matter.