Back to Blog

Complete Guide on How to Export Shopify Orders in 2023

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 options and answer some more specific questions you might have.

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

You have probably come across the manual method as the Export button on nearly every page is impossible to miss. Shopify has 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 a bit further in this article.

  • Extract data automatically with third-party tools

You can run automated imports that will pull data from your store into Looker Studio, Google Sheets, Excel, or other destinations. This is a far more useful option from the store owner’s perspective. It can be done with dedicated tools, such as Coupler.io, that don’t require any tech skills to use 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 your spreadsheets or dashboards always up to date, with zero effort on your side.

We’ll explain how it works in detail in the next section.

  • Automate data extraction by using Shopify’s Rest APIs 

In particular, you can use Order APIs to move orders data to external destinations, either as a one-time activity or, more commonly, as a recurring process.

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, but this option is not suitable for users without a technical background. For details on how to get the most out of this method, please consult the API documentation.

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.

In our example, we show how you can easily export Shopify orders (and other data types) with a popular data analytics and automation solution, Coupler.io. It can export data automatically on a schedule and send it to Looker Studio, Power BI, Google Sheets, Excel, and BigQuery.

Thanks to the automatic data refresh functionality, Coupler.io allows you to build auto-updating reports in spreadsheets and live dashboards in data viz tools. Apart from Shopify, it can export data from 70+ other business apps.

Let’s see how to use it to export Shopify orders in three steps.

1. Extract your Shopify data

First, sign up for a Coupler.io account with your Google account or log in if you already have an account. No credit card is required, and there is a 14-day trial with access to full functionality.
Click ADD NEW IMPORTER, then select Shopify as your source, and choose the destination you need. In our example, it’s Google Sheets, but you can choose another, of course.

Then, proceed with creating the importer and connect your Shopify account. You’ll need to enter your shop name in the format shop-name.myshopify.com.

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). 

2. Preview and transform your Shopify data

Now, you can check and edit the data that you are going to export. 

In particular, you can manage columns – hide those you don’t need, change their order, rename and rearrange columns. The dataset will be exported according to the edits you make. Optionally, you can also sort and filter your data – for example, filter your orders data by status, changed or created date, or even use the Filter ID. 

You can also blend data from several Shopify accounts, if you connect them as additional data sources. All this allows you to to export clean and analysis-ready dataset.

Shopify ORDERS transform

After this, follow the wizard instructions to connect your destination app account and specify where to transfer your data.

2. Manage your Shopify data

In the next step, you can automate exports of Shopify data on a schedule. Toggle on the Automatic data refresh and configure the frequency and other time preferences for your automatic data flow.

Coupler.io schedule Tiny

Eventually, click Save and Run and see the results of exporting data from Shopify. After that, the next scheduled import will refresh data automatically according to the preferences you specified.

7-couplerio_shopify_import

How to export your Shopify orders into Looker Studio in a visual format

If you want to track your orders in an auto-updating dashboard, you can automatically visualize your Shopify data with the help of our ready-to-use Shopify dashboard template

You will only need to plug in your Shopify and Looker Studio accounts into the pre-configured template, and your orders will be visualized automatically. 

The whole process takes just a few minutes. The result will look like this:

Shopify export orders 01
Shopify export orders 02
Shopify export orders 3

Apart from the orders, the dashboard will also feature your other Shopify data. Here’s what the full version looks like (scroll down to see all blocks). This template is free, and it’s powered by Coupler.io. This means Coupler.io will transfer fresh Shopify data to this dashboard automatically and keep it up to date.

To create your dashboard, go to the Shopify dashboard template and click Readme in the menu on the left. Then, follow the instructions to connect your Shopify account – and enjoy the pro-level dashboard.

And now, let’s 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.

8-fulfilling_shopify_orders

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. 

9-coupler_shopify_unfulfilled

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. For example, export all data with a 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:

10-shopify_export_pivot_table

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.

11-shopify_export_international_orders

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.

Coupler.io schedule Tiny

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.

  1. Go to the Apps menu of your Shopify store.
1 shopify apps
  1. Click Develop apps for your store (former Private apps).
2 develop apps for your store
  1. Click Create an app.
3 create an app

Note: If you haven’t created any private or custom apps before, you may be asked to enable app development.

  1. Name your app then click Create app.
4 app name
  1. Once the app is created, click Configure Admin API scopes.
5.1configure admin api scopes
  1. Check the read scopes for:
    • Customers – read_customers
    • Inventory – read_inventory
    • Orders – read_orders
    • Products – read_products

Then click Save

5 configure scopes
  1. Click Install app.
6 install app

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

7 api key

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.

14-shopify_orderid

So, your JSON URL should look like this:

https://sf-sandwiches.myshopify.com/admin/api/2022-01/orders/2620949692570/metafields.json
metafields order json url
  • Request headers –  specify your API access token using the following HTTP header:
X-Shopify-Access-Token:{your-api-access-token}
api token header
  1. Path – Enter the metafields string to select nested objects from the JSON response.
15-shopify_metafields

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:

17-couplerio_json_export

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. 

order fulfilments

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

shopify orders tracking number

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.

How to export Shopify orders manually?

If you opt for a .csv export of Shopify orders, the process is very simple.

  1. Navigate to your orders page and hit the Export button in the top-right corner.
1-shopify_export_orders
  1. 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.
2-export_shopify_orders
  1. A file will be downloaded or emailed to you shortly if you’re exporting data about more than 50 orders.
  2. 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.
3-gsheets_import_file
  1. After brief processing, your orders will be imported into your Google Sheets file.
4-shopify_csv_import

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.

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 on Coupler.io who loves working with data, writing about it, and even producing videos about it. I’ve worked at startups and product companies, writing content for technical audiences of all sorts. You’ll often see me cycling🚴🏼‍♂️, backpacking around the world🌎, and playing heavy board games.

Back to Blog

Comments are closed.

Focus on your business
goals while we take care of your data!

Try Coupler.io