You can include dynamic variables in customizable contents across Shipup:
in your notification content and email templates
in the tracking page's promotional banners
in the link to your tracking page that will be included in your notifications
Those variables will be replaced by your store information when any of the above assets are generated. This store information can be data about your company, customers, or orders, including their delivery data.
Those variables can be included using the {{ variable_name }} syntax. If you want to dig deeper, the syntax used is the Liquid Markup Language.
Variable list
Here's a list of variables and their availability. For variable availability in notifications, please note that Shipup notifications have a source. The source represents the resource the notification was generated for. It can be an order, fulfillment, tracker or feedback.
For instance, the order placed notification source is an order, the delay in fulfillment production notification source is a fulfillment, and all shipping event notifications sources are trackers.
📘
A good way to know if a variable is available when editing an asset is to rely on the auto-complete liquid suggestions displayed in the text field for this asset
Order
VARIABLE NAME
DESCRIPTION
NOTIFICATIONS
TRACKING PAGE
order.email
Customer's email
All
Yes
order.order_number
Order Number
All
Yes
order.ordered_at
Order date, formatted depending on the destination country
All
Yes
order.first_name
Customer's first name
All
Yes
order.last_name
Customer's last name
All
Yes
order.full_name
Customer's full name
All
Yes
order.phone
Customer's phone number (not recommended for the tracking page)
All
Yes
order.masked_phone_number
Masked customer phone number (for instance +33 X XX XX X1 23). Recommended for the tracking page only
All
Yes
order.fulfillment_count
Number of fulfillments for this order
All
Yes
order.tracker_count
Number of trackers for this order
All
Yes
order.language_code
Customer's order language code
All
Yes
order.order_datetime
Order date of the package in timestamp format
All
Yes
order.current_datetime
Current timestamp (for notifications, this will be the time at which the notification is generated. For a tracking page link, the time at which it is accessed, etc...)
Boolean value set to true if at least one of the items of the fulfillment is canceled or partially canceled
Tracker and fulfillment
Yes
fulfillment.tracker_count
Number of trackers for this fulfillment
Tracker and fulfillment
Yes
Tracker
VARIABLE NAME
DESCRIPTION
NOTIFICATIONS
TRACKING PAGE
tracker.tracking_number
Tracking number of the shipped package
Tracker
Yes
tracker.expedition_date
Expedition date of the package
Tracker
Yes
tracker.expected_delivery_date
Expected delivery date of the package
Tracker
Yes
tracker.order_shipment_rank
Shipment rank of the current tracker for its order. e.g., if one package is already shipped, this rank will be 2 for the 2nd package when shipped. Value is null if the package is not shipped yet
Tracker
Yes
tracker.order_delivery_rank
Delivery rank of the current tracker for its order. e.g., if one package is already delivered, this rank will be 2 for the 2nd package when delivered. Value is null if the package is not delivered yet
Tracker
Yes
tracker.fulfillment_shipment_rank
Shipment rank of the current tracker for its fulfillment. e.g., if one package is already shipped, this rank will be 2 for the 2nd package when shipped. Value is null if the package is not shipped yet
Tracker
Yes
tracker.fulfillment_delivery_rank
Delivery rank of the current tracker for its fulfillment. e.g., if one package is already delivered, this rank will be 2 for the 2nd package when delivered. Value is null if the package is not delivered yet
Tracker
Yes
tracker.pickup_changed
Boolean value set to true if pickup point has changed during the life of the tracker
Tracker
Yes
tracker.untracked_carrier_name
Carrier name to be displayed as a fallback if Shipup can't find a matching carrier. This name is the carrier title raw value of your shop transmitted to Shipup.
Tracker
Yes
tracker.untracked_carrier_url
Raw link to the carrier's tracking page as received from your shop. Should only be used in very specific situations where Shipup doesn't know the package's carrier, e.g. for untracked packages
Tracker
Yes
tracker.tracking_link
Link to the package tracking on the carrier's website. If you're using Shipup's tracking page, this link should only be used when you want to bypass the Shipup tracking page and redirect your customer directly to the carrier's website. Not to be mistaken with notification.tracking_link which redirects either to the Shipup tracking page or the carrier's website.
Tracker
Yes
tracker.expedition_datetime
Expedition date of the package in timestamp format
Tracker
Yes
tracker.expected_delivery_datetime
Expected delivery date of the package in timestamp format
Counts the number of occurrences of this same notification for the source of the notification (will be 0 for the first occurrence)
Order, Fulfillment and Tracker
No
notification.tracking_link
Redirects to either the Shipup tracking page or to the tracking page on the shipping carrier's website, depending on the option selected in your tracking page settings
Order, Fulfillment and Tracker
No
notification.cancel_sending
If this variable is rendered in the notification, the notification will not be sent
Order, Fulfillment and Tracker
No
SMS
VARIABLE NAME
DESCRIPTION
NOTIFICATIONS
TRACKING PAGE
short_tracking_url
Shortened URL version for the notification.tracking_link variable. Redirects to either the Shipup tracking page or to the tracking page on the shipping carrier's website, depending on the option selected in your tracking page settings. Looks like https://shp.ai/xxxxxxx (22 characters)
If this variable is rendered in the notification, the notification will not be sent
Feedback
No
feedback.satisfied
Boolean value saying if the user clicked on the satisfied logo or not
Feedback
No
feedback.score
NPS filled up by the customer
Feedback
No
feedback.scenario
Scenario chosen by the customer if any
Feedback
No
feedback.sub_scenario
Sub-Scenario chosen by the customer if any
Feedback
No
feedback.dissatisfied_reason
Concatenation of the scenario and the sub-scenario
Feedback
No
feedback.city
Shipping address city
Feedback
No
feedback.properties
Hash value with all feedback properties
Feedback
No
feedback.free_text
Answer to the last question of the feedback
Feedback
No
MoneyBag variables
In this section, we describe how you can use a MoneyBag liquid variable. xx represents the instance you are using. For instance, if you want to display to formatted price of the item.price, you can replace xx by item.price, which gives {{ item.price.format }}
VARIABLE NAME
DESCRIPTION
NOTIFICATIONS
TRACKING PAGE
xx.format
Formatted price using the presentment_money (amount and currency of the customer)
Depending of the source of the price (order or line item)
Yes
xx.presentment_money.amount
Price of the Order or Line item in the currency of the customer
Depending of the source of the price (order or line item)
Yes
xx.presentment_money.currency_code
Currency code of the Order or Line item displayed to the customer
Depending of the source of the price (order or line item)
Yes
xx.presentment_money.format
Formatted price in the currency of the customer
Depending of the source of the price (order or line item)
Yes
xx.merchant_money.amount
Price of the Order or Line item in the currency of the merchant
Depending of the source of the price (order or line item)
Yes
xxx.merchant_money.currency_code
Default currency code of the Order or Line item of the merchant
Depending of the source of the price (order or line item)
Yes
xx.merchant_money.format
Formatted price in the currency of the merchant
Depending of the source of the price (order or line item)