Guides

Shopify vehicle fitment: how it works and what breaks

Published 4 October 2026

Vehicle fitment is the record of which vehicles a part fits. On a Shopify auto parts store it decides what a shopper sees after they choose their car: the parts that fit it, and nothing else. Shopify has no fitment feature of its own, so every store builds it out of something else, and each choice fails in a different place.

The shape of fitment data

A product has one title and one price. It can have hundreds of fitments. A brake pad set fits a handful of models across a run of years. A wiper blade or a trailer connector fits most of the vehicles on the road. That is the whole difficulty: fitment is a many-to-many relationship, and a Shopify product is a flat record with a few fixed places to put extra data.

A fitment row usually carries:

  • Make, which shoppers often call the brand: Ford, Toyota, Honda.
  • Model: F-150, Corolla, Civic.
  • Year, nearly always a range: 2015 to 2020.
  • Refinements where they change the answer: submodel or trim, engine, sometimes vehicle type or body style.
  • A note: "front axle only", "without tow package".

Year Make Model search, usually shortened to YMM, is the shopper's side of the same data: a vehicle selector that asks for those fields in order and returns the parts whose rows match.

Four places stores keep fitment

1. Product tags

The oldest method. Each fitment becomes a tag such as ford_f-150_2018, and the search opens a tag URL. It needs no app and renders in the theme's own collection page. It also has a hard ceiling, because Shopify limits a product to 250 tags, and a year range has to be written out one year at a time. A part that fits 30 models over ten years needs 300 tags and cannot have them. What is cut is not random either. See Shopify's product tag limit and fitment for what we measured on a live store.

2. Metafields and Shopify's own filters

Fitment can live in a product metafield and be offered as a storefront filter through Shopify's Search & Discovery app. This is the most native route, and it works for a small catalogue with a simple vehicle list. It runs into platform limits on the number of filters, on the number of values a filter shows, and on collection size. They are covered in Shopify's collection filter limit for auto parts.

3. A file in the theme

Some apps write the vehicle list into a file in your theme and add code to the theme to read it. It is fast. It also means the app has changed your theme, so ask what is left in the theme after an uninstall.

4. An app's own database

The fitment rows are stored by the app and matched on its servers. Nothing has to be squeezed into tags, so the tag ceiling does not apply, and a year range can stay a range. The cost is that the results page is the app's to render, and whether it looks like the rest of your store depends on how the app builds it. This is how ClearFitment works.

What breaks, in the order stores meet it

  1. Wide-fit parts lose vehicles. Anything that fits more vehicles than the storage can hold is cut short, and the shopper with the missing vehicle is told the store has nothing for them.
  2. Universal parts are awkward. Fluids, tools and generic accessories fit everything. Stored per vehicle they are the worst case for every limit, so they need to be marked as universal instead.
  3. Year ranges multiply. If the app counts each year as a vehicle, a 2010 to 2014 part is five vehicles, on the storage limit and sometimes on the bill.
  4. A supplier update replaces hand work. Fitment for a real catalogue is usually merged from several sources and corrected by hand. An import that replaces what is stored, with no preview, undoes that in one upload.
  5. Products with no fitment become invisible. A product that no vehicle search can reach still sells from a collection page, so nobody notices it is missing from search.

How to check your own store

  • Open a wide-fit product in the Shopify admin and count its tags. A product sitting at exactly 250 may have been cut.
  • Pick a vehicle late in the alphabet, such as a Toyota or a Volkswagen, and search for a part you know fits it.
  • Look at the largest collection. If it holds more than 5,000 products, Shopify's storefront filters are not shown on it.
  • Ask what your last supplier file changed. If you cannot list the rows it added and removed, the import had no preview.

What ClearFitment does about each

  • Fitment is stored as rows in the app, not as tags, so the 250-tag limit does not apply to it.
  • Year ranges stay ranges. 2010 to 2014 is one fitment row, not five.
  • Universal-fit parts included. Items that fit everything, without a row per vehicle.
  • CSV import previews every add, change and skip, and never overwrites what is already there. Every bulk change is saved first, so you can roll back in one click. We keep 25 restore points.
  • Coverage report: the live products no vehicle search can find, so you can fix them.

What it does not do: there is no VIN or registration-plate lookup, and it does not check the cart against the shopper's vehicle at checkout. It prevents a wrong-fit order at the search and product-page stage.