Skip to main content

Connect Shopify

How to connect your Shopify App account to your AgencyAnalytics dashboard.

Written by AgencyAnalytics Team

To connect to AgencyAnalytics, the user needs access to the Orders + Customers + Products options in the Shopify store.

Connect Shopify

Before connecting Shopify, a few requirements must be met. If the conditions aren't met, you may encounter a validation error or another connection issue.

The user connecting Shopify must:

  • Be logged into the AgencyAnalytics account prior to making the connection

  • Be logged into the Shopify app store as the Store you'd like to connect

If you meet the above criteria, please visit the Shopify App Store listing to connect with your Shopify store.

In the upper right of the app store page, click Add app. Doing so will redirect you to the Installation page.

As a note, on larger screens, the Add app button may appear to the left, below the AgencyAnalytics header instead.

The Installation page will show in-depth privacy details and a confirmation to install. Next, click the Install app button in the upper right. This will load momentarily, then redirect you to AgencyAnalytics.

From the dropdown, select the Client where you'd like to connect Shopify, then click Connect to finish integrating.

Depending on the amount of data in your Shopify account and the load on Shopify's API, it can take more than 6 days to fully sync your account data.

Reconnecting Shopify will clear your previous results and restart the data sync, resulting in another 6+ day delay while data loads.

If you're experiencing data discrepancies, the best course of action is to wait for the full sync to finish, as most discrepancies will resolve once all Shopify data is loaded.

It can take upwards of 6 days for Shopify to deliver all of your data; this timeline depends on Shopify's API response and the amount of data in your account.


Shopify Filters

Understanding the various filters for sales and orders is essential for accurate analysis. Let's shed light on each filter:

  • Channels Filter: This filter lets you narrow data by order or sales source. You can select specific channels or leave it on the default "All."

  • Include Adjustments: This filter determines whether to include adjustment-related data. At the order level, it includes high-level adjustment details, while at the sale level, it breaks down adjustments further.

  • Include External Events: This filter includes orders/sales linked to events outside the date range, relevant because of associated events within the range.

  • Include Refunds: Decide whether to include refund-related data. At the order level, it summarizes refund information, while at the sale level, it details various refund types.

  • Include Voided Orders: Similar to refunds, this filter involves voided order-related data.

  • Record Keeping: This filter alters date-filtering methodology and context. Choose from preset options or a custom "By Date Filter."

  • Record Keeping Date Filter: Applicable when using the "By Date Filter" option, it specifies the column to be used in conjunction with the record keeping filter.

  • Use Adjusted Totals: This impacts calculation results. "Yes" offers current adjusted values, while "No" preserves original values, excluding adjustments.


Navigating Date Context filter (For Recording Keeping)

The "Record Keeping" filter's context depends on the chosen option:

  • By Order Date: Filters based on original order date and includes edits, adjustments, and refunds for orders in the range.

  • By Refund Date: Similar to order date, includes refunds occurring during the period.

  • By Adjustment Date: Incorporates adjustments to orders within the date range.

  • By Event Date: Filters by event date, encompassing orders, refunds, adjustments, and other events.

  • By Date Filter: Isolates specific events using a designated date column without extra conditions.


Shopify Metrics Overview & Tooltips:

The following is a list of the metrics & analytics supported by the Shopify integration, along with their definitions.

Order Summary & Counts

These are affected by filter settings and have variations.

Date - Date associated with analytics (based on filter)

Channel - Channel associated with the order

Referrer - Referral source associated with the order

Total Orders - Number of total Shopify orders (including voided, authorized, paid, refunded)

Refunded Orders - Number of Shopify orders less the number of refunded orders (excluding external refunds)

Voided Orders - Number of Shopify orders voided

Net Orders - Number of Shopify orders less the number of refunded & voided orders (excluding external refunds)

Adjusted Orders - Number of Shopify orders manually adjusted in price

Edited Orders - Number of Shopify orders edited

Average Order Value - Average value of unadjusted Shopify orders

Refunds - Number of total Shopify refunds processed (includes partial and full refunds)

Refunds (External) - Number of Shopify refunds processed that came from orders outside of the selected date range (includes partial and full refunds)

Refunds (Internal) - Number of Shopify refunds processed that came from orders inside the selected date range (includes partial and full refunds)

Core Metrics

These are affected by filter settings and have variations.

Gross Sales - Sum of Shopify gross sales before discounts, excluding refunds

Order Discounts - Sum of Shopify order-level discounts applied

Total Discounts - The total discounts on Shopify orders

Subtotal Sales - Sum of Shopify subtotal sales before taxes (Gross sales + Discounts)

Net Sales - Sum of Shopify net sales before taxes (Gross sales + Discounts + Refunds)

Total Taxes - Sum of Shopify taxes charged

Gross Sales (Including Tax) - Sum of Shopify gross sales before discounts, excluding refunds (Taxes included)

Subtotal Sales (Including Tax) - Sum of Shopify subtotal sales including taxes (Gross sales + Discounts + Taxes)

Net Sales (Including Tax) - Sum of Shopify net sales including taxes (Gross sales + Discounts + Refunds + Taxes)

Shipping Charges - Sum of Shopify shipping charges before discounts and refunds

Shipping Discounts - Sum of Shopify shipping discounts applied

Total Shipping - Sum of Shopify shipping charges excluding refunds (Shipping Charges + Shipping Discounts)

Total Duties - Sum of Shopify duties applied, excluding returns

Total Sales - Sum of Shopify total sales (Gross sales + Discounts + Shipping + Taxes

+ Duties)

Additional Fees - The sum of additional fees on Shopify orders

Original Sales - Sum of Shopify original sales at time of order

Original Duties - Sum of Shopify original duties applied at time of order

Original Shipping - Sum of Shopify original shipping charges at time of order

Total Refunds - The total refunded sales amount on Shopify orders from both external and internal refunds

Refunded Sales (External) - The total external refund amount which occurred from Shopify orders that are outside of the selected date range

Refunded Sales (Internal) - The total internal refund amount which occurred from Shopify orders which are inside of the selected date range

Voided Sales - The adjustments made due to Shopify orders being voided

Manual Sales Adjustments - Sum of Shopify charges manually adjusted

Total Sales Adjustments - The total adjustments, refunds and voided sales made on Shopify orders

Tax Adjustments - Sum of Shopify taxes refunded and/or adjusted

Shipping Adjustments - Sum of Shopify shipping charges refunded and/or adjusted

Duty Adjustments - Sum of Shopify duty charges refunded and/or adjusted (excludes external refunds)

Discount Adjustments - Sum of Shopify discounts refunded and/or adjusted (excludes external refunds)

Subtotal Adjustments - Sum of adjustments to subtotals (includes external refunds)

Net Adjustments - Sum of adjustments to net sales (includes external refunds)

Attributes (Order Table)

Date Created - Date that the order was created in Shopify

Date Processed - Date that the order was processed by Shopify, this can be different from the creation date

Date Updated - Date that the order was last modified

Date Refunded - Date that the refund was processed by Shopify, this can be different from the creation date

Date Cancelled - Date that the order was cancelled in Shopify

Customer - Customer name associated with the order

Referrer - Referral source associated with the order

Channel - Channel associated with the order

Order ID - Unique ID associated with the order and or associated refunds and adjustments

Payment Status - Display status of the order payment (may not reflect all states of a transaction)

Taxes Included? - Whether or not the taxes were included within the original purchase price

Transaction Type - Type of the order line transaction

First-Time Customer? - Whether or not the customer is a first time buyer

Order Edited - Whether or not the order has been edited since it was created

External Refund? - Whether or not the refund came from an order beyond the selected date range

Manually Adjusted? - Whether or not the order was manually adjusted


Shopify FAQ

How far back does Shopify historical data go?

Shopify uses data warehousing, which retains up to 730 days (2 years) of historical data.

Do we pull data in real-time?

Data updates periodically (about twice daily) rather than in real time.

What is the difference between the Shopify Orders & Sales asset types?

Shopify has a lot of different reports and ways to review analytics and they are Plan-Specific and not always available for all Shopify users. Order reports offer a high-level view, while Sales reports offer a more intricate view. It is important to note that these two types of reports can sometimes yield different results when compared across different dates. The root of this variance lies in the interpretation of the event date.

Does the AgencyAnalytics timezone setting need to match the store's timezone?

Yes, mismatched time zones can cause data discrepancies. Once the change has been made within the Shopify integration to match the native store's timezone settings in Shopify, then it should immediately take effect for the existing datasets.

Where can I see the latest sync date/time, to ensure that my Shopify data has been updated within the past 24 hours?

Look for the clock icon with an arrow around it displayed to the left of the date range selector within the Shopify integration. This displays an approximate number of hours since the last sync. You can hover over this indicator to view a tooltip that states the last date and time Shopify data was synced for your Client.

Why don't my Shopify sales and refunds match what I see in my Shopify account?

Refunds can cause discrepancies in the Total Sales metric because Shopify displays refunds differently on its native platform than it feeds this data to our platform via API.

Here's an example:

  • In the native Shopify platform, refunds are applied to the order date. If the order was made on January 15th but refunded on March 15th, the refund will apply to January 15th on the Shopify dashboard

  • When Shopify sends data via its API, refunds are applied on the date on which they are given. So, if an order were placed on Jan 15 and refunded on Mar 15, the refund would be shown as March 15th in AgencyAnalytics

Since Shopify doesn't consistently match refund dates between their platform and the API, we won't be able to exactly match what you see on their native platform until Shopify updates their API.

Why am I seeing discrepancies with my 'Total Returns' vs 'Total Sales' metrics?

Small discrepancies can exist between these metrics due to a known limitation in how refunds are applied within the Shopify API, which AgencyAnalytics uses, compared to Shopify's native platform data.

Why am I seeing discrepancies with my 'Order Count or 'Orders Total' metrics?

Shopify enables its users to alter orders after they've been placed, like changing an item or adding/removing an item from an order. If an order is edited after the day it was placed, the edited order will appear as a separate order in multiple Shopify native reports. This can lead to data discrepancies, as the Shopify integration may display a different order count or order total depending on when and how the orders were edited, since Shopify sometimes displays information differently to 3rd parties via its API than in its native platform UI.

To match the way Shopify organizes data on its native platform, apply these two filters when setting up your Shopify widgets:

  • Record Keeping: Set to "By Order Date". This organizes data by the date the order was placed, matching Shopify's native behavior

  • Record Keeping Date Filter: Set to "Date Ordered". This filters data based on the date the orders were placed, rather than when they were processed or created via the API

How are gift card purchases treated?

We treat gift card sales as part of total sales; however, in some parts of Shopify, they are not tracked and are excluded. At this time, we do not exclude gift cards from the datasets we pull.

Why am I seeing "Error code 400: Could not authorize callback" when connecting Shopify?

This error usually means you weren't logged into AgencyAnalytics when you attempted to connect from the Shopify App Store. Before connecting, make sure you:

  • are logged into your AgencyAnalytics account

  • are logged into the Shopify App Store as the store you want to connect

Once you're logged into both, try the connection again.


💬 Need additional help?

If you have any questions, please contact our friendly support team by following these instructions! We're available 24/5 to help 😄

Did this answer your question?