Architecture
Merchandising Services powered by Channels and Policies is a highly scalable, flexible catalog data model which unlocks multi-brand, multi-business unit, multi-language use cases with ease. This model replaces the use of the classic Adobe Commerce product scopes (website, store, storeview) with new Merchandising Services product scopes (channel, policy, and locale).
The following diagram provides a high-level view of the Merchandising framework.
At the top of this diagram, catalog data (PIM, ERP, and so on) is ingested into the Merchandising Services framework. This catalog data contains SKUs. Each SKU contains scope details (locale) and product attributes, which map to the new Merchandising Services product scopes (channels, policies, and locale).
When all this data is ingested into the Merchandising framework, the result is a new unified base catalog that is available in the Catalog Service data pipeline. In the next part of the diagram, you see multiple channels. Each channel represents a business unit. For example, Texas retail, Texas retail seasonal, and so on. As you can see from the diagram, locales, policies, and price books can all be shared across channels.
Finally, the diagram shows how this distinct catalog data can be surfaced in various locations, such as an Edge Delivery Services storefront, a marketplace, an advertisement channel, a custom micro-storefront, and so on.
To learn how you can ingest your catalog data into Merchandising using the catalog data ingestion API and how to set up your locales, policies, and price books using the catalog management and rules API, see the developer documentation.
To learn more about the concepts that make up Merchandising Services, see the following sections.
Product catalog management
Product catalog management encompasses two distinct aspects: product data and product context. Merchandising Services respects the separation of these duties, offering independent management for each.
- Product data - What product is being sold and at what price?
- Product context - Who is selling to whom and where?
Product data
Product data includes the following types:
- Products - Individual SKUs or collections of SKUs that represent physical goods or intangible services with attributes that represent the product including description, weight, size, dimensions, and more. Attributes also specify the channel and policy scopes for a SKU. Products can be grouped into various product types such as simple, configurable, bundle, bundle of bundles, subscriptions, and more.
- Metadata - Product attribute metadata defines and manages how product attributes are displayed on the storefront in product listings, detail pages, search results, and so on. Metadata also defines how product attributes are used in search—sorting, filtering, search weights, and so on.
- Price books and prices - Determines the selling prices of products. In Merchandising Services, a product SKU and price are decoupled, hence you are empowered to define multiple price books for a single SKU. By decoupling the prices from the SKU, you can unlock scope-specific prices across different customers tiers, business units, and geographies. You can define regular and discounted prices and manage all of this at scale.
- Assets - Artifacts associated with products, such as images, videos, PDFs or other file types (future roadmap).
Product context management
Product context management covers the following aspects:
- Channel - Distribution channel defines the path that a business wants to sell products through. A channel is the highest-level abstraction which encapsulates locales and policies.
- Example: Dealers for the automobile industry. Subsidiaries for multi-brand conglomerates. Manufacturing location for suppliers.
- Policy - Data access filter which empowers you to deliver the right content to the right destination. This concept enables catalog syndication capabilities.
- Example: Point of sale physical stores, marketplaces, advertisement pipelines (Google, Facebook, Instagram)
- Scope - Represents the language (locale) for catalogs, for example
en-US
. Scope is set at a SKU level during catalog data ingestion.
During product data ingestion and update, a SKU contains the details of scopes and attributes (the attributes map to channels and policies). These define the product context identifiers to which a SKU belongs:
In the above image, each SKU provides:
-
Scope identifiers
- Locale: Mandatory
-
Product attributes
- Product attributes are used to map to the relevant channels and policies
- Example: As an automobile manufacturer, you can choose to create a channel and policy combination for product attributes: (1) Dealers (2) Car brands.
-
Prices and assigned price books
- Each SKU can have multiple prices defined using multiple pricebooks.
- Example: You offer employees a reduced regular price on auto parts with an additional discount of 25%. You offer VIP customers a higher regular price with a discount of 10%. The product SKU price information ensures that the right price is displayed for each customer segment.
The channel and policy definitions are created using dedicated APIs:
- Scope (locale) - Set at a SKU level during product data ingestion.
- Channel - Definition created using dedicated APIs.
- Policy - Definition created using dedicated APIs.