- Connecting to Shopify via the SyncWith data studio connector
- Example of how to pull in order data from Shopify
- Additional details on how to create your own custom connections and reports or your orders
- Data Studio account setup under your google account
- Click here to go directly to our connector in Data Studio
- If you’ve never setup Data Studio before you will be required to complete your signup before installing the connector, if that’s the case you’ll see a dialogue like the one to the left, fill in your info and then continue.
- If you have multiple google accounts open in chrome at once sometimes you’ll see this dialogue open or email preferences
- Install the connector (if you haven’t already)
- You be required to provide OAuth Permissions
- If you’re signed into multiple google accounts you may have to try this twice as sometimes google will show the first OAuth screen and not the second, be sure to try until you see 2nd screen (as shown below) and authorize SyncWith.
- You’ll know you’ve properly OAuthed when you see the service dropdown (shown in the below screenshot). The dropdown exists because you can use SyncWith to pull from a wide range of APIs into Data Studio - not just Shopify. For example you can choose from Facebook Ads, Notion, Shopify Orders, Stripe Charges, WooCommerce Orders and Zendesk tickets.
Shopify Ordersas your service and click next
- After pushing
Nexta drop down will appear to select an Ad Account, Initially the list will be empty:
- To get your Shopify account to show we need to connect a Shopify Account, we do this by following the link to SyncWith which will ensure we get the appropriate permissions to sync your Shopify Data to Data Studio
- Once you complete the Shopify authorization click next and this will force the account dropdown to populate, choose an account and then click the
Next buttonand then finally click the
SyncWith supports pushing your Shopoify ads data to other destinations if Data Studio isn’t what you were expecting:
Google Sheets- install our Google Sheets addon used by 100,000s of other data users
- Sync Shopify
Airtable- install our App in the Airtable marketplace
- Export Shopify
PowerBI- use our power bi connector
Databases(S3, BigQuery, MySQL, Postgres) - contact support to join our beta
Now that we have SyncWith setup and Shopify authorized with a Shopify account chosen we can configure our report.
The Shopify API is paginated returning a maximum of 250 results per page and all orders must be cursored through with each request taking ~10 seconds. This is pretty slow and means 1000 orders will take appoximately 100 minutes to retrieve. While we handle all the complexity of getting a large number of orders retrieved we cannot make Shopify’s API respond faster, so plan accordingly.
- Data studio lets you pick an
Autorange which defaults to 28days or a
- If you choose custom a calendar widget will come up and you’ll also see a drop down in the top right with a list of defaults, looks like this:
- If you click the dropdown you’ll get a long list of options you can scroll through
- You can also choose advanced which lets you choose two arbitrary and relative start and end dates
The Shopify Orders API has the concept of fields. Every row returned corresponds to an order so there is a cardinality of 1 and no additional dimensions to expand across.
- Data studio uses a alphabetical listing by default which hides the most popular dimensions you’d want - see a summary of popular dimensions below
- Use the search feature as demo’d in the gif - showing total line items price, total discounts, subtotal price and total tax being selected.
Shopify Order Fields
Billing Info - Multiple Metrics
All of the billing address fields are available including: Billing Address 1 Billing Address 2 Billing City Billing Country Billing Phone Billing Name Billing Latitude, Billing Longitude are also available if you if you want to do marker based lat long mapping of sales, payment issues, etc.)
Shipping Info - Multiple Metrics
Similarily to Billing info all the shipping information is available (Address, City, Country, Phone, Name, Etc.
This is the unique identifier of the order in question. If you ever wanted to cancel, close or re-open an order you need the order ID on any POST request to the orders API. Also useful for looking up or referencing the order in the Shopify app.
Order Status URL
Order status URL points to the order status page, this is handy to provide to customers as the order status page allows them to: - Check the status of their shipment - See real-time updates on the location of their shipment - Opt in or out of Messenger, SMS, and email notifications - Click to begin shopping in your online store again
Tags attached to the order, formatted as a string of comma-separated values. Tags are additional short descriptors, commonly used for filtering and searching. Each individual tag is limited to 40 characters in length.
An optional note that a shop owner can attach to the order. For example
Package arrive damaged
Courier delivered to the wrong house
Customer’s email address
Customer’s phone number for receiving SMS notifications
The two or three-letter language code, optionally followed by a region modifier, for example english speaking in Canada would be
en-ca, english speaking with no locale would be
The IP address of the browser used by the customer when they placed the order. Both IPv4 and IPv6 are supported.
Time when the order was created in the Shopify app.
The date and time when the order was closed. Returns
nullif the order isn't closed.
The date and time when the order was last modified. Because the value can change when no visible fields of an order have been updated it may not be an appropriate field to sort by.
There is no direct Status field so if you want to look at all cancelled orders within a list of all orders the presence of a cancelled date will help you do that. The date and time when the order was canceled. Returns
nullif the order isn't canceled. Use Cancel Reason to understand why a specific order was cancelled.
Reason why the order was cancelled, values include:
CustomerThe customer canceled the order.
FraudThe order was fraudulent.
InventoryItems in the order were not in inventory.
DeclinedThe payment was declined.
OtherA reason not in this list.
3 Letter code representing the currency of the shop (uses ISO 4217) examples include:
AUD- Australian dollar
USD- United States Dollar
CAD- Canadian Dollar
Total of all item prices, discounts, shipping, taxes, and tips in the shop currency.
The price of the order in the shop currency after discounts but before shipping, duties, taxes, and tips.
The sum of all the taxes applied to the order in the shop currency.
Total Line Items Price
The sum of all line item prices in the shop currency.
Total Tip Received
The sum of all the tips in the order in the shop currency.
The total outstanding amount of the order in the shop currency.
Provides the total discount on the order in the shop currency. This is useful to have to analyze at a broad scale if discounts are getting in the way of profitability.
The URL for the page where the buyer landed when they entered the shop. This can be useful if you want to understand the pages that drove orders. If you’ve created landing pages that you want to track the performance of this can be helpful or if you want to discover which landing pages are driving the most $.
The website where the customer clicked a link to the shop. Useful as another source of understanding where you’re driving sales from. Not all marketing is paid or controlled so you will not be able to set UTMs and other tracking variables against them. For example
The source of the checkout. To use this field for sales attribution, you must register the channels that your app is managing. You can find a list of your channels in the Partner Dashboard, in your app's Marketplace extension. You can specify a handle for each source which is what will show up here. For example
Payment gateway used for the order, for example
Total Impressions less Viral Impressions. See Viral Impressions
The order's status in terms of fulfilled line items.
fulfilledEvery line item in the order has been fulfilled.
nullNone of the line items in the order have been fulfilled.
partialAt least one line item in the order has been fulfilled.
restockedEvery line item in the order has been restocked and the order canceled.
The financial status of the order:
authorizedShow only authorized orders
pendingShow only pending orders
paidShow only paid orders
partially_paidShow only partially paid orders
refundedShow only refunded orders
voidedShow only voided orders
partially_refundedShow only partially refunded orders
anyShow orders of any financial status.
unpaidShow authorized and partially paid orders.
The fulfillment origin of the order - used by Shopify to calculate applicable taxes. This is not the ID of the location where the order was placed.
The date and time when an order was processed.
The sum of all line item weights in grams. The sum is not adjusted as items are removed from the order.
- Contact support with questions on the product and features
- Looking for paid consultation on building out your data studio dashboards? Contact SyncWith support and we’ll book time in to help whatever you need done