Skip to content

How Products Are Mapped to Fitment Data

This page explains how the indexer decides which vehicles a product fits: how the product is identified by brand and part number, where each of those components is pulled from and in what order, how each data source matches them, and how to fix the most common mapping issues.

Every indexed product ends up with one of the following values in the Fitment field:

ValueMeaning
Vehicle SpecificThe product was matched to a list of vehicles and is only shown when one of them is selected.
Universal FitThe product fits any vehicle and is always shown regardless of the selected vehicle.
Non-Vehicle ProductsThe product is not related to vehicles at all (apparel, gift cards, tools). The YMM widget ignores it.
No Fitment DataNo source returned any fitments for the product. Depending on store settings, such products are usually hidden when a vehicle is selected.

The two-component matching key: Brand + MPN

Section titled “The two-component matching key: Brand + MPN”

Automotive fitment catalogs identify a part by a two-component key:

  1. Brand — the brand as registered in the AutoCare (AAIA) Brand Table: either the AutoCare Brand Name (which must match exactly, case-insensitive) or the AutoCare Brand Code — the 4-letter code assigned to every brand (for example, BBHK).
  2. MPN — the manufacturer part number, which again must match the part number in the catalog. Matching is exact and case-insensitive; most sources additionally try a normalized form with dashes, dots, commas, slashes, and spaces stripped, but there is no fuzzy matching.

Both components must resolve for catalog lookups to work: if the part number comes out empty, catalog lookups are skipped for the product entirely, and if the brand doesn't match the catalog, most sources return nothing (they never fall back to searching all brands — see the per-source table below for the exceptions).

In practice, stores follow one of two approaches:

  • Standard identifiers. The product's brand field holds the AutoCare Brand Name and SKUs are plain MPNs or BrandCode+MPN. Fitment mapping works out of the box.
  • Own naming conventions. SKUs or brand names follow the store's internal scheme — usually historical, or because other systems (ERP, feeds, marketplaces) depend on them and renaming isn't an option. Such stores need to provide the original brand and MPN separately: through the overrides described below, set up together with our team.

By default, the part number for lookups is the product-level SKU field. Variant SKUs are not used for fitment lookups, so make sure the main product SKU is filled in even when the product has variants. The MPN field works as an automatic fallback: when nothing is found by SKU and the MPN differs from the SKU, the sources are queried again by Brand + MPN.

The value should be the plain MPN, not BrandCode+MPN. That said, part numbers with an embedded AutoCare brand code are recognized — see Brand code in the part number.

When your SKUs don't match the catalog part numbers (store-specific prefixes/suffixes, internal numbering), put the exact catalog part number into the product's MPN field — it is tried automatically whenever the SKU lookup finds nothing. Per store, we can also apply SKU transformations (stripping brand prefixes or store suffixes) or switch the part-number source to a different field; these are configured by our team — contact [email protected].

The brand for lookups comes from the product's brand field:

  • The product's Brand field — it has to match the AutoCare Brand Name used by the catalog (case-insensitive, otherwise exact).

Per store, our team can also configure overrides: renaming known brand spellings to the catalog names, or reading the brand from a different field. And independently of the brand field, a brand code embedded in the part number is recognized by most sources and works even when the brand spelling doesn't match anything — see the next section.

SKUs and part numbers in the following formats are automatically split into a brand code and an MPN, provided the 4-letter prefix is a valid AutoCare brand code written in uniform case — all uppercase or all lowercase; a mixed-case prefix is never split:

  • BBHK-12345
  • BBHK_12345
  • BBHK|12345
  • BBHK12345 (only when the rest of the value contains digits)

The extracted code is then used as the brand component of the key, which makes the lookup independent of how the brand field is spelled. This is the most reliable way to key products, and it is the standard convention for manually exported ACES files ({BrandCode}_{PartNumber} SKUs).

Not every source supports brand codes: WPS and Turn 14 match by their own brand names only (Turn 14 uses its own 3-letter part prefixes, which we map to AutoCare codes), and SSF ignores the brand component and matches by part number alone.

Product-level overrides come first. A product explicitly marked as Universal Fit or Non-Vehicle Products gets that status immediately, and nothing else is consulted — not even the Fitment Editor:

Fitment Editor data is a layer, not a source in the ladder. Fitments added, changed, or excluded through our Fitment Editor are loaded for every product. If the editor sets the product's fitment type (Universal Fit or Non-Vehicle Products), the sources below are skipped entirely; otherwise the editor rows are merged on top of whatever the sources below return — see Fitment Editor changes.

External sources are checked in order — the first source that returns any fitments wins, and the remaining sources are skipped. If you need data from several sources combined (for example, catalog fitments plus your own additions), we can enable merge mode for your store — contact us.

  1. Your own fitment data, combined from two places when both are present: custom fitment data files (spreadsheets or ACES XML files from Google Drive, FTP/SFTP, or Amazon S3), and the fitment product custom field with fitments in the Years|Make|Model|Submodel format, separated by semicolons or line breaks. See Fitment Data into Custom Fields.
  2. Catalog integrations, looked up by Brand + SKU with a Brand + MPN fallback, in this order: PDM Automotive, SEMA Data (SDC), SureDone, ASAP Network, WPS, Turn 14 Distribution, SSF.

When no source returned anything (after the editor merge), the fallbacks run:

  • Category- and brand-level defaults. A product in a category marked with Fitment Type: Universal Fit in its Search Keywords (parent categories count too) becomes Universal Fit; a category or brand marked with Fitment Type: Non-Vehicle Products makes its products Non-Vehicle Products.

Otherwise the product is indexed with No Fitment Data. And if every fitment row returned by a source is marked Universal (for example, the "Universal" column in a spreadsheet), the product becomes Universal Fit.

All sources match whole values case-insensitively; none of them do fuzzy matching.

SourceBrand componentMPN component
Fitment EditorRecords pinned to a product match by product ID alone. SKU-level records match every product with that SKU; if the record also stores a brand, the product's brand must match tooThe product SKU (not needed for product-ID records)
Custom fitment data filesNot used for the key-column lookup; the brand fallback requires an exact AutoCare Brand NameThe key column (SKU by default), exact. The brand-code split and the brand fallback match only rows carrying brand-code + part-number columns — ACES rows, or spreadsheets that include them
ACES XML filesAutoCare Brand Name or Brand CodePart number, exact (punctuation matters)
PDM AutomotivePDM brand name, its AutoCare name, a per-store alias, or the Brand CodePart number, exact only (punctuation matters)
SEMA Data (SDC)Only brands your SEMA account is approved for; AutoCare Brand Name or Brand CodePart number, exact and normalized
SureDoneBrand name; if nothing matches, retried by part number alone across all brandsAny of the listing's identifiers (marketplace SKUs, MPN)
ASAP NetworkOnly brands your ASAP account is approved for; brand name, its synonyms, or the Brand CodeSKU or manufacturer SKU
WPSExact WPS brand name only — no brand-code fallbackWPS SKU or supplier product ID
Turn 14 DistributionTurn 14 brand name (common alternative spellings are mapped, case-sensitively)Manufacturer part number (also tried with spaces stripped) or Turn 14's part number
SSFNot used — matches across all brandsPart number, exact and normalized

Fitment Editor data is merged with the winning external source rather than being just another source:

  • Vehicles added in the editor are added to the external fitments.
  • Vehicles excluded in the editor are removed from the external fitments.
  • A product can also be flagged in the editor to discard all external fitments, keeping only the editor data.
  • If the editor sets the product's fitment type (Universal Fit or Non-Vehicle Products), that overrides all other fitment sources (the product-level overrides above still win).

Resolving brand-name mismatches and misspellings

Section titled “Resolving brand-name mismatches and misspellings”

The store's brand field often doesn't match the AutoCare Brand Name exactly — NGK Spark Plugs vs NGK, Yukon Gear vs Yukon Gear and Axle, aFe vs Advanced Flow Engineering. Since brand matching is exact (there is no fuzzy matching), such mismatches make catalog lookups return nothing for the whole brand. Several mechanisms resolve them:

  • The AutoCare brand table. We maintain a global mapping of AutoCare Brand Codes to Brand Names. It powers the brand-code-in-part-number recognition: when the part number carries a valid 4-letter code, the brand is resolved through the table regardless of the brand-field spelling. The authoritative table is published by the Auto Care Association; subscribers can browse and download it at autocarevip.com, and brand codes are also visible in data sources like SEMA Data or PDM if you have an account there.
  • Catalog alias tables. Each catalog carries its own known alternative spellings: Turn 14 and SEMA Data have canonical-name tables, ASAP has brand synonym groups, and PDM brand records match by the PDM name, the AutoCare name, and store-specific aliases. When you report a misspelled brand, we usually fix it by adding an alias there.
  • Per-store rules. We can configure brand renames for your store (for example, mapping all your feed's spellings to catalog names), or switch the brand source to a different field.

If a whole brand has no fitments, the first things to check are the exact AutoCare Brand Name spelling and whether your SKUs carry a brand-code prefix the catalog doesn't expect (or vice versa).

By default, fitment rows are indexed as the source provides them; only year ranges (2017-2020, 2017+, 2017,2019) are expanded into individual years. On top of that, several optional layers can be configured per store:

  • Vehicle mapping (vehicle_mapping) — renames Make/Model/Submodel values before indexing, fixing misspellings and unifying spellings across sources. See Fitment mapping and synonyms and Troubleshooting misspelled makes or models.
  • Vehicle filter (vehicle_filter) — a spreadsheet of vehicles acting as a whitelist (default) or blacklist: fitments outside the whitelist (or matching the blacklist) are dropped. See How to use vehicle filter.
  • Turn 14 app vehicle filter — for stores using the Turn 14 Distribution app by DataHere2There, the vehicle filters configured in that app can be applied to the fitment data.
  • VCdb validation — fitments can additionally be validated against the AutoCare VCdb vehicle database.

None of these are active unless set up for the store.

Wheel and tire products go through a separate pipeline: instead of (or in addition to) per-vehicle fitment rows, they get size attributes (diameter, width, bolt pattern, etc.) from wheel/tire data sources or product attributes.

See Adding wheel and tire product attributes using custom fields.

Verifying a product with the Fitment Editor

Section titled “Verifying a product with the Fitment Editor”

The Fitment Editor shows the fitment data a product currently resolves to, so you can verify what customers will get before or after a re-index, override wrong data, add missing vehicles, or exclude incorrect ones. For mass changes, see Fitment Editor Commands.

Contact us to review a specific product's fitments — we can trace exactly which source produced them.

SymptomLikely causeHow to fix
Product shows No Fitment Data although the catalog has fitments for itThe product SKU is empty, or doesn't match the catalog part number (extra prefix/suffix, different formatting)Fill in the SKU, or provide the exact catalog MPN via the override
A whole brand shows No Fitment DataThe product's brand doesn't match the AutoCare Brand Name (AEM vs AEM Induction, typos)Align the brand field with the AutoCare Brand Name, use brand-code-prefixed SKUs, or ask us to add a brand alias
SKUs carry a brand prefix the catalog doesn't haveThe catalog stores plain MPNs while your SKUs look like BRAND-12345 with a non-AutoCare prefixProvide the plain MPN via the override, or ask us to configure prefix stripping for your store
A universal product asks for a vehicle or is hidden after vehicle selectionThe product has no fitment data and nothing marks it as universalMark the product universal via the product-level overrides, or mark its whole collection/category
Fitments from a custom file are not appliedThe key column doesn't match the product SKU; the file/folder isn't shared with our accounts; the store wasn't re-indexedMake sure the key column matches the SKUs exactly, check folder sharing, then force a re-index
Fitments entered on the product are not appliedWrong format (field order, separators), or an unexpected field nameCheck the format in the product-level source guide linked above; contact us if you use a different field
Some vehicles from the data are missing on the storefrontA configured vehicle filter drops them, Make/Model spellings differ between sources, or an invalid year rangeCheck the store's vehicle filter, fix the spelling or ask us to add a vehicle mapping; check the year format (2017, 2017-2020, 2017+)
Product shows fitments from the wrong sourceA higher-priority source returned data (for example, stale fitments left on the product override the catalog)Clear the stale higher-priority data, or ask us to enable merge mode if you want sources combined
Excluded vehicles still show up / editor changes missingEditor exclusions apply on top of external data during indexingForce a re-index; if the problem persists, contact us
Changes to product data or fitment files have no effectThe store hasn't been re-indexed since the changeUse the "Force re-index" button in the app

If a product still maps incorrectly after checking the above, contact [email protected] with the product URL and its SKU — we can trace exactly which source produced (or failed to produce) its fitments.