Use this reporting spreadsheet to check the accuracy of your Google Analytics ecommerce data against Shopify.
Google Analytics is a great free tool that almost all Shopify companies use to improve the performance of their stores. With it, you can discover which marketing activities drive the most revenue, run A/B tests with Google Optimize, or see where visitors drop off in your conversion funnel.
However, to do all of these things the ecommerce data - ie revenue and orders - must be accurate.
If it’s underreporting revenue, we might shut down a profitable campaign.
If it’s overeporting orders, our A/B tests may optimize for the wrong variant.
If it’s missing orders, we might spend time improving the wrong part of our funnel.
Furthermore, since we’re always changing our store by adding new apps, new payment methods, and tweaking checkouts, it’s easy to for a previously accurate Google Analytics implementation to go awry.
Therefore, we have to be diligent and constantly check the accuracy of our Google Analytics data against the revenue and orders in Shopify.
With this accuracy report, comparing Google Analytics ecommerce data to Shopify is easy.
Sign up here to get the report emailed to you every Friday for free. Or following the instructions at the end of the article to do it yourself.
The report compares Google’s Analytics’ revenue, orders, and refund data to Shopify’s for the entire period and by day.
Google Analytics only reports one revenue number.
By default (with the Shopify Google Analytics plugin) revenue in Google Analytics is the order total after discounts but excluding shipping and taxes, like so:
Google Analytics Revenue = SUM [ line items price x quantity ]- discounts
The Shopify sales report shows several different revenue numbers - gross sales, net sales, and total sales.
To check the accuracy of your Google Analytics revenue above we want to use:
Shopify Revenue = gross sales - discounts
As defined in the Shopify documentation, gross sales is the sum of the product price and quantity. Therefore gross sales - discount should be the same as Google Analytics’ revenue.
Note both Shopify and Google Analytics revenues do not account for refunds. We’ll compare refunds separately.
The number of transactions in Google Analytics should be equal to the number of orders in Shopify.
Keep in mind that both Shopify orders and Google Analytics transactions will include fully refunded orders.
In Shopify, the date of the refund is the day the refund was issued. Not the original order date.
In Google Analytics, the date of the refund is the day you upload it.
Since Littledata sends the refund to Google Analytics as soon as it occurs in Shopify, the date of the refund in Google Analytics should match the date of the refund in Shopify.
However, if you manually upload refunds to Google Analytics the refund date will not match Shopify and the report will be wrong. This is a limitation of Google Analytics generally and a reason you should not use it for revenue reporting.
As the report shows, your Google Analytics should be accurate to +/-10%.
Because of adblockers, refunds, edited orders, and other limitations Google Analytics will never have perfect data. That’s why you shouldn’t use Google Analytics to analyze Shopify sales data.
However, with a reasonable accurate Google Analytics, we can still use it to optimize our store’s performance.
The are many issues that might cause unacceptable discrepancies between your Shopify and Google Analytics data. Here are some of the most common issues.
If Google Analytics is missing orders check for:
- An alternative checkout that doesn’t have Google Analytics tracking installed like PayPal, Affirm, Sezzle, ReCharge, or custom checkouts.
- Upsell pages between the last checkout step and the order confirmation page prevent the Google Analytics purchase event from firing.
- Orders that take place offline via phone, email, or in-store.
If you are overerporting orders in Google Analytics, the most likely problem is that you’re firing a purchase event whenever a user returns the confirmation page.
Unfortunately, the default Shopify Google Analytics plugin fires a purchase event every time the customer visits their confirmation page, so this is a common issue.
To see if you have duplicate transactions, use the Duplicate Transactions tab in Ecommerce Accuracy custom report in Google Analytics.
If the order counts match but the revenue numbers don’t check for:
- Orders that have been edited after placement, for instance, to add or remove items.
- The Google Analytics purchase event includes shipping and taxes in the revenue.
- Non-standard refund apps like Returnly.
The only way to ensure the accuracy of your Google Analytics data is to constantly check it against your actual Shopify data. Only then can you quickly address issues before losing months of valuable data.
If you consistently see issues with your Google Analytics data consider implementing Google Analytics tracking through a different method.
Follow these instructions to create your own report using the spreadsheet.
Open the spreadsheet template, copy it, and name it after your store.
Then add the raw Shopify data.
- Open your Shopify store's dashboard and go to Analytics.
- Open the Sales Report.
- Select the date range you want to verify. The last 7 days is a good default.
- Export the report CSV.
- Copy the data by selecting everything but the headers.
- Return to the Shopify Raw Data sheet and paste over the demo data.
- Next add the Google Analytics raw data.
Add the Ecommerce Accuracy custom report to your Google Analytics by clicking the template link in the Google Analytics Raw Data sheet.
- Then select the Google Analytics property and view you use for your store and click Create.
- Select the same date range you selected for your Shopify raw data.
- Sort the results ascending by date. (Click Date twice).
- If you have more than 10 days’ worth of data, show more rows.
- Export the data to Google Sheets.
- Copy the data, excluding headers.
- Return to the Google Analytics Raw sheet and paste over the demo data.
- View the results.