How to model product compatibility in Shopify
When you sell products with compatible parts, filters, or accessories, customers and staff need to identify what fits without guessing or searching through spreadsheets. This guide explains how to structure compatibility data in your Shopify catalog so those relationships are queryable, maintainable, and surface automatically where needed.
The problem
You sell water filtration systems and replacement filters, HVAC units and air filters, appliances and attachments, or machinery and service parts. Each product has compatible items, but you're managing those relationships in scattered spreadsheets, naming conventions, or staff knowledge.
Customers can't tell what fits. They browse your parts page, see 50 filters, and can't filter to "fits my system." Staff waste time looking up compatibility manually. Every new product or part means updating multiple places. And when compatibility data is wrong or outdated, customers order the wrong item and return it—costing you revenue and support time.
Step-by-step approach
1. Identify compatibility relationships in your catalog
Start by documenting which parts fit which products. Create a compatibility matrix: for every product (filtration system, HVAC unit, appliance), list the parts, filters, and accessories that work with it. For every part, list the products it fits.
This is a many-to-many relationship: one part might fit ten products, and one product might accept twenty parts. Document these relationships in a structured format—not just in your head or in naming conventions, but in queryable data.
2. Choose how to store compatibility data
Shopify offers several options for modeling compatibility:
- • Metafields: Store compatible product IDs or handles in metafields on each product. Flexible but requires custom theme code to surface relationships.
- • Dedicated apps: Use a Shopify app designed for product relationships or compatibility (like OwnerLoop). These provide UI for mapping products and automatic display on storefront.
- • External database: For complex catalogs, store compatibility in a database and query it via your theme or middleware. More development work, but scales for large inventories.
Avoid: spreadsheets that aren't accessible to your storefront, naming conventions that break as you add products, or documentation that only staff can read. Make compatibility data machine-readable and queryable.
3. Model bidirectional relationships
Compatibility should be queryable from both directions:
- • From product to parts: "Show me all filters that fit this filtration system."
- • From part to products: "Show me all systems this filter fits."
Customers usually start from the product they own and look for parts. Staff often start from the part a customer is asking about and confirm which products it fits. Support both patterns in your data model.
4. Surface compatibility automatically on product pages
Once you've structured compatibility data, display it where customers make decisions—directly on product pages. Add sections like "Compatible replacement parts" that pull from your compatibility mappings and show relevant items with add-to-cart buttons. Learn more about selling replacement parts or selling accessories to existing owners.
Customers should never wonder "Does this fit?" The answer should be visible without searching, filtering manually, or calling support. When compatibility is clear, customers buy with confidence—and returns from compatibility mistakes drop.
5. Give staff the same query interface
When customers call asking "Which filter fits my system?" or "What products use this part?", staff should query the same compatibility catalog that powers your storefront—not dig through manuals or outdated spreadsheets.
Provide a staff-facing lookup tool (admin interface, internal app, or customer service portal) that searches your compatibility data. Staff search by product or part and get the correct answer instantly. This reduces support time and ensures customers get consistent answers regardless of who they ask.
6. Handle complex compatibility rules
Some compatibility isn't one-to-one. A filter might fit "all systems with 3-inch inlets" or "models manufactured after 2020." Model these rules as structured attributes, not free text:
- • Store fitment criteria as metafields: inlet size, model year, capacity range.
- • Match parts to products based on attribute compatibility, not just IDs.
- • Surface these rules to customers: "Fits all systems with 3-inch inlet" instead of just "Compatible."
This scales beyond simple product-to-product mappings and lets you handle conditional compatibility automatically.
Common pitfalls to avoid
Relying on naming conventions
If you encode compatibility in product titles ("Filter for Model X200") or SKUs, you're forcing customers and staff to parse text manually. What happens when a part fits multiple models? Naming conventions break down fast. Model relationships explicitly as data.
Using product tags for everything
Tags work for simple categorization but become unmanageable for compatibility. If a filter fits 20 products, you need 20 tags—and your tag list becomes unreadable. Use a system designed for relationships: metafields or a dedicated compatibility app.
Maintaining parallel compatibility lists
If storefront compatibility is stored separately from what staff see, those lists drift. You update the storefront but forget the internal spreadsheet—then staff give customers wrong answers. Keep one source of truth that both systems read from.
Not planning for scale
A solution that works for 10 products and 20 parts might collapse at 100 products and 500 parts. Choose a data model and tooling that scales: structured data, queryable relationships, and systems designed for growth, not manual maintenance.
Common questions
What's the best way to structure product compatibility in Shopify?
Create explicit relationships between products and their compatible items using metafields, tags, or a dedicated compatibility system. Map which parts fit each product, then surface those relationships on product pages and in staff tools. Avoid relying on naming conventions or manual searches—make compatibility queryable and automatic.
Should I use product tags to indicate compatibility?
Tags work for simple compatibility but become unwieldy as your catalog grows. If a filter fits 20 products, you'd need 20 tags on that filter, making tag lists unreadable. Use metafields or a relational system that connects products bidirectionally: products know their parts, and parts know their compatible products.
How do I handle complex compatibility rules (like size and material variations)?
Model compatibility attributes as structured data, not free text. Use metafields to store fitment criteria (e.g., 'Fits systems with 3-inch inlet' or 'Compatible with models 2020+') and match parts to products based on those attributes. This lets you scale beyond one-to-one mappings and handle conditional compatibility.
Should compatible parts be product variants or separate products?
Make compatible parts separate products. Variants are for options within one product (size, color). Separate products give you flexibility to link one part to many parent products, maintain independent inventory and pricing, and let customers find parts through search or direct links.
How do I keep compatibility data in sync between storefront and staff tools?
Maintain one source of truth for compatibility—ideally in Shopify metafields or a dedicated app—that both storefront displays and staff lookup tools read from. When you update which parts fit a product, that change should appear everywhere automatically. Never maintain parallel compatibility lists that can drift.
What if a part fits products from multiple brands or product lines?
Map that part to all compatible products, regardless of brand or line. Compatibility is a many-to-many relationship: one part can fit many products, and one product can have many compatible parts. Use a system that supports these relationships without duplicating data.
Model compatibility with OwnerLoop
OwnerLoop creates a structured compatibility catalog for your Shopify store. Map products to parts once, then surface those relationships everywhere: storefront, staff tools, and customer accounts. No spreadsheets, no manual lookups—just one source of truth. Learn how it works or view a demo.
Structure product compatibility so customers find the right fit.
Build a compatibility catalog that works for both customers and staff—no guesswork required.
Available on the Shopify App Store.