An auto parts store answers two questions about the customer’s vehicle. The first is whether a part fits it, and the shopper asks that before choosing a product. The second is which vehicle this order is for. The shop needs that answer on the order line.
In short: which parts fit which vehicle is a catalog job for tags, collections and a fitment table; which vehicle this order is for is a product page job for custom options. It draws on our research into how hundreds of e-commerce auto parts stores configure fitment.
Fitment in the catalog and on the product page
Give each vehicle its own product, or its own variant, when you stock a separate part per vehicle or shoppers search for it by vehicle. Shopify allows up to three options and 2,048 variants per product. A part built for the customer’s vehicle after the order is one product with a vehicle dropdown.
Tag each product with the vehicles it fits and build a collection per vehicle with a product tag condition; Shopify’s tag filter narrows a collection further. For many vehicles, tag by platform or model. A site-wide year, make and model search bar is the job of a fitment search app. State the fit in the description as a table of years, makes and models.
Custom options are not built into Shopify; they come from a product options app such as OptionWise, or from custom theme code. In OptionWise, each answer is saved as a Shopify line item property, a note attached to that item on the order, shown on the order page, the packing slip and the notification email (where options appear).
Fitment fields auto parts stores ask for
| What stores ask for | Field used most | Values and limits | Typically priced? |
|---|---|---|---|
| Year | Dropdown, sometimes text | 8 to 17 model years, or two year ranges as buttons | No |
| Make | Dropdown | One make on a vehicle-specific part; fifty or more on a universal one | Rarely |
| Model | Dropdown, one list per make | Up to about a dozen models a list | Rarely |
| Year, make and model together | Text, one line | Free text | No |
| Engine, trim or drivetrain | Dropdown; some use a confirmation checkbox | A few values, such as manual and automatic; some add “I don’t know” | Sometimes |
| VIN or chassis number | Text, one line | 17 characters for a VIN | No |
Stores mark most of their year, make and model fields required.
How stores actually set up fitment
Three structures from real stores, names changed.
A graphics kit for a three-wheeled touring bike:
- What year is your bike? — dropdown, required, seventeen model years
- Model — dropdown, required, eleven models
- Would you like to make it reflective? — dropdown, required: Yes, make it reflective (+$30) · No, regular vinyl please
A rebuilt transmission sold with a core charge (a refundable deposit, returned when the old part comes back):
- Add transmission fluid? — dropdown: Decline fluid · One case (+$159) · Two cases (+$318) · Three cases (+$477)
- Please confirm your vehicle year — dropdown, eight years
- Refundable core charge — checkboxes: Send core in first · Core charge (+$1,750)
A universal wheel, which fits too many vehicles to list, so the vehicle is typed:
- Width — buttons, required: 9 in · 10 in
- Offset (mm) — buttons, required: 0 · −12 · −25 · −38 · +20
- Hubcap — image swatches, required: Plastic for protruding hubs · Aluminum flush for non-protruding hubs · Aluminum hex (+$100) · Aluminum floaters (+$210)
- Year, make and model — text, required
- Bolt pattern — text, required
Building a make, model and year chain in OptionWise
Create an option set (the group of custom options you build once and share across products) and assign it by tag or collection.
- One model list per make. Make is a required OptionWise dropdown, and each make gets its own Model dropdown. In OptionWise, any buttons, dropdown, radio, checkbox or swatch choice can reveal other fields, on one value or any of several (conditional logic). Each Model dropdown is shown only for its make, so the customer sees one list. Fields the customer can’t see aren’t required and send nothing to the order.
- Year as a fixed list. A required list of the years the part fits, newest first, or year ranges as buttons where the part changes at a model year.
- The engine. If a different engine or model year means a different stocked part, that is a variant or its own product; if you build or set up the part after the order, the engine is a required dropdown that tells the shop what to build.
- A way forward. Add “I don’t know, contact me” to the model, year and engine lists, so an unsure customer still orders and the parts desk checks before shipping.
- The VIN. An optional text field, maximum 17 characters, with a placeholder saying where to find it.
In OptionWise, add-to-cart is held until required choices are made. For two vehicles, the customer adds the part to the cart once per vehicle.
A starter fitment option set
Install OptionWise, then build this set for a part that fits several makes, and assign it to a tag such as fitment-check.
| Option | Type | Values | Notes |
|---|---|---|---|
| Make | Dropdown, required, no default | One value per make the part fits | Controls the Model options |
| Model (one per make) | Dropdown, required, no default | That make’s models; I don’t know, contact me | Shown only for its make; repeat for each make |
| Year | Dropdown, required, no default | The years the part fits, newest first; I don’t know, contact me | Always shown |
| Engine | Dropdown, required, no default | 2.0 liter; 3.0 liter; I don’t know, contact me | Or the drivetrains you ship for |
| VIN | Text, optional, max 17 characters | Placeholder: “On the dashboard or door frame” |
The customer picks a make and sees that make’s models, then the year and the engine, so every order carries all four. This assumes one year list and one engine list fit every make; if not, give each make or model its own list, revealed like the models. An unsure customer picks “I don’t know, contact me” and adds the VIN if they have it. With three makes, the set holds seven options and the customer sees five.
Common fitment mistakes
- One text box for the vehicle on a vehicle-specific part. The answers arrive in every format. Use a fixed list for each.
- A preselected make or year. A customer who doesn’t look orders for the first vehicle listed. Leave fitment lists without a default.
- Fitment questions left optional. If the answer changes what you ship, require it.
Options should load with the page
On an auto parts page, the part and the vehicle it is for are one decision to the customer, so they should arrive together. Most options apps add their fields after the page has loaded, so the make, model and year fields appear a moment later and push the add-to-cart button down. OptionWise’s custom options load as part of the product page, next to the variant picker, so they appear with the price and photos and nothing moves (learn more).
Frequently asked questions
Should vehicle fitment be a filter on my Shopify store or an option on the product page?
Both, for different jobs. Which parts fit which vehicle is a catalog job for product tags, collections and Shopify's tag filter. Which vehicle this order is for is a product page job for custom options, which a product options app such as OptionWise adds and saves to the order.
Should each vehicle be its own Shopify product or variant, or a dropdown?
Its own product or variant when you stock a separate part per vehicle or shoppers search for it by vehicle. One product with a vehicle dropdown when the part is built for the customer's vehicle after the order. Shopify allows up to three options and 2,048 variants per product.
How do I show only the models that belong to the make a customer picked?
With conditional logic. In OptionWise, Make is one dropdown and each make has its own Model dropdown, shown only when that make is chosen. The customer sees one model list. Fields the customer can't see aren't required and send nothing to the order, so only the chosen make's model reaches the order line.
What if a customer doesn't know their engine or model?
Give the model, year and engine lists an 'I don't know, contact me' value, and add an optional VIN field. The customer can still order, and the order line tells your parts desk to check the vehicle before the part ships. In OptionWise the VIN is a text field with a maximum of 17 characters.
Where do the fitment details the customer chose end up?
On the order. OptionWise saves every choice as a Shopify line item property, so the make, model, year, engine and VIN appear on the order page, the packing slip and the notification email, under the part they belong to.
Do I need year, make and model fields on every part I sell?
No. A part stocked per vehicle states its fit in the product title and description. The fields belong on parts that fit a range, where the exact vehicle changes what you ship, and on parts built to the vehicle after the order. In OptionWise, assign the fitment option set by tag or collection to just those parts.
OptionWise for auto parts fitment
OptionWise is a Shopify product options app. For auto parts fitment, it puts the make, one model list per make, the year, the engine and the VIN next to the theme’s variant picker, and saves each answer to the order line for the parts desk. Which auto parts choices to keep as variants, and which to take as custom options, is in the auto parts guide.
OptionWise is free for life for stores that install today. It adds a block to your theme, with no code changes.