Product conditions

Last updated: September 23, 2026

Product conditions match the items in the cart: tag, collection, product category, type, vendor, title, SKU, barcode, HS code, country of origin, specific products or variants, metafields, line item properties, unit price, and line quantity. On a cart fee they decide whether the fee applies; on a per-product fee they also select exactly which items are charged.

Pick instead of typing. Products, variants and collections are chosen with Shopify's own picker; tags, types and vendors autocomplete from your catalog; metafield keys come from your definitions. About the pickers.
How matching works. For a cart fee, the fee is added when at least one item in the cart matches (negative rules: when none matches). For a per-product fee, every matching item is charged and the quantities multiply the fee. Text rules accept comma-separated lists for is one of.

Product tag

Rules: contains, does not contain, is one of, is not one of.

Matches Shopify product tags, the workhorse for fee targeting: tag the affected products once and the fee follows them forever. Tags power the Pfand deposit (tag deposit) and California CRV (tags crv5, crv10 for the two rates).

Collection

Rules: contains, does not contain, is one of, is not one of. Value: collections chosen with Select collections are matched by ID, so renaming a collection does not break the fee; contains matches typed text in the title. Older conditions saved by title keep working and show as matched by title.

Matches products by the collections they belong to. Handy when your catalog is already organized: everything in Beverages carries the deposit, everything in Furniture the weight-based eco-participation, with no extra tagging.

Product type

Rules: contains, does not contain, is one of, is not one of.

Matches the standard Product type field. The French eco-participation preset uses it (type small appliance), as do mattress and tire recycling fees. Values autocomplete from your catalog.

Product category

Rules: is one of, is not one of.

Matches the Category field on the product page (Shopify's Standard Product Taxonomy), picked from a search box. A parent category covers every subcategory: Beverages includes Beer. Products without a category set are not matched. Full guide.

Vendor

Rules: contains, does not contain, is one of, is not one of.

Matches the product's vendor field. Typical for a dropship handling fee: items shipped from a partner's warehouse carry their surcharge, your own stock does not.

Product title

Rules: contains, does not contain, is one of, is not one of.

Is one of matches the product name; contains matches the full "Product - Variant" text, so it can also catch variant names. Useful when a naming convention already marks the products, for example titles containing OVERSIZED add a bulky handling fee.

SKU

Rules: contains, does not contain, is one of, is not one of.

Matches variant SKUs. With a disciplined SKU scheme, contains FRZ- puts a cold pack fee on all frozen items, and a parts list by SKU drives a core charge.

Barcode

Rules: contains, does not contain, is one of, is not one of.

Matches the variant barcode field (ISBN, UPC, GTIN). Deposit and recycling programs often publish covered-product lists by GTIN; paste them into is one of and the bottle deposit lands exactly on the listed containers.

HS code

Rules: contains, does not contain, is one of, is not one of, starts with, does not start with.

Matches the variant's Harmonized System code from the product's shipping settings. HS codes are hierarchical, so starts with is the star: starts with 8517 covers a whole tariff heading, 85 a whole chapter. You can type codes dotted (8511.20) or bare (851120); both work. Items without an HS code never match. This is the precision tool behind the tariff surcharge.

Country of origin

Rules: is one of, is not one of.

Matches the variant's country of origin (two-letter ISO codes, from the product's shipping settings). Note the codes are not always obvious: GB is the United Kingdom, DE Germany, CN China. Comma-separate several, like CN,VN. Items without an origin set never match. The tariff preset combines this with a percentage-of-cost fee.

Product IDs

Rules: is one of, is not one of.

Click Select products and choose them with Shopify's picker; they show as chips with names and thumbnails. Enter IDs manually still accepts IDs or a pasted admin URL, up to 1,000 per condition. The bluntest and most precise tool: exactly these products, nothing else. Good for short, stable lists like a handful of deposit bottles.

Variant IDs

Rules: is one of, is not one of.

Like product IDs but at variant level, chosen with Add variants. When only the assembled variant of a product should carry an assembly fee, or only the glass-bottle variant a deposit, target the variant IDs directly.

Product metafield

Rules: contains, does not contain, is one of, is not one of. Value format: namespace.key:value1,value2.

Matches custom product metafields, for structured data that tags should not carry: custom.battery:true drives a battery recycling fee, custom.screen_size:large an e-waste fee tier. The metafield definition needs storefront access enabled so its value is readable; list metafields match when any entry matches. Keys can be picked from your store's definitions: see Metafields in FlexiFees.

Variant metafield

Rules: contains, does not contain, is one of, is not one of. Value format: namespace.key:value1,value2.

The same idea one level down, on the variant. When only some variants are glass (custom.material:glass), a fragile handling fee hits exactly those.

Line item property

Rules: contains, does not contain, is one of, is not one of. Value format: key:value1,value2 (use * for any value).

Matches options saved on the individual cart line, the way themes record engraving text, gift wrap choices, or uploads. Engraving:* charges the personalization fee only on lines that actually have an engraving; plain lines of the same product stay free. Also the cleanest route to a per-item gift wrap fee.

Product price (per-product fees only)

Rules: is greater than or equal to, is less than or equal to, is equal to, is not equal to.

The unit price of a single line after discounts, in your store currency. Every line whose own price passes is charged: items of 500 or more get white-glove handling. Combine with a tag or type condition to narrow the range.

Line quantity (per-product fees only)

Rules: is greater than or equal to, is less than or equal to, is equal to, is not equal to.

The quantity of one product line, not the whole cart. Six or more of the same wine triggers a case-packing fee on that line. For the cart-wide count use total quantity.

Related

Start free trial on Shopify