Skip to content
Web Development

Ecommerce Product Data Architecture: How to Model and Move Product Data

How to design product data architecture: products, SKUs, variants, attributes, relationships, pricing, inventory, localization, channels and APIs.

Quick answer

Ecommerce product data architecture defines how products are modelled and how their data moves. Model products, variants and SKUs explicitly, with typed attributes at the level where they vary, separate categories from attributes, and store relationships as data. Give every field one owner: product information in the PIM (or platform), prices and stock in the ERP, OMS or platform, media in the DAM. Move data with events for fast-changing fields and scheduled syncs for bulk updates, feed search and recommendations from the same records, and check live price and stock at request time.

Where This Fits

This article connects the product data topics on ZSpace. Product information management is covered in the PIM guide, system boundaries in PIM vs CMS and the wider commerce stack in ecommerce website architecture and headless ecommerce architecture.

Why Architecture Matters for Product Data

Product data feeds almost everything customers see: listings, filters, product pages, search results, recommendations, comparison, structured data, shopping feeds, marketplaces and apps. When the architecture is unclear, each of those surfaces gets its data differently and inconsistencies appear: a filter value that does not match the product page, a feed price that differs from the store, a recommendation for a discontinued product.

The Architecture at a Glance

A typical mid-size architecture has sources (suppliers, DAM, content teams, ERP), a product information layer (PIM or the platform's catalog), a commerce layer (platform with offers, price lists, inventory and orders) and consumers (storefront, search, recommendations, feeds, analytics).

Smaller stores may collapse the PIM into the platform's own catalog; the ownership rules stay the same.

Core Product Entities

EntityWhat it representsKey fields
Product (or product group)The item as customers think of itID, title, brand, family, description, shared attributes
VariantA purchasable option of the productOption values, variant attributes, images, GTIN
SKUA stockable unitSKU code, dimensions, weight, fulfilment data
CategoryA navigation or merchandising groupHierarchy, channel, sort rules
Attribute definitionA describable propertyCode, type, unit, allowed values, localizable
RelationshipA link between productsType (accessory, replacement, set), source, target
AssetImage, video or documentDAM ID, type, variant link, alt text, rights
OfferPrice and availability in a market or channelPrice list, currency, availability, start and end dates

SKUs and Variants

Define variant axes per family (size, colour, capacity) and which attributes change per variant. Usually one variant maps to one SKU, but bundles, kits and made-to-order products may break that rule; model them explicitly. Keep identifiers stable: changing SKU codes or product IDs breaks integrations, analytics and history. Check platform limits; Shopify now allows up to 2,048 variants per product, and other platforms and channels have their own constraints.

Attributes

Attributes should be typed (number with unit, enumerated list, boolean, text, date), defined once and reused where they mean the same thing, and marked as localizable or not. Separate display values from filter values where needed (a marketing colour name and a colour family). Store canonical units and convert for display. See electronics product specifications for a detailed example.

Categories and Classification

Maintain a master taxonomy for internal classification, then map it to channel-specific trees: the store's navigation, marketplace categories and Google's product taxonomy for feeds. Do not use categories or tags to encode attributes such as colour or size; that makes filters and comparison unreliable. See navigation design and B2B catalogs.

Relationships

Relationships power accessories, compatibility, cross-sells, replacements and sets. Store them as typed links between products, owned by the PIM or catalog, rather than as text in descriptions. Recommendation engines can then combine explicit relationships with learned ones. See recommendation engines.

Is your product data architecture holding you back?

ZSpace can map your current data flows, define ownership per field and design the target architecture for your catalog and channels.

Start a Project

Pricing

Prices change often, vary by market, customer group and channel, and are tied to transactions and accounting. Keep them in the system that governs them (ERP, pricing engine or the platform's price lists) and sync them to the platform. Promotions and discounts are usually calculated by the platform at cart and checkout. Feeds and search indexes need current prices, so update them by event and check prices again at request time where accuracy matters.

Inventory

Model inventory by SKU and location, and calculate available-to-sell from on-hand stock, reservations, safety stock and incoming purchase orders. The OMS, ERP or platform owns it. Push changes by event because stock changes quickly, and treat cached stock values as hints that must be confirmed before purchase. See inventory integration and order management.

Localization

  • Localizable attributes identified (names, descriptions, marketing copy)
  • Non-localizable attributes stored once (weight, dimensions in canonical units)
  • Unit conversion at display, by market
  • Market availability modelled explicitly
  • Market-specific regulatory and labelling fields
  • Translation status tracked per locale

Channels

Each channel (store, app, marketplaces, shopping feeds, retail partners) needs its own mapping: category trees, required attributes, title formats and image rules. Define completeness rules per channel so products are only published when ready, and keep channel transformations in one place rather than spreading them across tools. See product feeds.

PIM and Ecommerce Platform Boundaries

When a PIM exists, it owns product information; the platform receives it and owns commerce data. Make PIM-managed fields read-only in the platform, or changes made there will be overwritten or, worse, diverge. On Shopify, PIM data commonly maps to products, variants, metafields and metaobjects, with translations through Shopify's translation APIs.

Search Indexing

Search indexes need product records with structured attributes for filters and facets, text fields for matching, synonyms, and ranking signals such as popularity and availability. Update the index when products change (events or frequent incremental syncs), and fetch live price and stock at query time or update them very frequently. Product data quality is the main limit on search quality. See electronics search, furniture search and jewelry search.

Recommendations

Recommendation systems use the same product records for content similarity, relationships for complementary items and behavioural events for collaborative signals. Share product IDs across the catalog, events and the recommendation system, and filter by live availability when serving. See fitness product discovery for how attributes and recommendations combine in guided shopping.

APIs and Data Movement

  • Stable IDs shared across systems
  • Idempotent updates so retries do not create duplicates
  • Periodic reconciliation to catch missed events
  • Monitoring for failed syncs and stale records
  • Versioned APIs for apps and partners
DataChange frequencyTypical movement
Enriched product informationDaily or lessScheduled or on-approval sync from PIM
PricesFrequentEvents or webhooks from ERP or pricing engine
StockVery frequentEvents; live checks at purchase
MediaOccasionalReferences to DAM URLs or renditions
Search index updatesOn changeEvents or incremental indexing jobs
Behavioural eventsContinuousEvent pipeline to analytics and recommendations

Ownership Matrix

Field groupOwnerRead by
IdentifiersERP or PIMAll
Descriptive content and attributesPIMPlatform, search, recommendations, feeds
MediaDAMPIM, CMS, platform
Prices and price listsERP or pricing enginePlatform, feeds
InventoryOMS, ERP or platformPlatform, search, feeds
PromotionsPlatformStorefront, checkout
Editorial contentCMSStorefront

Worked Example

An illustrative scenario, not a client case: a retailer's Google feed shows prices that differ from the store for hours after changes, because the feed is generated nightly from the PIM, which holds an old copy of prices. The team removes prices from the PIM, sends price changes from the ERP to the platform by event, and generates the feed from the platform with frequent updates. The PIM keeps ownership of attributes and descriptions only.

Common Mistakes

  • Two systems editing the same fields
  • Prices and stock copied into systems that cannot keep them current
  • Attributes encoded as tags or categories
  • Unstable product and SKU identifiers
  • No reconciliation for event-driven syncs
  • Search and recommendations built on different product records

Conclusion

Good product data architecture models products, variants, attributes and relationships clearly, gives every field one owner, moves fast-changing data by event, and feeds search, recommendations and channels from the same records. Related: PIM guide, PIM vs CMS and ecommerce API integration.

FAQ

Common questions

The design of how product data is modelled, where each part lives, which system owns it, and how it moves between systems such as the PIM, ERP, ecommerce platform, search, recommendations and channels.

Get in touch

Have a project in mind?

Whether you're building a new digital product, improving an existing website, or looking to automate part of your business — let's talk.