How to add a link to a tracking button that takes you to usps page tracking?

  • 5 March 2021
  • 5 replies

Userlevel 1
Badge +3

Hello Klaviyo community,

I have a store that works with Big commerce + Shipstation + Klaviyo.

I am creating transactional emails:





1)Could you confirm that it isn’t possible to have a delivered transactional email with shipstation?

Am I required to buy an other service for that option (which start to pill up)? Sending a “delivered” email 2-3 days after a “shipped” email will only create resentment if it’s not verified i think.


2)Inside my “shipped” email, I prefer not to display the tracking number, but add a button link to usps tracking page. Is that possible?

I couldn’t find the doc about this. I have been using the tracking number code from the preview but that doesn’t work. Any suggestions will help.



Thx a million




Best answer by elisegaines 5 March 2021, 20:45

View original

5 replies

Userlevel 5
Badge +25

Hi @salamiadil ! Are all your packages shipped via USPS? 

If so, you can use this link in your button:{{ event.extra.shipments.0.tracking_number }}


The Shipstation integration doesn’t include a “Delivered” metric, but Aftership does! You’d need to use Aftership or a custom API event in order to send an Order Delivered flow. 

Userlevel 1
Badge +3

Thank you Elise,

we do the majority of our shipping with usps, but not exclusively (ups, fedex too).

By any chance is there a way around it, because the code you sent is for usps? For ex in shipstation i use this code “[TrackingUrl]” in the shipping notification email. Once the customer click on it he get send to the page our the shipping service (usps, ups, fedex).


I really like Klaviyo, and my goal was to use it exclusively because it offers a creative tool for editing emails. If that doesn’t work I might keep “ordered” email with klaviyo, and “shipped”, “delivered” with shipstation.

Is there a way to circumvent this by any chance?

Userlevel 5
Badge +25

Yeah for sure! If you ship with multiple carriers, you’ll just need to include a tracking button for each carrier, with the correct URL for that carrier. Then, set a show/hide rule for each block based on the {{ event.extra.shipments.0.tracking_carrier }} property. 

So, for example, the show/hide rule for the USPS tracking block would be this: 

event.extra.shipments.0.tracking_carrier == 'usps'

Then, clone the block, and make two updates to the cloned version: 

  1. Change the show/hide rule to this: 
event.extra.shipments.0.tracking_carrier == 'ups'
  1. Change the link URL for the button to this:{{ event.extra.shipments.0.tracking_number }}

Then, you can repeat those steps with any other carriers you offer! Just make sure to use the carrier name exactly as it appears in your event data from Shipstation. To get the right URL for any carrier, you can search “[carrier name] tracking URL format”. 

Userlevel 1
Badge +3

Dog Gomit Elise,

you’re a fountain of  information!

I’ll read the show/hide page before playing with this.

Thank you very much

Badge +4

We’re running into a very similiar issue, but with SMS. Is it possible to do something like that with SMS where you aren’t able to use Django logic?