Why Varly's revenue differs from Shopify or GA4
The reasons Varly's orders and revenue don't match your shop or Google Analytics exactly, and which ones matter.
In this article
Different tools count in different ways. Your shop's admin is the source of truth for sales and bookkeeping. Varly uses orders for something else: to see which clicks, pages and test versions go together with sales. For that it doesn't need every order, but it does need to know which visit each order came from.
Only linked orders count in research and tests
Varly receives orders from your shop (see Orders and revenue). The order count at the top of Install → 5. Connect your orders includes every order that arrived. But Click impact, A/B tests and the order filters in Heatmaps and Recordings only use orders that are linked to a visit.
An order is not linked when:
- The visitor didn't accept cookies. Varly only measures visitors who said yes in your cookie banner. Someone who declined can still buy, but Varly doesn't know which visit it was. See Cookie consent.
- The snippet didn't run. Ad blockers, some privacy settings in browsers, or a page without the snippet can stop Varly from loading. Then there's no visit to link to.
- The visit was excluded. Visits from IP addresses under Exclude IP addresses, from browsers where you opened the exclude link, or on pages under Never track these pages are not measured.
- The link didn't reach the order. On Shopify, the visit is linked through hidden cart values. With the order API, your developer has to send
visitor_idandsession_id. See Orders are not linked to visits.
Because the same rules apply to every version of a test, a lower total doesn't favor one version over another.
Refunds and cancellations
Varly stores each order with its total, currency and number of items. Orders that are already canceled when they arrive are skipped, and so are Shopify test orders.
- On Shopify, with the Order cancellation and Refund create webhooks set up, a canceled order's revenue becomes 0 and a refund is taken off the order's revenue. Without those two webhooks, later cancellations and refunds don't change the order in Varly. See Connect Shopify orders.
- With the order API, your developer sends the order again with the new total. See Send orders with the order API.
A canceled or refunded order still counts as an order in conversion rates; only its revenue changes. Cancellations and refunds of orders from before you connected change nothing, because Varly never received those orders. This only affects revenue in Click impact: A/B tests don't use revenue.
Time zones and periods
Your shop and Google Analytics usually report per day in the time zone of your shop or property. Varly's periods, such as "last 30 days", are a rolling window that ends right now, and daily charts use UTC. So an order placed just after midnight can fall on a different day, or in or out of a period, depending on the tool.
The order time is the time the order was placed. For the order API, that's the created_at your developer sends, or the moment Varly received the order if it's missing.
Orders before you connected
Varly only receives orders placed after you connected your shop. It doesn't import older orders, so the first weeks will always show fewer orders than your shop.
Currencies
Varly uses the amount and currency of each order as your shop sends them, and doesn't convert between currencies. If your shop sells in more than one currency, Click impact shows revenue in the currency with the most orders on that page, and says how many orders in other currencies were left out of the revenue. Those orders still count in the conversion rates. In that case, compare conversion rates rather than revenue.
How Varly counts in tests and Click impact
These are different questions from "how much did we sell", so the numbers look different on purpose:
- A/B tests count visitors, not orders or revenue. A visitor counts as converted when they placed an order after they first saw the test during its live period, also if they had ordered before. A visitor who buys twice counts once. Revenue only appears in Click impact.
- A/B tests in GA4. If you also send your tests to Google Analytics 4, GA4 counts its own purchase events and has its own consent and processing rules, so its numbers per version differ from Varly's. Use Varly's results to pick the winner. See See your A/B tests in Google Analytics 4.
- Click impact looks at sessions. An order counts for every element that was clicked in that session, so you can't add up the revenue of all elements.
- Varly counts each order once, even if your shop sends it twice.
When to worry
A difference is expected. Look closer when:
- The order count at the top of Install → 5. Connect your orders is far below the number of orders in your shop for the same period. Then orders aren't arriving. Check Connect Shopify orders or Send orders with the order API.
- Orders arrive, but almost none show up in Click impact or tests. Then they aren't linked. See Orders are not linked to visits.
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.
- 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.
- Cookie consent: how Varly follows your cookie bannerWhich cookie banners Varly works with, how to pick yours, and what happens before a visitor says yes.
- See which clicks lead to ordersClick impact compares visitors who click an element with those who don't, by conversion rate and revenue.