Skip to main content

Shopify Collections: Sources, Conditions and Limits Explained

How Shopify collections work today: sources, every condition and limit, what replaced manual and smart collections, and how to map a category tree.

Shopify Collections: Sources, Conditions and Limits Explained

Shopify collections group products into pages such as /collections/gas-stoves that shoppers browse, open from menus and filter. You fill a collection by hand, with conditions on product fields (tags, product type, vendor, price, metafields and more), or with both. Collections are available on the Basic plan and higher.

Shopify is replacing its two classic types, manual and smart (automated) collections, with one collection type built from sources, and its Help Center now labels the old types "legacy". In admins where the new model is live, existing collections were converted automatically; stores that do not have it yet keep manual and smart collections for now. This guide starts with the source-based model, then covers every condition type and its limits, how to map a category tree onto collections and the errors that leave products in the wrong place.

How a Shopify collection is built from sources

A collection has one or more sources, and its contents are everything those sources return; a product that two sources return appears once. Shopify's collection docs list four source types:

  • Products: conditions and manual picks over your product list, with whole products included.
  • Variants: the same, but only the matching variants are included, so a "Red" collection shows red swatches and red prices only.
  • Collection: the products of another collection, which is how nesting works (a Teaware collection built from Teapots, Steepers and Infusers).
  • App: products supplied by an app source, such as a trending-products list.

Each source can also exclude products, by condition or by hand, or exclude another collection, though not by hand and by collection in the same source. Exclusions always win over inclusions. The new features come with store-wide limits:

Shopify collection limits

Conditions per collection60All collections
Collections with any conditions5,000Per store
Collections that contain another collection50Per store
Collections that exclude another collection5Per store
Collections with variant-level items100Per store
Metafield definitions usable in conditions128Per product and per variant definitions
Showing 6 of 6 rows
Few stores reach 5,000 collections, but the nesting, exclusion and variant limits are low enough to plan around.

Sources: creating collections and collection conditions in the Shopify Help Center. If an app or PIM syncs your products, check that it supports the new model: Shopify's migration guide for developers says apps on Admin API versions before 2026-07 do not see collections that use the new features (several sources, exclusions, nested or variant sources), so they can neither read them nor add products to them.

Manual and smart collections in stores without the new model

A manual collection holds exactly the products you add, until you remove them. It suits curated pages: a gift guide, a lookbook, a launch. It does not scale: every new product has to be added by someone.

A smart collection includes every product that matches its conditions, and you choose whether products must match all conditions or any one. It adds whole products only, never single variants. In the new model the same jobs are done by a Products source: hand-picked products in place of a manual collection, conditions in place of a smart one.

Which one to use is mostly a question of who maintains it. If a person decides membership (a buyer's picks for a holiday guide), hand-picking is honest and fine. If a product field decides membership (all gas stoves, everything under EUR 50), use conditions, because a hand-kept list goes stale the first time someone adds a product and forgets the collection. The source-based model removes the either-or: a condition-based source can carry a few hand-picked extras and a few manual exclusions in the same collection.

Every condition type for automated collections

Conditions work in Products and Variants sources. Only four condition types can also exclude products: product category, tag, type and vendor. The full list, from Shopify's conditions reference:

Collection condition types and operators

Product title, variant titleis equal to, is not equal to, starts with, ends with, contains, does not containNocontains needs 3+ characters
Product type, vendorSame six text operatorsYesFree text: "Stove" and "Stoves" are different values
Product categoryis equal to, is not equal toYesOptional Include subcategories
Tagincludes, does not includeYesSpecial characters may be ignored
Product statusis equal to, is not equal toNoWith Match any, it adds every product with that status
Price, weight, inventory stockis equal to, is not equal to, is greater than, is less thanNoA product matches if any variant matches
Compare-at priceNumeric operators plus is set, is not setNo0 counts as set; empty does not
MetafieldDepends on type: true/false, integer, decimal, rating, single line textNoTurn on the collections setting first
Metaobject reference metafieldis equal toNoLets you filter on standard taxonomy attributes
Showing 9 of 9 rows
Text fields support partial matches; numeric fields have no greater-or-equal operator, which is the source of many off-by-one-cent errors.

Two operator details cause most surprises. There is no "greater than or equal to", so a collection for EUR 50 to EUR 150 needs price is greater than 49.99 and price is less than 150.01, with Match all conditions. And in a Products source, a condition such as inventory stock is greater than 0 is true when any single variant matches, so a product with one size left stays in an "In stock" collection.

Condition recipes for six everyday collections

Most stores need the same handful of automated collections. These recipes use only the condition types above; adjust values to your catalog.

  • Sale: compare-at price is greater than 0. A compare-at price of 0 counts as a value, so is set can pull in products that are not on sale; greater than 0 keeps zero and empty values out, and a product drops out once you clear the compare-at price on all its variants.
  • New in: tag includes new-in, with the tag added on import and removed after 30 days by a Shopify Flow or a bulk edit. Shopify has no condition on the creation date, so a tag or a sort order does this job.
  • Brand page: vendor is equal to the brand name, for example Nordvik (a fictional brand used only for this example). One collection per brand, created when the brand enters the catalog.
  • Gifts under EUR 50: tag includes gift, price is less than 50.01, Match all conditions. Keep the tag list short so the collection stays curated.
  • In stock only: inventory stock is greater than 0. Remember that one variant in stock keeps the whole product in a Products source; switch to a Variants source if size-level accuracy matters.
  • Red for a campaign: a Variants source with a condition on the Color category metafield, so only red variants appear, with red swatches and red prices. This needs color connected to the category metafield, and it counts toward the store limit of 100 variant collections.

The order of products is a separate setting on each collection, and manual sorting is one of the options. If you sort an automated collection manually, check where newly matched products land after each import.

Tags, product type or metafields: which field a collection should read

Every condition is only as good as the field behind it. Choose the field by how much structure the rule needs:

  • Product type: one free-text value per product. Good for a single merchandising class ("Gas stove") if the values come from a fixed list. See the product type entry for how it differs from category.
  • Vendor: Shopify's brand field. Use it for brand collections, nothing else.
  • Tags: many per product, unstructured. Fine for campaigns ("bf-2026") and flags ("new-in"). Collection conditions ignore special characters in tags or treat them as the same (red_new and red-new match alike), so stick to plain letters, numbers and hyphens.
  • Metafields: typed values such as fuel_type = gas or capacity_l = 2.5, which allow numeric ranges. They need a definition with the collections setting turned on. Our Shopify metafields guide covers definitions and types.
  • Product category: the one standard category per product from Shopify's taxonomy, with an Include subcategories option.

A practical rule: use typed fields (category, product type, metafields) for structural collections that mirror your catalog, and keep tags for temporary or marketing collections. Collections built on tags tend to drift as people invent spelling variants.

Turning a category tree into Shopify collections

Shopify collections are flat: there is no parent field. Hierarchy comes from two places, nested collections and menus. A main menu item can hold up to two levels of drop-down items in most themes, so three levels of navigation in total. Take an outdoor cooking store with this tree: Cooking > Stoves > Gas stoves, Cooking > Stoves > Multi-fuel stoves, Cooking > Cookware > Pots.

From category tree to collections and menus

Loading diagram
Leaves get condition-based collections, parents reuse their children through a Collection source, and the menu carries the hierarchy shoppers see.
  1. Leaves first. Create one collection per leaf (Gas stoves, Multi-fuel stoves, Pots) with a condition on a typed field, for example product type is equal to "Gas stove" or a metafield fuel_type = gas.
  2. Parents as nested collections. Build Stoves from the Gas stoves and Multi-fuel stoves collections through a Collection source. It updates itself when a child changes. Mind the store limit of 50 nested collections.
  3. Top level as a menu item. Cooking can be a collection too, but it often works better as a menu heading with the Stoves and Cookware drop-downs below it.
  4. Handles that read like the tree. Use /collections/gas-stoves, not /collections/gas-stoves-1 left over from a duplicate.
  5. Write the collection description and SEO fields. Each collection is an indexable page; our Shopify SEO checklist covers titles and descriptions.

Keep the tree itself in one place. If categories live in a spreadsheet, the webshop and a marketplace feed, they drift within a season. Decide the levels before you build anything in Shopify.

Moving from Magento or WooCommerce makes this step concrete. Both platforms store categories as a real tree with parent IDs and assign products to any level. On Shopify that becomes flat collections plus menus, so decide per old category whether it turns into a condition-based collection, a nested collection or only a menu heading. Old category URLs also change to /collections/handle, which means redirects for every category page that had traffic. Our Magento to Shopify migration guide maps the rest of the catalog field by field.

A category tree with product counts per branch: the structure you map onto Shopify collections, with empty branches (0 products) visible before they become empty collection pages.

Shopify Standard Product Taxonomy versus collections

The two are easy to confuse and do different jobs. The product category comes from Shopify's Standard Product Taxonomy: one per product, a fixed list such as Apparel & Accessories > Clothing > Clothing Tops > Shirts. It gives access to category metafields (size, neckline, fabric), helps channels such as Google and Facebook, and decides tax rates when you use Shopify Tax. Shoppers do not browse it directly.

Collections are your own merchandising: as many per product as you like, named the way your shoppers think. The link between them is the Product category condition, so a Shirts collection can follow the taxonomy with Include subcategories instead of a hand-kept tag. Our Shopify product taxonomy guide explains the category structure and how to pick the right leaf, and the product category finder suggests a category from a product title.

Seven collection errors and the fix for each

Collection checks before you publish

0 of 7 done0%

Most of these come from Shopify's troubleshooting notes on conditions. Most are data problems at heart: a condition on product type fails because one product says "Gas Stove" and another "gas stoves". Fixing values at the source beats adding more conditions.

How WISEPIM categories reach Shopify as collections

WISEPIM's Shopify connection works with collections in both directions. On import, your Shopify collections become WISEPIM categories and products are linked to them. On export, categories become collections (manual ones by default), and each exported product joins the collections linked to its categories. Joining is additive: WISEPIM does not remove a product from a collection. Collections that select products by conditions keep doing that on their own, and the connection does not read collections built with several sources, exclusions or variant sources. The export also writes the brand to Vendor, and you can map your own attributes to Product type and Tags, the fields most collection conditions read.

Category export to Shopify creates collections from your categories; because Shopify collections are flat, the hierarchy itself lives in your menus or nested collections.

The category management features page covers the category tree, bulk assignment, AI categorization and category export to Shopify and other stores.

Diego Nijboer

CTO and Co-Founder at WISEPIM, building AI-powered solutions that transform product data management for e-commerce businesses. Over 10 years of experience solving complex technical challenges in e-commerce and PIM systems.

Frequently asked questions

Still have questions?

Can't find the answer you're looking for? Please get in touch with our team.

Contact Support

In the classic model, a manual collection contains only the products you add by hand, and an automated (smart) collection adds every product that matches its conditions, such as a tag or a price range, and drops products that stop matching. Shopify's newer source-based model replaces that split: one collection can combine conditions, hand-picked products and exclusions.

Shopify allows up to 5,000 collections that use conditions per store, and each collection can have up to 60 conditions. Tighter limits apply to the newer features: 50 collections that contain another collection, 5 that exclude another collection and 100 with variant-level items. Collections are available on the Basic plan and higher.

Yes. A product can sit in as many collections as you like, by condition or by hand. That is the main difference with the product category from Shopify's Standard Product Taxonomy, which allows exactly one category per product. If several sources of one collection return the same product, it is shown only once.

Not through a parent field. You get hierarchy in two ways: a collection with a Collection source that includes other collections (up to 50 such collections per store), and menus, where a main menu item can hold two nested drop-down levels. Most stores use both: nested collections for the pages and menus for navigation.

Usually the field value does not match exactly: a different spelling of the product type, a tag with special characters, or a price exactly on the boundary of a greater than condition. Check the product's values against the conditions. If they match and the product is still missing, Shopify suggests saving a small change to the product or the collection to force a refresh.

Keep exploring

Hand-picked next steps to go deeper.

Better product data, better results.Get more sales.

4.7