Importing ACES fitment data into Shopify is the step that turns a generic auto parts catalog into a store where shoppers can type their year, make, and model and see only the parts that fit their car. Get the import right and your conversion rate climbs while returns drop. Get it wrong, and you ship customers the wrong control arm.

This guide walks through what ACES data actually is, how it maps onto Shopify’s product structure, the import methods that work, and the mistakes that cause most fitment projects to stall.

What ACES fitment data is

ACES (Aftermarket Catalog Exchange Standard) is the auto industry’s standard for describing which vehicles a part fits. Maintained by the Auto Care Association, it pairs each part with structured vehicle attributes — base vehicle, engine, submodel, drive type, and qualifiers like position (front, rear) or quantity.

A single ACES record might say: this brake rotor fits a 2015–2019 Honda CR-V, 2.4L engine, front position. Multiply that across thousands of SKUs and tens of thousands of vehicle configurations, and you get a fitment file with hundreds of thousands of rows. That density is exactly why importing it into Shopify takes planning rather than a quick CSV drag-and-drop.

ACES vs PIES — know the difference

ACES describes fitment (what vehicles a part fits). PIES (Product Information Exchange Standard) describes the product itself — descriptions, dimensions, images, attributes. Most suppliers send both. For a Shopify import, PIES populates your product pages and ACES powers the year/make/model filter. You need both, but they load through different paths.

Why Shopify makes ACES imports tricky

Shopify was built for simple catalogs, not relational fitment data. A product has variants, tags, and metafields — but no native concept of “this part fits these 4,000 vehicle configurations.” That mismatch creates three problems:

  • No native fitment table. Shopify has nowhere to store a one-to-many part-to-vehicle relationship out of the box.
  • Tag limits. Stuffing fitment into product tags hits Shopify’s 250-tag-per-product ceiling fast, and tag-based filtering gets slow and messy.
  • Metafield structure. Metafields can hold fitment, but you need a defined schema and an app or theme logic to query it for the storefront filter.

So the real question isn’t just “how do I import the CSV” — it’s “where does the fitment live, and what reads it on the storefront.” That decision drives every step after.

Three ways to import ACES data into Shopify

1. Manual CSV import

Shopify’s built-in product CSV import handles products and basic variants. You can map PIES product fields here. But Shopify’s CSV format has no column for structured fitment, so ACES data has to be flattened into tags or a metafield column — which means pre-processing the file yourself. Workable for a few hundred SKUs, painful past that.

2. A dedicated fitment app

A purpose-built fitment app stores the vehicle-to-part relationships in its own database and adds a year/make/model dropdown to your storefront. You upload your ACES file (or a normalized version), and the app handles the one-to-many mapping that Shopify can’t. This is the path most serious auto parts stores take because it preserves the full ACES structure instead of crushing it into tags.

Aculogi takes this route: its VFitz vehicle fitment filter ingests fitment data and renders a clean year/make/model selector, so shoppers narrow the catalog to parts that actually fit their vehicle before they ever add to cart.

3. Custom integration via API

For high-volume catalogs with frequent supplier updates, a custom build using Shopify’s Admin API and metafields gives the most control. You write logic to parse ACES XML, normalize it, and push fitment into structured metafields, then build storefront query logic to match a shopper’s vehicle. Maximum flexibility, maximum development cost — usually only justified above tens of thousands of SKUs with daily data refreshes.

Step-by-step: a clean ACES import workflow

  1. Get clean source files. Request current ACES (XML or flat-file) and PIES from each supplier. Confirm the VCdb (Vehicle Configuration Database) version they coded against so your vehicle attributes line up.
  2. Normalize vehicle naming. Suppliers spell vehicles differently — “Chevy” vs “Chevrolet,” “1500” vs “Silverado 1500.” Standardize make, model, and submodel names before import or your filter will splinter into duplicates.
  3. Map parts to your SKUs. Match each ACES part number to the SKU in your Shopify catalog. Unmatched parts are the single biggest source of “no results” complaints.
  4. Load products first, fitment second. Import PIES product data into Shopify, then attach the ACES fitment through your app or metafields once the products exist.
  5. Validate on the storefront. Pick ten known vehicles, run them through the live filter, and confirm the right parts appear — and the wrong ones don’t.
  6. Schedule refreshes. Fitment data changes as new model years drop. Set a cadence to re-import updated ACES files so coverage stays current.

Common mistakes that break fitment imports

Most failed ACES imports trace back to a short list of avoidable errors:

  • Skipping normalization. Importing raw supplier vehicle names creates duplicate makes and models in your dropdown, confusing shoppers.
  • Ignoring VCdb version mismatches. If your app and your supplier reference different VCdb versions, vehicle IDs won’t match and parts silently fail to map.
  • Forcing fitment into tags. Tag-based fitment hits limits and slows filtering — fine for a demo, fragile in production.
  • Dropping qualifiers. Position, quantity, and engine qualifiers matter. Omit them and a customer sees a front rotor listed for a rear-only application.
  • No validation pass. Trusting the import without spot-checking real vehicles is how wrong-part shipments and returns pile up.

Choosing the right import method for your catalog

The best import path depends on catalog size and how often your data changes. A small store with a few hundred curated SKUs and rare updates can survive on manual CSV imports with hand-built fitment tags. A growing store carrying thousands of parts across dozens of brands needs a dedicated fitment app — the structured one-to-many storage and the ready-made year/make/model filter save weeks of work and keep the data clean as it grows.

Only the largest catalogs — tens of thousands of SKUs with weekly or daily supplier feeds — typically justify a custom API integration, and even then many stores layer that pipeline on top of an existing fitment app rather than rebuilding the storefront from scratch. A sensible rule of thumb: start with the lightest method that preserves full ACES structure, and upgrade only when volume or update frequency forces your hand. Crushing fitment into tags to avoid an app almost always costs more later in cleanup and lost sales than it saves up front.

Whatever the method, the non-negotiable is preserving the relationship between part and vehicle configuration. Every shortcut that flattens or discards that relationship — dropping engine qualifiers, merging submodels, truncating the vehicle list to fit a tag limit — shows up later as a wrong-fit order or a frustrated shopper who cannot find the part for their exact trim.

How clean fitment data pays off

A correctly imported ACES catalog does more than look tidy. Shoppers who filter by their exact vehicle buy with confidence, so add-to-cart and checkout rates rise. Wrong-fit returns — one of the costliest problems in auto parts retail — drop sharply because customers only see parts that fit. And because the year/make/model filter mirrors how people actually shop for parts, search engines and AI answer engines can read your structured fitment as a clear signal of relevance.

The import is the foundation. Spend the effort on clean source files, real normalization, and storefront validation, and the fitment filter becomes one of the highest-leverage features on an auto parts store. Treat fitment as living data rather than a one-time upload: assign someone to own the refresh cadence, keep a record of which VCdb version each supplier feed targets, and re-run your validation vehicles after every import. A store that does this quietly outperforms competitors who let their fitment drift out of date, because shoppers learn they can trust the filter — and trust is what turns a first auto parts order into a repeat customer.

Frequently asked questions

Can I import ACES data directly with Shopify’s CSV importer?

Not the full structure. Shopify’s CSV import handles products and variants but has no column for one-to-many fitment, so ACES data must be flattened into tags or metafields first. For complete fitment, a dedicated app or API integration preserves the structure that a plain CSV cannot.

Do I need both ACES and PIES files?

Yes. ACES describes which vehicles a part fits and powers your year/make/model filter; PIES describes the product itself and populates your product pages. Most suppliers provide both, and a complete Shopify catalog uses each through its own import path.

How often should I re-import fitment data?

Refresh whenever suppliers release updated ACES files — at minimum when new model years are added, typically a few times a year. Stale fitment data means newer vehicles return no results even when you stock parts that fit them.

What causes a part to show no fitment results?

Usually an unmatched SKU, a VCdb version mismatch between your data and your app, or vehicle names that weren’t normalized before import. Validating known vehicles on the live storefront after each import catches these before customers do.