How can I add an order tag to the liquid template for retail and wholesale?

Topic summary

Users are trying to display order tags (specifically “wholesale”) in Shopify’s Order Printer liquid templates to differentiate between retail and wholesale orders.

The Problem:

  • Order Printer templates don’t have access to order.tags, which prevents standard liquid code from working
  • Multiple users attempted various liquid code approaches without success

Attempted Solutions:

  • Standard liquid loops using {% for tag in order.tags %} don’t work in Order Printer
  • Using tags directly (without order.) works in email notifications but not in Order Printer templates

Workaround Found:
One user reports the TagRobot app provides a solution by:

  • Creating a separate “TagRobot Array” (distinct from the standard Tags array)
  • This array is readable within Order Printer templates
  • Tags can be added to this array simultaneously when tagging orders
  • The array can pass data but cannot be deleted

The discussion remains partially resolved—while a third-party app workaround exists, no native Shopify solution has been identified.

Summarized with AI on November 11. AI used: claude-sonnet-4-5-20250929.

How do you add an order tag to the liquid template? I know very little about coding and want to be able to distinguish between retail and wholesale orders.

These are what I’ve tried so far and none of them have worked:

{% for tag in order.tags %}
{% if tag contains “wholesale” %}

{{ tag }}

{% endif %} {% endfor %}

{% for tag in order.tags %}
{{ tag }}
{% endfor %}

{% for tag in order.tags %}
{% if tag.contains “wholesale” %}
{% assign tag = wholesale %}
{% endif %}
{% endfor %}

Thanks for any help!

1 Like

If you’re doing this in the order notification email, try this:

{% for tag in tags %}
  {% if tag contains "wholesale" %}
    

{{ tag }}

  {% endif %}
{% endfor %}

With those notifications it already accesses the order object, so you go directly to the property (tags). Reference: https://help.shopify.com/en/manual/orders/notifications/email-variables#order-fulfillment

Sorry I didn’t really specify. I’m trying to add to our invoice so for the order printer template.

I’m having the same issue. What I found in the documentation is that order printer does not have access to order.tags, which is why the code blocks above don’t work. Were you able to find a fix?

did you ever find a solution to this? I need the tags to show up on my invoice

Unfortunately, no. I haven’t found a solution yet.

You can now do this in a way with the TagRobot app. At the same time it adds a tag to your order, it can add a tag to an array that is readable in Order Printer. No way to delete that array, but it can be used to pass data on. Very easy to use. And it’s not the Tags array, but a TagRobot Array. Solves the issue and just came out.