How to export Shopify orders to Google Sheets
To get Shopify orders to Google Sheets, export them as a CSV file and import it, or have Fresh Sheets write order totals into a tab on a schedule.
Ways to get Shopify data into Google Sheets
| Method | Refreshes | Cost | Limit |
|---|---|---|---|
| Export orders as CSV | No | Free | Over 50 orders, the file is emailed; one row per line item |
| Shopify Flow | Yes, a row per new order | Free on Basic, Grow, Advanced and Plus | Rows, not totals |
| Export an analytics report | No | Free | A file per export |
| Admin API | On your code's schedule | Not published | The last 60 days of orders without read_all_orders |
| Fresh Sheets | On your schedule | Free for 30 days, then one weekly report free. Paid plans from £12 a month, billed annually. | Up to 10,000 orders a run |
Export Shopify orders to Google Sheets by hand
- In your Shopify admin, go to Orders, and sort and filter the list to the orders you want.
- Click Export.
- Choose which orders to export. For a date range, choose Orders by date and set the start and end dates.
- Under Export as, choose a file format, then click Export orders.
- In Google Sheets, open a spreadsheet and click File, then Import, upload the CSV file, choose Insert new sheets or Replace current sheet, then click Import.
Up to 50 orders download straight away. Larger exports, and exports by date, are emailed to you and the store owner as a CSV file.
An order with several items takes several rows, so counting rows won't count orders. The file also includes your customers' names, email addresses, phone numbers and postal addresses, so be careful who you share it with.
Source: Export orders, Shopify Help Center; Import data sets and spreadsheets, Google Docs Editors Help
Add a row per order with Shopify Flow
Shopify Flow is Shopify's own route from Shopify to Google Sheets: its Add row to spreadsheet action adds one row to a Google Sheets spreadsheet each time a workflow runs.
- Install Shopify Flow from the Shopify App Store and open it from your admin.
- Create a workflow that runs when an order is created.
- Add the Add row to spreadsheet action, and connect Flow to a Google account that can edit the spreadsheet.
- Enter the spreadsheet's URL, the name of an existing tab, and the row contents as a comma-separated list of order fields.
Flow gives you one row per order. Totals by day or week are formulas you build and maintain yourself.
Source: Shopify Flow, Shopify Help Center; Add row to spreadsheet, Shopify Help Center
Export an analytics report
Reports in Shopify's analytics export as CSV and other formats, one file per export.
Shopify's Admin API, with your own code
Your own app can read orders through Shopify's Admin API: read_orders covers the last 60 days, and read_all_orders covers all of them.
Set it up with Fresh Sheets
Only the store owner, or staff with permission to develop apps, can create the Shopify app in the steps below. If you work on the store as a collaborator, as agencies usually do, ask the owner to create it and send you the client ID and secret securely.
- Click Start free and sign in with Google.
- Create your store's app in Shopify. In your Shopify admin, go to Settings, then Apps, then Develop apps, then Build apps in Dev Dashboard, and create an app. In a new version, add only the scopes read_orders and read_all_orders, then release it. Install the app on your store, then copy the client ID and client secret from its Settings.
- Connect the store. On the Sources page in your Fresh Sheets account, click Connect store, enter your store's myshopify.com address, the client ID and the client secret, then click Check and save. Fresh Sheets checks them with Shopify before saving anything.
- Under Source, pick Shopify and the store.
- Under Data, pick the report type, fields and dates.
- Under Destination, choose Connect Google if it asks, then pick a spreadsheet from your Google Drive or create a new one, and name the tab.
- Under Schedule, pick how often, then Save and run.
Prefer to work inside Google Sheets? Install the add-on from the Google Workspace Marketplace and build the same report from Extensions, then Fresh Sheets, then Open sidebar.
Fresh Sheets writes a Shopify report into a tab of its own and refreshes it on the schedule you choose. Fresh Sheets replaces that tab's contents on every refresh, so keep your own formulas on another tab.
Every column it can write is listed on the Shopify connector page.
Worked example: Average order value by day
An Orders report with Total and Orders writes these columns, in this order, into a tab called Average order value by day:
| A | B | C |
|---|---|---|
| Day | Orders | Total |
On another tab, each row's average order value is:
='Average order value by day'!C2/'Average order value by day'!B2
And the average order value across every row:
=SUM('Average order value by day'!C2:C)/SUM('Average order value by day'!B2:B)Use the totals, not the average of the row figures.
Questions
Can Shopify export orders to Google Sheets?
Shopify exports orders as a CSV file you import into Google Sheets; over 50 orders, it's emailed. Shopify Flow can also add a row to a spreadsheet each time an order is created.
Source: Export orders, Shopify Help Center; Add row to spreadsheet, Shopify Help Center
Do new orders come through automatically?
In a Fresh Sheets report, yes: each scheduled run reads the date range again, so new orders appear on the next run. A CSV export doesn't update.
Which order figures come through?
Totals by day, week or month, or a row per order: Orders, Subtotal, Discounts, Shipping, Tax, Total, Refunded and Net payment. A Products sold report gives units and sales per product instead.
Are test orders included?
No. Fresh Sheets leaves test orders out of every report, and reads days in your store's time zone.