A merchant on Reddit put it better than we could: “auto parts so fitment is a key thing and ChatGPT got it wrong, initially the customer blamed us and I was like ok where did I tell you it did fit I don’t see that anywhere 😂”. The laugh is fair. The returned part isn’t.

An AI shopping assistant can only repeat the fitment your listing actually writes down. If the record never says which years, which trims or which vehicles it doesn’t fit, the assistant fills the gap with a guess, and the customer blames whoever shipped the box.

The fix is boring and very doable: write fitment as text, in every field, the same way, and include the “doesn’t fit” lines. Here’s what that looks like on two real searches, and a sheet you can copy.

What a “2021 RAV4 Hybrid” shopper actually got

We searched Shopify’s catalog, the product feed Shopify shares with ChatGPT, Copilot and other AI assistants, for “floor mats for 2021 Toyota RAV4 hybrid” and read the top ten records field by field. Store names are left out.

Position What the record said about fit Answer for a 2021 Hybrid
1 “2019-2025” in the title, “Hybrid” as a variant option, and an FAQ saying fit “may vary depending on model year, trim, and interior options” Probably, with the question handed back to the shopper
2 “Toyota RAV4 2019-2025 (For Hybrid Only)” in the title Yes, though the description calls them “Tacoma mats”
3 Title: “Toyota RAV4 Hybrid”. The only record with a real exclusion line No years anywhere
4 2019–2025, fifth generation (XA50), “inc hybrid” Yes
5 “Toyota RAV4 Hybrid” No years anywhere
6 “Toyota RAV4” No years, and no mention of hybrid
7 RAV4 Hybrid 2019–2025 and Venza 2021–2024, with a maker’s part number Yes
8 Title says 2019–2020. Its fit list says 2019–2025 by trim The record disagrees with itself
9 Same part number as position 7, but “from 2019 to 2021” Yes, but it contradicts position 7
10 Title: “Floor Mats & Cargo Liner for 2019 (BLACK)”, no make or model Only the description says RAV4 Hybrid

Three of the ten never gave a model year in any field we received. Only one, position 3, said plainly what it doesn’t fit: “Only fits Plug-in Hybrid and Hybrid models. Also fits Prime models. SuperTrunk: Does not fit Prime Plug-in Hybrid models.”

That last line is the best sentence on the shelf. It’s short, it names the near-miss vehicles, and it even says which piece of the set the exclusion applies to. If its title had carried the years too, it would be the easiest listing in the search to recommend with confidence.

Same part number, two different answers

Positions 7 and 9 were the same mat from two different sellers, with the same manufacturer part number. One said it fits the RAV4 Hybrid from 2019 to 2025 and the Venza from 2021 to 2024. The other said 2019 to 2021.

For our 2021 shopper both say yes, so no harm done. Ask about a 2023, though, and the same part gets two answers. An assistant comparing them has to pick one, and you don’t control which.

Position 8 had the same problem inside a single record. The title said “2019-2020”. The fit list in the description, which was excellent, went trim by trim to 2025: “2021-2025 Toyota RAV4 Hybrid XLE Premium”, “2023-2025 Toyota RAV4 Hybrid Woodland Edition” and so on. A shopper skimming, or an assistant shortening the listing, meets the title first.

If you resell someone else’s part, take the years from the maker’s application list, not from another store’s listing. If you make the part, publish that list yourself so resellers have something to copy.

Shopify’s generated lists won’t fill the gaps for you

Shopify adds its own lists to each catalog record: spec lists, top features and selling points. It marks those fields “Inferred”, meaning generated or enriched by Shopify, possibly missing or wrong. The same label also covers the catalog description and the product options, so your size or vehicle option names may reach the catalog in a tidied-up form.

On fitment, those lists didn’t rescue anyone. Position 1’s generated spec said “Fitment: 2019-2025 Toyota RAV4 (varies by trim and configuration)”, which is the same hedge as its FAQ, now in a spec line.

Two generated lines went further wrong:

  • A missing unit became a seven-metre mat. Position 10’s description listed “Item dimensions : H: 6.0 / L: 29.0 / W: 22.0” with no unit. The generated spec list turned that into “H 152 cm, L 737 cm, W 559 cm”.
  • A roof rack gained drilling and a convertible. In our Outback search below, one rack’s description said it “does not require any drilling or modification” and gave ¾” of roof clearance. Its generated list said “Requires drilling into factory mounting points”, “2-3/4 in clearance” and “Fitment: 2015-2019 Subaru Outback 5th Gen (Cabriolet)”. There is no Outback cabriolet, and the word wasn’t in the description.

You can’t edit those generated lines directly. What you can do is leave less to infer: units on every number, years on every listing, and the same words in every field.

When the years are clear, wrong results are easy to drop

The second search was “roof rack crossbars for 2019 Subaru Outback”. Four of the ten results were for other years by their own titles: one for 2000–2004, two for 2010–2014 and one for 2026.

That sounds bad, but look at it from the assistant’s side. Those four listings said their years right in the title, so any careful shopper or assistant could rule them out in a second. The listings that hurt shoppers are the ones that say nothing, like the floor mats with no year at all.

The Outback shelf also shows the other thing fitment depends on: details that aren’t the year. Several crossbars were sold for cars with raised side rails, and one listing made “Raised Rails” its own option. Roof-rail type, factory mounting points, powertrain, second-row layout and cargo-floor height are all the kind of detail that turns a “fits 2019” into a return.

The fitment sheet

Fill in one sheet per part number. The point is to have every fact in one place before it goes onto the listing, along with the document it came from.

Field What goes in it Example (format only)
Part number Brand and maker’s part number, exactly as on the box [Brand] [MPN]
Years First and last model year, as numbers 2019–2025
Make and model Spelled the way owners type them Toyota RAV4 Hybrid
Generation Body or chassis code, if the model changed mid-run XA50 (5th gen)
Trims Every trim it fits, or “all trims” only if you’ve checked all of them LE, XLE, XLE Premium, Limited, XSE
Powertrain Gas, hybrid, plug-in or electric, when it changes the fit Hybrid and Prime; not gas
Other fit details Whatever else decides it: rails, mounting points, seating, floor Raised side rails only
Position Where on the vehicle 1st and 2nd row; cargo liner sold separately
Doesn’t fit Named vehicles that look close but don’t fit 2019–2025 RAV4 gas models; 2018 and earlier
Source The maker’s application list, catalog data or your own test fit [Document, date]
Checked When someone last confirmed it 2026-11-04

If your supplier sends fitment as ACES data, the industry standard for year, make, model and the qualifiers that narrow it, that file is your source. Turn its rows into this sheet in plain words.

Write the “doesn’t fit” lines on purpose

The “doesn’t fit” row is the one most listings skip, and it’s the one that would have saved our Reddit merchant. Go looking for near misses:

  • Same model, other powertrain. Gas and hybrid versions can differ under the floor and in the cargo area.
  • Same model, other generation. A redesign can change the floor while the name stays the same.
  • Same years, other trim. Raised rails on one trim, flush rails on another.
  • A sister vehicle. If it fits a Venza too, say so. If it doesn’t fit the twin everyone assumes it fits, say that.
  • Part of a set. Position 3 did this well: the trunk liner had its own exclusion.

Write each one as a plain sentence: “Doesn’t fit 2019–2025 RAV4 gas models.” Our guide to negative product attributes covers how to word these as facts about the product, never as instructions to an assistant.

Put fitment where it travels

A year/make/model widget on your product page may help shoppers on your site, but it may never reach the catalog record. Text does. Put the fitment in four places and make them match:

  1. The title: years, make, model and the one detail that matters most. “2019–2025 Toyota RAV4 Hybrid Floor Mats, 1st and 2nd Row” beats “Floor Mats & Cargo Liner for 2019”.
  2. The description: the full fitment table as text, trims and exclusions included. Never only as an image.
  3. Variant options: when the fit changes by version, make it the option, like position 1’s gas/hybrid choice.
  4. Metafields: Shopify says its Channel mapping page can pull catalog data from metafields and metaobjects. Our metafields guide shows how to check the fact actually arrived.

Keep the maker’s part number on the listing too. It’s what lets anyone check your years against the source. Our identifier guide explains which code is which.

Also make sure the product can be in the catalog at all. Shopify requires a title, at least one image and a price above zero, on the Starter plan or higher and out of private mode. The one exception: a store on the Agentic plan can still be included through agentic storefronts even before publishing its online store on a paid plan.

How a shopper or an assistant will check your listing

Run this on your own listing before a customer does.

Shopper question What answers it Trap Rule the part out when
Does it fit my year? Year range in the title and the fit table Title and table give different ranges The year is outside the stated range
Does it fit my version? Trim, generation and powertrain lines “Fits RAV4” with no powertrain The shopper’s trim or powertrain is on the “doesn’t fit” list
Will it fit my roof, floor or mounts? The fit-detail line: rail type, mounting points, layout “Universal” or “most vehicles” The detail the part needs isn’t on the vehicle
Is this the same part as the cheaper one? The maker’s part number Two sellers, two year ranges Part numbers differ
What’s in the box? Position and set contents A set that includes pieces with their own fit The piece the shopper needs is excluded

Facts get a listing considered. In our simulation, an invented product with vague copy was picked in 3 of 180 Claude sessions, and in 134 of 180 once its facts were written out. It won when those facts answered something the shopper asked and the other listings didn’t. In auto parts, that’s usually the year and the trim.

For the general version of this method across categories, see our guide to spec-sold products.

How we checked

On November 4, 2026 we searched Shopify’s public catalog with Shopify’s official command-line tool, with no shopper location set, and saved the top 10 records for each of the two searches above. For every record we read the title, description, options, first variant, seller and Shopify’s generated lists. We matched years, exclusion words and fit details by text, then reread each record by hand to confirm the quote and the field it came from. We didn’t open product pages, use any store’s fitment tool or test any part on a vehicle.

Your next step

Pick your best-selling part and fill in one fitment sheet from the maker’s application list, “doesn’t fit” row included. Then put the years in the title, paste the table into the description as text, and look the product up in Shopify’s catalog in a few days to check the years came through.