Analytics discrepancies

The concept of analytics seems simple: how many times did a certain action take place? In reality, there are many factors, such as how different browsers define each action, the customer's privacy settings, and even the customer's internet connection, that can make reaching an accurate number difficult.

Discrepancies between Shopify and other software

You sometimes have different results between Shopify analytics and third-party tracking services such as Google Analytics.

There are many possible reasons for differences in tracking results:

  • Differences in how page reloads and unique visitors are counted. Google counts every page reload, but a browser doesn't count reloads of cached pages.
  • Differences in how sessions are defined. For example, some analytics software counts search bots as visitors, while other software doesn’t.
  • Google can only count visitors with JavaScript and cookies enabled. Some visitors might not allow cookies or JavaScript.
  • Customers can use browser extensions to block Google Analytics from tracking their sessions and purchases.
  • Discrepancies might be introduced because of different reporting time zones. Read about changing your Google time zone here.
  • It’s unlikely that identical tracking mechanisms are being used by each of the services, so your visitors aren't recorded equally. Details of recording mechanisms are proprietary information and are never shared.

Visitor and Customer number discrepancies

Some reports include a Visitors or Customers column to display how many unique people are connected to a particular action or trait. The total given is an approximation.

Some reports, such as Sessions over time or Sales over time, can have a visitor or customer counted on multiple rows. For example, a customer might visit your store on one day, and then visit it again a few days later. This results in the rows for both days each displaying a value of 1. Because both visitor numbers came from a single person, the total value is also shown as 1, instead of adding them together for 2. In contrast, the Sessions column shows that the website was visited twice.

In this example, the Visitors and Customers columns are displayed for a shop over a three month period. When the totals of columns with counts of unique people are shown in reports, the resulting total might be higher or lower than the sum of the individual rows.

Table of Visitor and Customer total discrepancy example.
MonthVisitorsCustomersSessions
Total261837
January10210
February11712
March9615

Impact of cookie-based customer data collection and analytics

Cookies play a crucial role in collecting and reporting analytics for your online store by storing small text files on a user's device while they browse. These cookies are processed and stored by the web browser, enabling the collection of valuable insights into user behavior on your website, such as session counts, page visits, and link clicks.

Cookies can potentially contain enough information to identify a user, and various laws and regulations worldwide govern the collection and usage of this information. Notably, the General Data Protection Regulation (GDPR) and the ePrivacy Directive outline specific guidelines for merchants operating in or with customers from the European Economic Area (EEA) and the United Kingdom (UK), dictating how visitor data should be respected and collected.

If you're a merchant operating in the EEA or the UK, then you might have already encountered this topic and made the necessary adjustments to your customer privacy settings. When a cookie banner is active in specific regions, data is collected from visitors from those regions only after obtaining consent. Consequently, there might be a reduction in the amount of data available for analytics, marketing, and personalization purposes. This can be observed through decreased session counts and other metrics that rely on session data, including conversion rates.

To learn more about effectively managing your cookie settings, refer to the documentation on managing your customer privacy settings.

Refunds and returns in Sales reports discrepancies

Returns and refunds are two separate items in your reports. Sales reports include your returns and the Payments finance report includes refunds. To get a report of the refunded figures, you can add a Payment status column to the Sales over time report, filter transactions for Refunded or Partially refunded, and then organize the report by the Payment status column.

Common discrepancies for returns and refunds in Sales reports can occur in the following scenarios:

  • If the refund is still pending, then you might have a positive amount displayed in your Sales by channel report. When the refund is complete, the amount displays as a negative amount.
  • If you refund products in an order and then restock the products on separate dates, then the same amount displays twice with the restock displaying N/A in the Product field.
  • If you restocked products and didn't refund the order, then the tax might display as a return amount in the Sales report and Finance Sales report. This is expected behavior as the tax is returned because the product that the taxes were collected on is returned. The taxes aren't refunded to your customer in this case, but not added to any Sales reports. The returned taxes don't display in the Payments report because that report considers only the money exchanged between you and the customer.
  • If you have grouping happening or your date range doesn't include both the order creation and the return, then you might only see one part of the order. This can result in negative numbers when you might be expecting zeros. If you remove the grouping or update the date range to include both the order creation and the return, then it groups them together. You might also want to add the column for Sale kind, as it displays which part of an order is in the row.

The Return reports only display products that were sold to a customer. If you created the order as a $0.00 order with no funds exchanged between your store and customer and the products were returned, then the Returns report won't display those products.

Customers over time report and total number of customers discrepancies

The Customers over time report displays only the number of customers that have placed an order on your store. The total number in your Customers list includes customers that haven't placed an order on your store. For example, your Customers list include customers that signed up for email marketing.

You can create a customer segment that filters based on customers that placed orders. Use the following segmentation to do this: orders_placed(since: <YYYY-MM-DD>) = true AND orders_placed(until: <YYYY-MM-DD>) = true. Replace YYYY-MM-DD with the date range you want. If you want to get the total number of customers from when your store was opened until the date you're creating the segment, then use the date you opened in for the since date and today's date for the until date.

Retail sales by staff and Overview dashboard discrepancies

Within the Retail sales by staff report, the sales are by POS location for each POS staff member. In the Overview dashboard, the Retails sales by staff card has the totals combined for all locations for each staff member.

Order export from Total Sales discrepancies

The Sales report displays the total sales of the goods exchanged between your store and the customer, whereas the orders export refers to the current total of each of those orders. For example, if you refund a custom amount of $5 USD, but no products were refunded and restocked, then the refund doesn't display in your Sales report, but is included in your orders export. Test orders aren't included in Sales reports but they're included in your orders export.

Net Quantity and Gross Sales discrepancies

You might notice that the gross sales doesn't line up with the net quantity sold for a product. These values have the following different equations:

  • Gross sales - product price multiplied by the quantity. Canceled, pending, and unpaid orders are included.
  • Net quantity - number of sold items minus the number of returned items.

Ordered quantity and Gross sales discrepancies

Ordered quantity only includes products that were specifically ordered by the customer and doesn't include anything that was added to their order by editing the order. Gross sales includes the total recorded for the products added to the order.

Conversion rate data discrepancies

If you’re using Shop Pay, then your conversion rate data from between October 28, 2021 and September 23, 2022 might not be accurate. Your actual conversion might have been higher than reported.

As of September 23, 2022, this reporting error is resolved and data is accurate. Historical data from the specified time period will still be affected.

Can’t find the answers you’re looking for? We’re here to help.