Running an eCommerce store on Shopify (or any other platform) inevitably generates lots of data about orders, customers, products, and more. As the traffic grows, you may find it easier to export orders on Shopify and analyze them elsewhere – for example, in Google Sheets. Doing so is also handy if you wish to create a backup of your data, move it to another platform, or make bulk edits to thousands of records at once.
Luckily, doing any kind of exports from Shopify is easy but, as is often the case, there’s more than one way of doing it. We’ll explain the available flows and answer some more specific questions you might have.
Table of Contents hide
How to export Shopify orders?
How to export Shopify orders manually?
The limitations of manual exports
How to export Shopify orders automatically
How to export unfulfilled orders from Shopify?
How to export Shopify orders by language?
How to export international orders from Shopify?
How to create an archive of Shopify orders?
How to export metafields of Shopify orders?
How to export Shopify orders with code?
How to export order with tracking number?
How to export Shopify orders with pictures?
Wrapping up
How to export Shopify orders?
When it comes to exporting orders, you can do it in three ways:
- Export data manually from Shopify as a .csv file.
- With third-party tools, run automated imports that will pull data from your store into Google Sheets, Excel, or other destinations.
- Use Shopify’s Rest APIs (in particular, Order APIs) to move orders data to external destinations, either as a one-time activity or, more commonly, as a recurring process.
You have probably come across the manual method as the Export button on nearly every page is impossible to miss. Shopify has a built-in functionality for exporting data as .csv files. This format is widely supported in both cloud-based tools (including Google Sheets and Google BigQuery) as well as desktop clients (MS Excel, Apple Numbers, and many others).
We’ll explain how the process works in the How to export Shopify orders manually? section.
A far more useful way from the store owner’s perspective, however, is exporting Shopify orders automatically. It can be done with dedicated tools, such as Coupler.io, that don’t require any coding and are very straightforward to set up.
The advantage of such an approach is that you can have an app pull data from your Shopify account automatically on a recurring basis. For example, you can set up an importer that will update your orders every hour, keeping the spreadsheets always up to date, with zero effort on your side.
We’ll explain how it works in detail in the How to export Shopify orders automatically? section.
Exporting via Order APIs may sound a lot more technical because it’s an activity that often requires developers. Engineers can indeed use Shopify API to extract data at will. For details on how to get the most out of this method, please consult the API documentation.
How to export Shopify orders manually?
If you opt for a .csv export of Shopify orders, the process is very simple.
- Navigate to your orders page and hit the Export button in the top-right corner.

- Here, decide on the range of orders you want to export. If you’re exporting into a dedicated spreadsheets tool (as we are), you may want to opt for the CSV for Excel, Numbers… option that is selected by default. Plain CSV files are more suitable for exporting into other types of tools – for example, to a CRM or a support client.

- A file will be downloaded or emailed to you shortly if you’re exporting data about more than 50 orders.
- Now import it into the program of your choice. For example, if you import into Google Sheets, open a new spreadsheet, select File -> Import, and drop a freshly downloaded file. Select the desired options (the default options are probably okay for starters) and hit the Import data button.

- After brief processing, your orders will be imported into your Google Sheets file.

The limitations of manual exports
Interestingly, the order data exported with a .csv file and via an API isn’t precisely the same. Neither is incorrect by any means – both sources are equally reliable. The difference is that export performed via API are more detailed and may be necessary if you wish to dig deeper into, for example, how customers find you or what drives their buying decisions.
To give you an example, some fields missing from .csv reports are:
- Reason for cancellations
- Discounts and taxes applied (.csv file contains only the totals for both)
- The referring site and the first page a user visited on entering your store
- Date and time when the order was processed or updated
- Customer’s currency
Why the differences? We can’t speak for Shopify, but it’s fair to assume that the size of exportable files is the reason here.
Large Shopify order exports may take a considerable amount of time. Shopify itself estimates that, for example, a .csv export of 400,000 orders may take about four hours. Consequently, if all available data fields made their way into the exported file, the process could double or even triple in time. At that point, new orders would have likely flown in, possibly making the export already outdated.
If you’re curious about exploring the differences, we’ve got something for you. Our data analyst compared each of the 185 fields exportable from Shopify with Coupler.io importer with the contents of a .csv export and things you can find in the Shopify dashboard. Find them in this spreadsheet.
How to export Shopify orders automatically
Exporting as a .csv file is fine if you only need to do it once every couple of months. If you need to generate reports regularly, automating exports will make things a lot easier.
To do that, you can either develop a custom functionality with Orders API or take advantage of the ready-made solutions. You’ll find quite a few options in the Shopify App Store, suitable for different types of reporting, most coming with a 7- or 14-day free trial.
If you need more flexibility, you’ll enjoy Coupler.io. It lets you pull data from various apps, including Shopify, into one of the destinations of your choice: Google Sheets, Google BigQuery, or Microsoft Excel – on schedule and in a fully automated manner. Let’s see how to set it up.
- Sign up for a Coupler.io account with your Google account or log in if you already have an account. You can use the 14-day free trial to test Coupler.io and decide which subscription plan works best for your needs.
- On the Importers page, click on ADD NEW IMPORTER, then pick Shopify as your source and the desired destination, for example, Google Sheets. Proceed to the setup of the chosen connections..

Source
- Click Connect to connect your Shopify shop to Coupler.io. You’ll need to enter your shop name in the format
shop-name.myshopify.com
and log in to your Shopify account if haven’t done before. - Pick Orders as a Data entity if you’re interested in a general import or Orders with line items if you also need information about the products in a cart (names, SKU, weight, etc).

Optionally, you can filter your exported orders data by status, changed or created date, or even use the Filter ID.
Destination
- Click Connect to connect your destination account to Coupler.io. In our example, it’s Google Sheets but, as we mentioned earlier, you can also choose to export Shopify to BigQuery and Excel.
- Then choose a spreadsheet and a sheet where to load your Shopify data.

Optionally you can specify a cell range or change the import mode to append.
Schedule
This step is needed to automate exports of Shopify data on a schedule. Toogle on the Automatic data refresh and configure the frequency and other time preferences for your automatic data flow.

Eventually, click Save and Run and see the results of exporting data from Shopify. After that the import will refresh data automatically accoding to the schedule you set up.

Let’s now explore several common scenarios with the Shopify Google Sheets integration that involve more custom imports – those that pull only specific data or offer even more data fields than the regular imports.
How to export unfulfilled orders from Shopify?
It may be very useful to have all unfulfilled orders in one place. Of course, you have them available in the Shopify dashboard, very easy to filter from all the others.

But when more of those pile up, getting a regularly updated list in a spreadsheet will make tracking the progress a lot easier. This functionality is natively supported by Coupler.io’s Shopify importer.
Hit the Edit button on the importer we set up earlier or create a new importer for Shopify and the destination of your choice. In the Source settings, go to Advanced settings, and select unfulfilled in the Order fulfillment status menu.

In the meantime, make sure that your private app has at least read permissions for Fulfillment services.
Then, run the importer, and it will pull only unfulfilled orders into your spreadsheet.
How to export Shopify orders by language?
Sorting orders by the language of the buyer’s browser/system may be helpful from a marketing standpoint – when analyzing your client’s behavior and personalizing their next visits, for example. In the data you export, you’ll be looking at the property named customer_locale.
The simplest way of filtering orders by language is with the spreadsheets tool itself. Export all data with – for example, Shopify to Google Sheets importer. Then, go to Data -> Pivot Table. Select all the populated columns as the range.
- In Rows, select the column containing customer_locale.
- In Columns, you may add some other data you want to simultaneously. For example, we chose to see the financial_status for each customer_locale.
- In Values, select the function COUNTA, which will sum up the number of orders for each customer_locale.
In our case, the pivot table looks as follows:

How to export international orders from Shopify?
This is also done most easily in the spreadsheet itself. Export all orders and simply set up filtering for the column billing_address.country. In Google Sheets, select the column in question, and then Data -> Turn on filter. In the filter settings, deselect your home country and domestic records will be hidden from the list. You can, of course, build also another pivot table to count the number of orders for each country.

How to create an archive of Shopify orders?
Coupler.io is particularly helpful for creating an archive of your orders. When setting up a Shopify importer, you can toggle on the Automatic data refresh.
There, you can decide how frequently the data should be updated (every hour, day, or month), on which dates, and at what time. An importer set up this way will run automatically at specified times, updating the data in your spreadsheet with each new import.

You can create Shopify archives also for orders with line numbers, products, and customers.
How to export metafields of Shopify orders?
Unfortunately, metafields are not exported with orders, whether you export manually or run the automated importers. There is, however, an alternative way to pull metafields without any coding.
Note that you won’t be able to export metafields of multiple orders at once. It’s not a bug but more of a current limitation of the Shopify platform. It doesn’t only apply to orders but also to products, clients, and any other entities. It has been raised within the community multiple times but, so far, with no effect. If it works for you, try using tags, or notes instead that you’ll be able to export with orders the usual way.
To export metadata associated with a particular order, you need to create a Shopify custom app.
- Go to the Apps menu of your Shopify store.

- Click Develop apps for your store (former Private apps).

- Click Create an app.

Note: If you haven’t created any private or custom apps before, you may be asked to enable app development.
- Name your app then click Create app.

- Once the app is created, click Configure Admin API scopes.

- Check the read scopes for:
- Customers –
read_customers
- Inventory –
read_inventory
- Orders –
read_orders
- Products –
read_products
- Customers –
Then click Save.

- Click Install app.

Find your Shopify API token in the Admin API section. We’ll need it later.

Now you are ready to set up your Shopify integration to export products data.
- Sign up to Coupler.io, click Add new importer, then select JSON as a source and a preferred destination app, for example, Google Sheets.

Proceed with the setup as follows:
- JSON URL – use the following URL:
https://{store_name}.myshopify.com/admin/api/2022-01/orders/{order-id}/metafields.json
{store_name}
– enter your shop name{order-id}
– enter the ID of the order for which you want to export metafields
You can find the order ID in the URL bar of your browser when you select the order.

So, your JSON URL should look like this:
https://sf-sandwiches.myshopify.com/admin/api/2022-01/orders/2620949692570/metafields.json

- Request headers – specify your API access token using the following HTTP header:
X-Shopify-Access-Token:{your-api-access-token}

- Path – Enter the metafields string to select nested objects from the JSON response.

Now you can proceed to the next steps: destination and schedule.
The final action is to click the Save and Run button, which results in pulling your Shopify metafields data to Google Sheets.
How to export Shopify orders with code?
Rather than run a dedicated importer, you can also query Shopify API to get the desired data about your orders or, for example, to update orders in bulk. Each request you can send is pretty well covered in the Orders API documentation.
To perform any action, you’ll need to find your JSON URL. Copy it from the settings of your private app, the same as we did in the previous chapter. It will look as follows:
https://33ba83de89c4b7068cf537463d6805d1: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@shop_name.myshopify.com/admin/api/2021-04/orders.json
The most basic thing would be to get all orders. Do it by adding ?status=any to the end of your GET request.
You can also use Coupler.io once again to execute these queries, with the more generic JSON client importer. As you set up the Source, insert your Example URL as JSON URL, select the type of request, and insert the criteria into the URL query string field as shown in the example:

How to export order with tracking number?
To get information about tracking number of your orders, you need to select Orders fulfilments as a data entity when setting up your importer with Coupler.io.

Once the data is exported from Shopify, find a respective column named fulfilments.tracking_numbers.0 that will contain the required information.

How to export Shopify orders with pictures?
It could be handy to get all the order details along with the picture of the purchased product. Sadly, product pictures are not a part of Orders API and, as such, can’t be pulled together with orders. You’ll need to make two separate calls, one to Order API, another to the Product API.
Before you continue, make sure that your private app has at least the read access to Products and Products listing.
Wrapping up
Knowledge is power. There’s a lot of data about your orders that you can easily pull into the destinations of your choice. You may find it easier to view them this way, rather than jumping between pages in your Shopify dashboard, not to mention any sorts of manipulation you can perform.
Thanks for reading!
-
Piotr Malek
Technical Content Writer at Coupler.io
Back to Blog