Yes! Package Tracker is designed for team usage. Simply share your API Key with your team. You can change your key anytime you'd like, which is useful when teammembers leave.
Please note that if you're using Google Sheets, the Sheet owner may need to add the API Key.
Usage limits apply to the total number of packages you track per day, not just new additions. For example, if you're on the Startup Plan (100 packages) and already have 100 tracking numbers in a Google Sheet, you'll need to upgrade to add more.
We recommend deleting old tracking numbers since carriers reuse them, which can cause confusion when old numbers show new data.
Usage resets daily at midnight UTC. You can upgrade your plan anytime to increase your limits.
To change your email address, follow these steps:
The following columns are available for package tracking:
DHL is a special case and requires a DHL:: prefix. For Blue Dart tracking numbers, you must also add the DHL:: prefix.
If your tracking number is 1234567 you'd instead use DHL::1234567
With your tracking number in cell B2, you can call the =track() function like this:
=track(B2, "status,provider,date,location,delivered,url,expected", false, $A$1)If you know the carrier's name, we highly recommend prepending the carrier to the tracking number. By doing this, it tells us to only retrieve results from that carrier. This will result in a much faster response time:
DHL::1234567Morocco Post::1234567DHL numbers MUST start with the DHL:: prefix.
The second argument in the =track() formula is a comma-separated string of the column(s) you want returned. Please see the "General" section of this FAQ page for a full list of the available columns. You can also specify a cell range with the column names:
=track(B2, $C$1:$H$1, false, $A$1)The third argument is whether to return the full history (true or false).
The fourth argument, $A$1, is optional and allows you to refresh the function (for details, please see the next topic: "How do I refresh the status?").
Google Sheets doesn't let you automatically refresh custom functions. However, there is a workaround that allows you to refresh a function on-demand. Anytime the arguments to a custom function change, the function will update. By appending a cell reference as the last argument to a function, you can update the status by changing the value of that cell.
=track(B2, "status,date", false, $A$1)When the value in $A$1 changes, the formula will refresh. We chose $A$1 but you can choose any cell you'd like.
If you have installed the Package Tracker Add-on and still receive this error, it likely means you are using a shared Sheet. In that case, the owner of that shared Sheet will need to install and run the Add-on.
If you are a paid user, you can share your API Key with the owner of the Sheet. Alternatively, you can change the ownership of the Sheet to you.
In order to run custom functions, Google Sheets needs your explicit authorization. By opening up the side menu, we are able to perform this authorization.
Please note that the owner of the Sheet must be the one to perform the authorization. This means that if you are using a shared Sheet, you must either:
Once you have opened the side menu, please refresh your formula by following the steps in "How do I refresh the status?"
=INDEX(track(B2,"status,date",true,$A$1),ROWS(track(B2,"status,date",true,$A$1)))To get the second event, simply subtract 1:
=INDEX(track(B2,"status,date",true,$A$1),ROWS(track(B2,"status,date",true,$A$1))-1)Every external request that gets made in Google Sheets goes through their proxy, which imposes limits on the number of external calls you can make. Your limit depends on your G Suite subscription. You can view your URL Fetch calls limit here.
If you encounter this error, you can do the following:
Google uses a proxy to fetch the data from our server and has very strict timeouts. If you are tracking a large number of packages you might encounter this error a lot.
In this case, please use our Excel Add-on. If you don't have Excel, you can use their free version at office.com.
If you have a function in a cell the function will get called - even if that cell or row is hidden.
If you'd like to call the function for a cell ONLY if it is visible, you can do the following (assuming your tracking number is in B3):
=if(subtotal(103,B3)=0,"hidden",track(B3,"status",false))This can mean one (or both) of the following:
;=track(B2; "status,location,date"; false; $A$1)With your tracking number in cell B2, you can call the =PACKAGE.TRACK() function like this:
=PACKAGE.TRACK(B2, "status,provider,date,location,delivered,url,expected", false)If you know the carrier's name, we highly recommend prepending the carrier to the tracking number. By doing this, it tells us to only retrieve results from that carrier. This will result in a much faster response time:
DHL::1234567Morocco Post::1234567DHL numbers MUST start with the DHL:: prefix.
The second argument in the =PACKAGE.TRACK() formula is a comma-separated string of the column(s) you want returned. Please see the "General" section of this FAQ page for a full list of the available columns. You can also specify a cell range with the column names:
=PACKAGE.TRACK(B2, $C$1:$H$1, false)The third argument is whether to return the full history (true or false).
Please see our comprehensive guide for tracking packages in Slack
Stripe specific FAQs will be added here.