Label Customization

Add or modify information on the shipping label that is returned from the carrier.

About label customization

Your organization may need to add or modify information on the shipping label that is returned from the carrier. In order to make this process as simple as possible, Shipium provides two facilities to make this work.


Make sure label changes are approved

There is very little room on most carrier labels, and carriers do not like you to modify them.

If you are planning on augmenting a label, you will need to work with the specific carrier to get any changes approved through their process.

Be aware that some carriers require an annual recertification if you are making modifications.

To find guidance on configuring your organization's preferred label settings within the Shipium Console, see Label Configuration.

ZPL label injection

First you will need to add an additional piece of Zebra Programming Language (ZPL) to be inserted at the end of a label before it is returned or rendered for the carrier for which you want to add such an augmentation.

Your Shipium Implementation or Customer Success team members can help you implement this ZPL based on what changes you're trying to make to a given carrier's label.

Macro values in a configured ZPL

Most importantly, you can add custom data into your label augmentation.

Within the ZPL that is to be injected, you can insert one or more pieces of text that will be replaced, based on values passed when requesting a label.

Within the label itself, this looks like a piece of text starting and ending with an underscore and is all caps. For instance, you might want to insert an order ID value into your label. Assuming our ZPL is the following:


The _ORDER_ID_ text would be replaced with data passed into the call using the customLabelEntries map that is passed as part of the label information in label creation calls.

Pass per-shipment data to the ZPL label augmentation

In both the Shipment Label API call or the all-in-one Carrier and Method Selection & Shipment Label API call, you can pass the optional customLabelEntries map with values to be replaced in the custom ZPL label augmentation that you have configured. In both cases, this element should be part of the labelParameters entity.

Again, using the above custom ZPL label augmentation as an example, in order to replace the ORDER_ID placeholder macro with your value for a particular value, you would pass in the following additional JSON as part of the label data:

  "labelParameters": {
    "testMode": true,
    "customLabelEntries": {
        "order-id": "ORD-12345-TEST"

This results in the value ORD-12345-TEST replacing the ORDER_ID macro placeholder when the label in question is generated.


More information on the API responses

As with all Shipium API responses, this API follows the API Response Codes standards unless otherwise specified.


Your Shipium team member is available to help along the way. However, you might find these resources helpful: