> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.ship24.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Ship24 Order Tracking for Google Sheets

### Introduction

Ship24 Order Tracking allows you to create, update and refresh shipment trackers directly from Google Sheets using the Ship24 API.

Ship24 supports tracking across 2,500+ couriers and marketplaces worldwide, helping you manage delivery updates in one place.

This add-on is designed for sellers who manage orders in spreadsheets and want to retrieve tracking updates in bulk without leaving Google Sheets.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/0/5/d/b05de28401784000/overview_92eun9.png =1600x900)

### In this article

* [What does the add-on do?](#3-what-does-the-add-on-do)
* [Requirements](#3-requirements)
* [Setup](#3-setup)
* [Sheet structure requirements](#3-sheet-structure-requirements)
* [Individual actions](#3-individual-actions)
* [Bulk actions](#3-bulk-actions)
* [Limits and safeguards](#3-limits-and-safeguards)
* [Troubleshooting](#3-troubleshooting)

### What does the add-on do?

Ship24 Order Tracking makes it easy to create and manage shipment tracking directly from your Google Sheet, without switching between tools or copying tracking numbers manually.

With Ship24 Order Tracking, you can:

* Create shipment trackers from tracking numbers
* Create a tracker only, without retrieving results
* Create and instantly retrieve tracking results
* Refresh tracker status updates
* Update existing trackers
* Run bulk operations on selected rows

All actions are triggered manually from the sidebar inside Google Sheets.

### Requirements

Before using the add-on, you will need:

* A valid Ship24 plan and API key
* A Google Sheets document
* A properly structured header row

You can insert or update headers automatically using the **Setup** section inside the add-on.

### Setup

###### Set your API key

To create trackers using the Ship24 API, you first need to link the add-on to your Ship24 account.

You can find your API key in your [Ship24 dashboard](https://dashboard.ship24.com/integrations/api-keys).

From your tracking Google Sheet:

1. Open **Extensions > Ship24 Order Tracking**.
2. In the **Setup** section, click **Open Settings**.
3. Enter your Ship24 API Key.
4. Click **Save API Key**.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/0/5/d/b05de28401784000/set-api-key_1e9em7i.png =1600x900)

###### Insert required headers

To ensure your tracking sheet is compatible with the add-on, first insert the required headers using the built-in tool.

1. Open **Extensions > Ship24 Order Tracking**.
2. In the **Setup** section, click **Insert required headers**.

The add-on will insert the required header row, freeze row 1, and prepare the sheet for tracking operations.

||| Start with a blank sheet before inserting headers. You may add, remove or rearrange columns later, but the header names must remain unchanged.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/0/5/d/b05de28401784000/set-column-headers_7710zm.png =1600x900)

###### Add missing headers to an existing sheet

If you already have a sheet in use and new fields are introduced:

1. Open **Extensions > Ship24 Order Tracking**.
2. Click **Add missing headers**.

The add-on will detect missing required columns, append only the missing columns to the end of the sheet, and leave your existing columns, order, and custom fields unchanged.

Once your API key is set and your Google Sheet has the correct headers, you are ready to start using the add-on.

### Sheet structure requirements

###### Column reference guide

The list below details each required column name and what it represents. The name shows how it should appear in row 1 of your sheet.

||| These names must match exactly.

* **trackingNumber** - The shipment tracking number provided by the courier or marketplace. Required to create a tracker.
* **shipmentReference** - Your internal reference for the shipment, such as an order ID or invoice number. Optional.
* **clientTrackerId** - A custom identifier assigned by you to link the tracker to your own system. Optional.
* **originCountryCode** - Two-letter ISO 3166 country code of the shipment origin, for example US, GB, FR. Optional but can improve tracking accuracy.
* **destinationCountryCode** - Two-letter ISO 3166 country code of the shipment destination. Optional but recommended for international shipments.
* **destinationPostCode** - Destination postal or ZIP code. Recommended, as certain couriers require it to retrieve tracking events.
* **shippingDate** - The shipment dispatch date. Make sure it aligns closely with the actual shipment date, give or take a few days.
* **courierCode** - The Ship24 courier code if known, for example dhl, fedex, ups. Recommended, as it helps avoid collecting events from unrelated parcels that use the same tracking number.
* **courierName** - Courier name and service.
* **trackingUrl** - A direct tracking URL for the shipment. Optional.
* **orderNumber** - Your internal order number related to the shipment. Optional.
* **title** - Shipment title, maximum 100 characters.
* **recipientEmail** - Recipient email for notifications.
* **recipientName** - Recipient name.
* **recipientPhone** - Recipient phone number in international format.
* **note** - Additional note, maximum 500 characters.
* **restrictTrackingToCourierCode** - If set to `true`, the tracker will only track the courier specified in the `courierCode` field. Otherwise, Ship24 may extend the tracking to other providers in case the shipment is handled by additional couriers.

###### System and output fields

* **apiStatus** - Result of the last action.
* **trackerId** - Ship24 tracker ID.
* **statusCode** - Latest shipment status code.
* **statusCategory** - High-level status.
* **statusMilestone** - Shipment milestone.
* **latestEventStatus** - Latest tracking event description.
* **latestEventDatetime** - Latest event date and time.
* **isSubscribed** - Subscription status.
* **lastCheckedAt** - Last refresh timestamp.
* **lastCheckedBy** - Action that last updated the row.

###### Key points

* The add-on matches columns by header name, not position
* You can reorder columns freely
* You can add custom columns
* Missing required columns can be added using the Setup tool

### Individual actions

Individual actions apply to the currently selected row only. You can select the whole row or any cell on the row.

* **Create Only** - Creates a tracker using the bulk endpoint but does not retrieve shipment results.
* **Create & Track** - Creates a tracker and retrieves the latest shipment status immediately.
* **Refresh Status** - Retrieves the latest tracking results using the trackerId.
* **Update Details** - Updates tracker settings such as subscription status, destination data, or courier information.

||| Make sure you select a data row, not the header row.

### Bulk actions

Bulk actions apply to the currently selected rows. You can select the whole row or any cell on the row.

* **Create Only** - Creates trackers for selected rows without retrieving results.
* **Create & Track** - Creates trackers and retrieves shipment results for selected rows.
* **Refresh Status** - Refreshes shipment status for selected rows using trackerId.

To use bulk actions:

1. Open the add-on.
2. Select multiple data rows.
3. Click the desired bulk action.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/0/5/d/b05de28401784000/bulk-actions_l8ek90.png =1600x900)

### Limits and safeguards

To keep performance stable and reduce the number of API calls:

* Bulk Create Only is limited to 100 rows per run
* Other bulk actions are limited to 25 rows per run
* Delivered shipments are automatically skipped during refresh
* Shipments refreshed within the last 3 hours are skipped
* Rows created using Create Only can be refreshed immediately
* API calls include short delays between rows
* If a row fails, processing continues for the remaining rows

If a limit is exceeded, you will see a message indicating the maximum allowed rows per run.

### Troubleshooting

###### Headers are missing

* Ensure the header names match exactly
* Use the **Insert required headers** or **Add missing headers** action

###### Bulk action stops unexpectedly

* Reduce the number of selected rows
* Remember the limits: Create Only 100 rows, other bulk actions 25 rows

###### API key error

* Open **Settings** in the add-on
* Confirm your Ship24 API key is saved

###### Tracking data not updating

Check that:

* **trackerId** exists
* The shipment is not already delivered
* The 3 hour refresh cooldown has passed
* The row was not created using Create Only and never refreshed

###### Validation errors shown in apiStatus

* Review the message returned, for example invalid email or tracking number format
* Correct the input and retry

If you continue experiencing issues, [contact the Ship24 support team](https://www.ship24.com/contact-us).