facebook tracking image

The Future Of Shopify Product Tags

The Future Of Shopify Product Tags Cover Image Tags have been and still are the workhorses of Shopify. Being super easy to work with led to them being utilized for almost everything in Shopify - from filtering to automating business processes. That being said, tags have many limitations that might affect your store sooner or later.

In this article I am going to explain how Shopify is moving away from tags for certain scenarios, why that is the case, and what you can do about it to utilize the full capabilities of the platform and improve your store.

Limitations of Shopify Tags

Tags were never imaged to be used for such wide array of scenarios and to turn into the monstrosity of today. Let me provide a few examples to better illustrate what I mean.

Problems With Special Characters

Tags do not work well with special characters like $, #, &, +, and the like. If you read the official documentation, you will uncover that Shopify does not recommend the use of special symbols in tags besides the hyphen (-) character. This policy was never enforced in any meaningful way so stores ended up using tags to store all kinds of information.

Recently several of our clients what had problems setting or renaming tags and all problems were due to using special characters. For example, trying to add the tag “Sometag-One” while the tag “Sometag:One” exists will not work (notice the use of “:” vs “-”). As far as Shopify is concerned those tags are the same. Trying to add the more complex tag "__label:Sometag twv €345,-" will simply fail, again, due to the use of multiple symbols.

The truth is that special characters are usually required whenever you need a value that has some other purpose besides being a tag itself - the most common scenarios being filtering and presenting information on the front-end. There are now better ways to handle those scenarios.

No Data Types & No Validation Capabilities

Since tags are random strings, it is very difficult to impose constraints on their structure, length, and permitted values. One of the main sources of problems for merchants is incorrect tags which usually results in lost revenue because products appear in the word categories or do not appear at all.

There are no built-in Shopify tools that allow merchants to put constraints on tags. Some apps like Tag Genie allow tags to be grouped logically and allow validations to be put in place but there are limitations on what you can validate.

Poor Filtering

Another major usage of tags is filtering. The standard way of doing filtering before the introduction of Online Store 2.0 was to use the so called tag groups where the tag prefix will serves as filter name and the value after the prefix served as a filter value displayed to the users. Here is an example:

If you want to have a “Type” filter on you site, you would put one of the following tags on your products: type_Bracelets, type_Bracelets, type_Bracelets, type_Brooches, type_Earrings, etc.

While that worked well enough it had serious limitations as to what themes could present as UI to the user. What if you wanted to have a color filter that shows color swatches. What about displaying a nice range slider for numeric values. Since tags are just text values, Shopify themes could not know the data type that each tag represents. While there were workarounds for such cases, it was not the most optimal wat to do filtering. With the advent of OS 2.0 and improvements to metafields, we can how have beautiful data-type-driven filters.

Advantages of Shopify Tags

It wouldn’t be fair to tags to omit talking about the pros of using tags. One of the main advantages of tags is that they are super easy to use. Most automations in Shopify rely on tags and tags are the easiest way to integrate different applications together - that is how many applications “talk” to each other. But as we know “With great power comes great responsibility”.

Now, having all of that in mind, what is the future of Shopify product tags?

The Future Of Product Tags

Tags are an integral part of Shopify but metafields are now the preferred option for some use cases. Let’s take a look at the main scenarios where tags are used and determine the optimal approach.

Filtering is a major use case for most Shopify stores. With the arrival of OS 2.0 which makes it super easy to add filtering by common product attributes as well as metafields, I would recommend to plan a migration to metafields. Most themes now support OS 2.0 and you automatically get amazing filter UI based on the content type of your metafields. You can learn more about content types here.

Product Attributes are another area where migrating to metafields is recommended. The rule of thumb is: if you are going to display a piece of information on the front-end, you will be better of using metafields. Metafields have been integrated inside Theme Editor and you can easily add any metafield to your product description page. In addition to that you can add validation rules that will make sure that incorrect values are not set.

Automation & Integration This is still an area where tags shine. Tagging products so that applications can look for certain tags and perform actions based on those tags is super easy to do. No need to change anything here.

Categorization Using tags to create Smart Collections is still valid, just make sure that you are not using tags where you can actually use a field like vendor, type, etc.

What about Order and Customer Tags

Everything that has been “said” so far applies to order and customer tags. Generally, you do not want to migrate tags to metafields here since those tags are usually used for categorization and automation and those use cases would not benefit from metafields.

Tags Best Practices

Before I close, I would like to leave you with a list of best practices for using product, order, and customer tags that might help you better organize you store.

Always prefix your tags. Logically group tags by using a prefix to be able to more easily identify and apply tags. For example, use tag color-pink instead of just pink.

Keep tags to a minimum to reduce the overhead of managing them. Many stores add tags that are duplicates of already existing product fields like vendor, type, etc. This was previously needed to enable filtering but as we discussed this is no longer needed with OS 2.0.

Automating tags is one of the best ways to reduce overhead and make sure that you have correct tags all the time. There are many Shopify apps that will allow you to do that. In case you are uncertain of how to best do that, our team can certainly help. We can a draft a tag strategy plan for your company and consult you on the best way to reduce overhead and reduce revenue lost to incorrect or missing tags.

Use metafields for any information that you would like to be displayed on your website and/or be available as a filter. Custom attributes for pricing, colors, dimensions, etc. are better suited as metafields as opposed to tags.

Additional Resources

Here are some additional resources that can help you get started with metafields and tag best practices.

I hope this article will help you better organize your store.

In case you are not sure how you can to reduce the overhead of managing tags for your Shopify store, make sure to contact our team so that we can prepare an actionable tag strategy plan.

Lear more about our Shopify Tag Strategy Consultation
Key Value
Template layouts/posts/single.html
Content Source posts/2022-09-30-future-of-tags/index.md
Type posts
Kind page
Section posts
maps.Params{"author":"Milan Nankov", "categories":[]string{"Articles"}, "date":time.Date(2022, time.September, 30, 0, 0, 0, 0, time.UTC), "draft":false, "image":"posts/the-future-of-shopify-product-tags/featured.png", "images":[]string{"posts/the-future-of-shopify-product-tags/featured.png"}, "iscjklanguage":false, "lastmod":time.Date(2022, time.September, 30, 0, 0, 0, 0, time.UTC), "publishdate":time.Date(2022, time.September, 30, 0, 0, 0, 0, time.UTC), "slug":"the-future-of-shopify-product-tags", "summary":"Shopify is moving away from tags for certain scenarios. It is now a best practise to use metafields. Learn why that is the case and what you can do about it.", "tags":[]string{"Tags"}, "thumbnail":"posts/the-future-of-shopify-product-tags/featured.png", "title":"The Future Of Shopify Product Tags"} (type:maps.Params)
SiteInfo Variable Value
Title "Tag Genie - Bulk Edit & Automate Tags for Shopify"
LastChange 2022-12-05 00:00:00 +0000 UTC
DisqusShortname ""
GoogleAnalytics "G-DZMZT5Y535"
Copyright ""
RSSLink "https://taggenieapp.com/index.xml"
LanguageCode "en-us"
BuildDrafts false
Params maps.Params{"debugbar":true, "font_base":"'Lato'", "font_heading":"'Roboto'", "footer":maps.Params{"description":"Bulk edit & automate product, customer, and order tags & metafields for Shopify. Reduce overhead and improve sales by fixing missing or incorrect tags.", "facebook":false, "footer_primary_heading":"Product", "footer_secondary_heading":"Resources", "footer_tertiary_heading":"Support", "linkedin":"https://www.linkedin.com/company/tag-genie/", "show_footer_logo":true, "show_menu_footer_primary":true, "show_menu_footer_secondary":true, "show_menu_footer_tertiary":true, "show_social_media_links":true, "show_zerostatic_link":false, "twitter":"https://twitter.com/taggenie", "youtube":"https://www.youtube.com/channel/UCxRhEM0h12RRcLveP2h4Grg"}, "global":maps.Params{"header_fixed":true}, "grey_color":"#E6E9F5", "hero":maps.Params{"hero_background_gradient_one":"#2b3af7", "hero_background_gradient_two":"#2b8cf7"}, "homepage":maps.Params{"features_title":"Take control of your tags!", "show_features":true, "show_testimonials":true, "testimonials_title":"What people are saying..."}, "mainSections":[]string{"posts"}, "mainsections":[]string{"posts"}, "primary_color":"#4654A3", "secondary_color":"#E6E9F5", "secondary_light_color":"#E6E9F5", "sitename":"Tag Genie - Bulk Edit & Automate Tags for Shopify", "title_suffix":"Tag Genie for Shopify"} (type:maps.Params)
navigation.Menus{"footer_primary":navigation.Menu{(*navigation.MenuEntry)(0xc0002c3790), (*navigation.MenuEntry)(0xc0002c3a00), (*navigation.MenuEntry)(0xc0002c3ad0)}, "footer_secondary":navigation.Menu{(*navigation.MenuEntry)(0xc0002c3ba0), (*navigation.MenuEntry)(0xc0002c3c70), (*navigation.MenuEntry)(0xc0002c3ee0)}, "footer_tertiary":navigation.Menu{(*navigation.MenuEntry)(0xc000348410), (*navigation.MenuEntry)(0xc0003485b0)}, "main":navigation.Menu{(*navigation.MenuEntry)(0xc0002c3110), (*navigation.MenuEntry)(0xc0002c3520), (*navigation.MenuEntry)(0xc0002c35f0), (*navigation.MenuEntry)(0xc0002c36c0)}} (type:navigation.Menus)