
undefinedπ Global Standard: Our open-source, standardized product taxonomy establishes a universal language for product classification. Comprehensive and already empowering merchants on Shopify.
undefinedπ©πΌβπ» Integration Friendly: With a stable structure and diverse formats our taxonomy is designed for effortless integration into any system.
undefinedπ Industry Benchmark: Spanning 25+ essential verticals, our taxonomy encompasses categories, attributes, and values, all thoughtfully integrated within Shopify and numerous marketplaces.
Learn more on help.shopify.com
Our taxonomy is an open-source comprehensive, global standard for product classification. Itβs a universal language that empowers merchants to categorize their products. Spanning 25+ essential verticals, our taxonomy encompasses categories, attributes, and values, all thoughtfully integrated within Shopify and numerous marketplaces.
Ready to dive in? Explore our taxonomy interactively to visualize and discover whatβs published across the many categories, attributes, and values.
This repository is the home of Shopifyβs Standard Product Taxonomy. It houses the source-of-truth data, the distribution files for implementation, and the source code that makes this all sing.
You can think of this repository serving 3 primary users:
Dive straight into dist to find the files you need and integrate this taxonomy into your system.
We offer txt and json formats to make it easy to integrate with your systems. If you have a specific format youβd like to see, please open an issue and let us know!
To make it easier to integrate with the taxonomy, we have also included a set of data called mappings. These are rules that can be used to convert between categories and attributes in the Shopify taxonomy to categories and attributes of another taxonomy. For more on mappings see documentaton in the integrations directory.
Submit a taxonomy tree change request to give us insight and evolve the taxonomy. This is the simplest way to effect change.
Alternatively, you may submit PRs directly yourself against the source-of-truth files in data/.
If you make changes to any files in data/, youβll need to update the distribution files by running:
cd dev
bundle install
bin/product_taxonomy dist
Our taxonomy supports translations to various languages in the localizations directory. To report a translation issue (non-English text), submit a localization fix request.
Everything else is how we manage the taxonomy and generate distributions. This is where the magic happens.
In the dev/ subfolder is a simple ETL app composed of a few core models. Jekyll is used to serve the documentation locally and on GitHub pages.
ruby, version matching dev/.ruby-versioncue, version 0.7.x or highercd dev && bundle installHere are the commands youβll use most often:
cd dev
# Download dependencies
bundle install
# Commands to manage the taxonomy
bin/product_taxonomy dist # build the dist files
bin/product_taxonomy docs # build the documentation files
bin/product_taxonomy release # generate a release
# Development tasks (via Rake)
bundle exec rake test # run all tests
bundle exec rake test:unit # run unit tests only
bundle exec rake test:integration # run integration tests only
bundle exec rake benchmark # run benchmarks
# Docs
bundle exec rake docs:serve # start Jekyll server for doc microsite
# Schema validation tasks
bundle exec rake schema:vet # validate all schemas (data and dist)
bundle exec rake schema:vet_data # validate data schemas only
bundle exec rake schema:vet_dist # validate distribution schemas only
βββ data
βΒ Β βββ attributes.yml # source-of-truth for attributes
βΒ Β βββ return_reasons.yml # source-of-truth for return reasons
βΒ Β βββ categories # source-of-truth for categories
βΒ Β βββ integrations # integrations and mappings between taxonomies
βΒ Β βββ localizations # localizations for categories, attributes, values, and return reasons
βΒ Β βββ values.yml # source-of-truth for values
βββ dev # ETL app for managing the taxonomy
βββ dist # generated distribution files
βββ docs # documentation microsite served with Jekyll
We welcome contributions! Before we can merge any changes you submit via PR, youβll need to sign the Shopify CLA (a friendly robot will help when you open your first PR π€).
You can always find the current published version in VERSION. The changelog is available in CHANGELOG.md.
Versions are determined by CalVer, in sync with Shopifyβs API release schedule.
That means a stable release every 3 months at most, at the beginning of the quarter. Version names are date-based to be meaningful and semantically unambiguous (for example, 2024-07).
Formal releases are published as Github releases and available on the interactive docs site.
Shopifyβs Product Taxonomy is released under the MIT License. So go ahead, explore, play, and build something awesome!
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.