Contents

Vehicle fitment lets shoppers save the vehicle they drive and then see, everywhere in the store, which parts fit it. It is built into the theme: no app, no monthly fee. You describe your vehicles once, tag each part with the vehicles it fits, and Shopify's own filtering does the rest.

What shoppers see

  • Vehicle finder: "Find parts that fit" with numbered steps Year, Make, Model and Engine (or Make, Model, Year). Each step unlocks when the one before has a value. The engine step only appears when the chosen model and year have more than one engine. An optional Category step appears when the finder lists categories. Find parts opens the matching parts. The finder sits over the hero photo (Hero layout Photo with finder), as a Vehicle finder section anywhere, inside My garage, and as a bar on collection pages.
  • My garage: a header button and drawer that keeps up to 3 vehicles in the shopper's browser, newest first. Shoppers pick the active vehicle, shop parts for it, remove it or add another; saving a fourth replaces the oldest. On phones a strip under the header reads "Shopping for 2018 Toyota Hilux" with a Change link. Nothing is stored on your store or in the customer's account.
  • Collection vehicle bar: above the product grid. With no vehicle saved it is a compact finder ("Find parts that fit your vehicle"). With a vehicle saved it offers "Show parts that fit your 2018 Toyota Hilux". Once applied it reads "128 parts fit your 2018 Toyota Hilux" with Change vehicle and Show all parts, and a "Fits: 2018 Toyota Hilux" chip joins the active filters. Other filters and sorting keep the vehicle. If nothing in the collection fits, shoppers see "No parts in Brakes are listed for your 2018 Toyota Hilux" with links to show everything or ask you about fitment.
  • Product cards: "Fits your Hilux" in the fit colour when the saved vehicle is listed for the product, or "Universal fit". Cards never say a part doesn't fit.
  • Fitment check (product page): one of five panels: Fits your 2018 Toyota Hilux ("Checked against 24 vehicles listed for this part"), Not listed for your 2018 Toyota Hilux (with "See parts that fit" and "Ask us about fitment"), Fits some 2018 Toyota Hilux engines ("Check the table below for your engine"), Universal fit, or Will it fit? with an Add vehicle button when no vehicle is saved.
  • Fitment table (product page): every vehicle the part fits, with Make, Model, Years ("2015–2024", or "2019 on" for a current model) and Engine ("All engines" when blank). The shopper's vehicle is highlighted and tagged "Your vehicle". Long lists show the first rows with Show all and a "Filter by make or model" box.

How it works

Three pieces of Shopify data drive everything:

  1. a Vehicle metaobject: one entry per vehicle (or generation of a vehicle);
  2. a Fitment product metafield, custom.fitment: on each product, the list of Vehicle entries it fits;
  3. a Fitment filter in Shopify's Search & Discovery app, so collection and search pages can filter by vehicle.

When a shopper picks a vehicle, the theme finds every Vehicle entry it matches and opens the collection filtered to products that list any of those entries (plus universal parts, if you allow them). A vehicle matches an entry when:

  • make and model are the same (ignoring capitals and extra spaces);
  • the year falls between year_from and year_to (a blank year_to means "to this year");
  • the engines are the same, or either one is blank. An entry with no engine fits every engine; a vehicle saved without an engine is checked against all engines.

The fitment features stay hidden from shoppers until Theme settings › Vehicle fitment › Enable vehicle fitment is on and your store has at least one Vehicle entry. In the editor, sections show a short note telling you what's missing.

Step 1: Create the Vehicle metaobject

  1. In your admin go to Settings › Custom data › Metaobjects and choose Add definition.
  2. Name it Vehicle. Make sure the Type (shown under the name) is exactly vehicle.
  3. Add these fields. The keys must match exactly; the names can be anything you like.
Field nameKeyTypeRequiredNotes
MakemakeSingle line textYesToyota
ModelmodelSingle line textYesHilux AN120. Include the generation or body code when parts differ between generations
Year fromyear_fromIntegerYes2015
Year toyear_toIntegerNo2024. Leave blank while the model is still current
EngineengineSingle line textNo2.8 L diesel. Leave blank when the parts fit every engine
LabellabelSingle line textNoToyota Hilux AN120 2015–2024 2.8 L diesel. Not shown to shoppers
  1. Set Label as the definition's display name, so entries are easy to tell apart when you pick them on a product.
  2. Turn on Storefronts access (in the definition's options). Without it the theme can't read the entries and nothing appears.
  3. Save.

Step 2: Add your vehicles

  1. Go to Content › Metaobjects › Vehicle and choose Add entry.
  2. Create one entry per make, model, year range and (where it matters) engine. Shoppers' menus are built from these entries, so spell makes and models consistently: "Toyota" every time, not "Toyota" and "TOYOTA" and "Toyota " in different entries.
  3. Add one extra entry for parts that fit anything: set its handle to universal (make "Universal", model "All vehicles", year from 1900). The theme never lists it as a vehicle in the menus; products that reference it show "Universal fit".

Tip: how fine to slice. One entry per generation is usually right: Toyota / Hilux AN120 / 2015 / 2024. Split by engine only for parts that really differ by engine (exhausts, filters, engine parts), and leave the engine blank on the generation entry so body, suspension and lighting parts can use it for every engine.

Step 3: Create the Fitment product metafield

  1. Go to Settings › Custom data › Products and choose Add definition.
  2. Name it Fitment, with namespace and key custom.fitment.
  3. For Type, choose Metaobject, pick Vehicle, and choose List of entries.
  4. Save.

Step 4: Add the Fitment filter

The finder and the vehicle bar use Shopify's own collection filtering, so the filter must exist.

  1. Install Shopify's free Search & Discovery app if you haven't already.
  2. In the app, open Filters and choose Add filter.
  3. Choose the Fitment product metafield as the source and save.

The theme keeps this filter out of the normal filter list (shoppers set it with the finder instead) and shows it as the "Fits:" chip when it's active. Until the filter exists, the collection page's vehicle bar is hidden from shoppers and the editor shows "Vehicle filter isn't set up yet. Add the Fitment filter in Search & Discovery."

Step 5: Tag products with vehicles

  1. Open a product and scroll to Metafields.
  2. In Fitment, pick every Vehicle entry the part fits. For a part that fits anything, pick the universal entry.
  3. Save.

For large catalogues, a bulk-import app that supports metaobject reference metafields saves a lot of clicking. Products with nothing in Fitment simply don't appear in vehicle results (unless you list them as universal).

Step 6: Check the settings

In Theme settings › Vehicle fitment (chapter 2) choose the Selector order, whether to ask for the engine, the collection to search (Search parts in), whether universal parts are included in results, whether cards show "Fits your vehicle", and the Fitment help page used by "Ask us about fitment". On the Collection section, Show vehicle bar is on by default. On the product page, the Fitment check block sits in the buy box and the Fitment table block in Specs and fitment (chapter 5).

Then test: save a vehicle in the finder, check the collection results, open a product that fits and one that doesn't.

Part numbers and cross-references

Mechanics often search by the number on the old part. Torque shows and searches three kinds:

  • Part number: the variant's SKU. Shown on product cards (Theme settings › Product cards › Show part number), in the "Part no." pill at the top of the buy box, and large with a copy button in the Part details block. The barcode shows under it.
  • OEM numbers: add product tags that start with oem:, such as oem:43512-0K080. They show as chips under "Replaces OEM numbers".
  • Cross-references: add tags that start with xref:, such as xref:Bendix DB2241. They show as "Cross-reference: Bendix DB2241, Brembo 09.C874.11".

Tags with these prefixes stay out of the theme's tag lists, so shoppers never see the raw prefix. Shopify's search, including the suggestions under the search box, always looks at product tags, SKUs and barcodes, so a shopper typing any of those numbers finds the part. Search suggestions also show "Part no." under each product title. You can change the prefixes in the Part details block.

Known limits

These are Shopify platform limits, not theme settings.

  • 5,000-product filter limit. Shopify doesn't return filters for collections with more than 5,000 products, so the vehicle filter (and every other filter) stops working there. If your catalogue is bigger, set Search parts in to a smaller collection, or add a Categories step to the finder (Vehicle finder section) so shoppers pick a category collection under 5,000 products.
  • 250 per list page. Shopify loads a list in pages of 250. A product's fitment check and fitment table cover its first 250 vehicles; beyond that the table adds "And 12 more vehicles". The finder reads the vehicle list in pages of 250 as well.
  • 1,000 unique vehicles per page. Shopify renders at most 1,000 unique metaobject entries on one page, so the finder's menus hold up to 1,000 Vehicle entries. Keep entries at generation level rather than one per year to stay well under it.
  • Product cards check the first 50 vehicles listed on each product, so put the most common vehicles first in a long Fitment list. The product page always checks up to 250.
  • The garage lives in the shopper's browser. It isn't shared between devices, and private browsing forgets it.

Turning it off

Untick Theme settings › Vehicle fitment › Enable vehicle fitment to hide the finder, My garage, the vehicle bar, the fitment check, the fitment table and the card lines everywhere. The Patrol preset ships with fitment off. Part numbers, OEM numbers and cross-references keep working without it.