KPI : On time delivery

New Member
1 0 0

As a supply chain coordinator, I am very interested in implementing an OTIF (On time in full) KPI for our orders. I can not seem to be able to export the tracking number from all our orders at once, I get all the order information except for the tracking. Is there any app or tip to easily extract on a friendly format (csv) so I can then measure delivery lead times?.




Shopify Partner
1841 169 469

Hi Lili,

I am not aware of any apps that do this, but then again I am not aware of many apps in general so don't take my word for it regarding apps.

However, you could go a little techie and install Shopify's GraphQL Explorer app, or even better follow this tutorial to get started with Insomnia GraphQL client (you just need to follow the tutorial up to the point where you have the application installed and the private app key created).

Then you can use this GraphQL query:

query orderFulfillmentTrackingInfoByDateRangeAndFFStatus($cursor: String) {
  orders(first: 200, after: $cursor, query: "created_at:>=2018-12-01 AND created_at:<2019-01-01 AND (fulfillment_status:shipped OR fulfillment_status:partial)") {
    pageInfo {
    edges {
      node {
        transactions(first: 25) {
        fulfillments(first: 25) {
          trackingInfo {

What that gives you is paged results (200 orders each) beteen 2 dates from and to where fulfillment status is either fulfilled or partially fulfilled.

The query result yields following

  • order ID
  • financial status (eg. paid, authorized)
  • fulfillment status (eg. fulfilled, partially fulfilled)
  • order created at date
  • order processed at date
  • order closed at date
  • transaction authorization created at date
  • transaction authorization processed at date
  • transaction capture created at date
  • transaction capture processed at date
  • fulfillment status (eg. success)
  • fulfillment tracking company
  • fulfillment tracking number

Of course, this could be customized and changed around for many more sweet KPIs.

With that you can track OTIF and more. Depending on your carrier service you could even go so far to include carrier specific KPIs such as OTP and OTD etc.

The response is in JSON format but isn't human friendly. Depending on your spreadsheet processor you may be able to import and transform it as is, or you could have a developer write a small utility function that does this for you and returns a CSV instead.

Best wishes!

I turn coffee in to code - since 1998
1 Like
Shopify Staff
Shopify Staff
1495 54 167

Hi Lili,

Nick here from Shopify. 

I took a look and did find an app which might be able to do what you're looking for. It's called Export OrderPro and you can find it here. With Export OrderPro, you can easily generate and export reports, one of the fields which you can do this for is tracking status, so it could be possible for tracking numbers, as well. It could be worth reaching out to the app developers about this directly to be sure. Their contact email is and website contact details are here

Hopefully, the app can do the functionality you need though. 

All the best, Nick

Nick | Social Care @ Shopify
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

97 0 11

Hello Lili,

Depending on exactly what fields you would want exported, and how many orders you’re talking about, you could install our app and copy and paste the table from our page into a spreadsheet. Our page gives you:

  • Order number
  • Order date
  • Tracking number
  • Carrier
  • Status
  • Customer email
  • Carrier note (if any)
  • Package location from carrier (if any)

We’re a new app, so we haven’t gotten any data export requests yet from customers.

BTW, your site looks really great. And I love that your capsules are vegan.

I hope that helps.

Please let me know if you have any questions about our app.


ShopClerk Order Tracking for Shopify



Todd - ShopClerk Order Tracking for Shopify -
104 2 13

Hi Lili,


Our app EZ Exporter can export the tracking numbers for you as well into a CSV file and you can customize the CSV output within our app so you can include just the data that you need. 


It can also export Fulfillment Events ( as part of the order export (we do the join on our side based on the order_id) so you can pull additional information such as the delivery date and the shipping carrier's message.


Please feel free to email me at if you have any questions.