How enriched product data in Akeneo reaches the storefront and the page
How enriched Akeneo product data flows through channels, exports, and connectors to the storefront — and the six places that handoff quietly breaks.

Enriching a product in Akeneo — specs, use-cases, identifiers, compliance attributes — only pays off once that data lands on a rendered product page. Between the PIM record and the DOM sit several handoffs: channel/locale scoping, an export or API call, a connector's field mapping, and the storefront template that actually prints the value. Each hop is a place data can silently stop moving. This guide walks through that path for manufacturers and distributors running Akeneo, and flags where syndication typically breaks.
The four hops from PIM to page
- Enrichment in Akeneo — attribute values are entered or generated against a family, some flagged scopable (per channel) or localizable (per locale).
- Channel/locale scoping — a channel (also called a "scope" in the API and UI) bundles a category tree, one or more locales, currencies, and its own completeness requirements. It's the unit every export and connector run is scoped against (Akeneo channel concept).
- Extraction — either a scheduled CSV/XLSX export profile, a REST API pull, or a marketplace connector (Adobe Commerce, commercetools, Shopware, and others via the Akeneo App Store) reads products filtered to that channel.
- Storefront ingestion and rendering — the receiving platform maps PIM attributes to its own product/attribute model, then a PDP template renders those fields into HTML.
Get the first three right and the fourth is a templating problem. Get them wrong and the template has nothing to render, no matter how good the enrichment was.
What actually leaves Akeneo
Akeneo's export pipeline reads matching products, normalizes each one into a standard format scoped to the channel and locale list you configured, then writes flat rows (CSV/XLSX) or serves normalized JSON over the API (Understanding the Product Export). Two settings decide what's in that output:
- Scopable/localizable flags on the attribute. An attribute marked "value per channel" or "value per locale" only exports the values that exist for the channel/locales you selected — an unpopulated combination exports as an empty cell, not a fallback value from another channel.
- The completeness filter on the export profile. You can filter to "complete on all selected locales," "complete on at least one," or "no condition on completeness." A distributor product that's enriched in English but missing the German locale value will be silently excluded from a run filtered to "complete on all selected locales" — a very common cause of "why isn't this product on the site" tickets.
Via the API, the same scoping happens through query parameters:
GET /api/rest/v1/products?scope=ecommerce&locales=en_US,de_DE&attributes=name,description,ean
scope returns scopable-attribute values for that one channel plus every non-scopable value; locales does the same for localizable attributes (REST API reference). Omit or mis-set either parameter and attributes that look populated in the Akeneo UI simply won't be in the payload.
Export profile vs. API vs. connector
- Export profiles (CSV/XLSX, scheduled or on-demand) are the right fit when the destination is a flat-file import — a marketplace feed, a print catalog, a legacy PIM-to-ERP bridge, or a platform without a maintained connector.
- The REST API is the right fit for near-real-time or custom integrations: a headless storefront, a middleware layer, or your own sync job. It gives you field-level control (
attributes,scope,locales,with_attribute_options) that a flat export doesn't. - App Store connectors (Adobe Commerce/Magento, commercetools, Shopware, and several others) exist specifically so you don't have to build channel mapping yourself — they translate Akeneo's channel/locale/category model into the target platform's website/store-view/attribute-set model on a schedule or via event API.
For manufacturers and distributors running Adobe Commerce or Magento, the Akeneo Connector for Adobe Commerce is the most common path, so it's worth understanding its mapping model in more detail, since the same pattern (channel → storefront container, category tree → visibility) recurs across most connectors.
Where channel mapping decides what's visible
In the Adobe Commerce connector, each Adobe Commerce website is configured to pull from one Akeneo channel via the Website Mapping parameter, and the Admin Website Channel parameter sets the default source for admin operations. Two conditions govern whether a scopable attribute value — or the product itself — actually shows up on a given website:
- The product must be categorized in the category tree linked to that channel; scopable values won't retrieve otherwise (Filtering and mapping channel and locales).
- Optionally, a technical multi-select attribute (e.g.,
website_mapping, with option codes matching Adobe Commerce website codes) can override automatic channel-based assignment for finer control over which websites a product appears on.
Product models add a second mapping layer. By default ("Creation from common"), a two-level PIM product model's common layer maps to an Adobe Commerce configurable product, and both its level-1 and level-2 variation layers map to individual simple products — Adobe Commerce only supports one level of variation, so the connector concatenates your two PIM levels down to it. A later connector setting, "Creation from level 1," instead maps common-plus-level-1 to the configurable and only level-2 to simple products, producing one configurable per level-1 variation. Either way, only variation attributes you explicitly declare in the connector configuration (as a "First Variation value" mapping) get pulled onto the configurable product — anything enriched at the variant level but not declared there never reaches the configurable's swatch/dropdown data (Mapping Product models).
Where the handoff commonly breaks
- Completeness silently excludes a product or locale from an export run — check the profile's completeness filter before assuming enrichment failed.
- Scopable/localizable attribute has no value for the target channel/locale — it exports empty even though the attribute is populated elsewhere.
- Product isn't categorized under the channel's category tree — scopable values (and sometimes the product itself) never sync to that website.
- Variation-level attributes not declared in the connector's product-model mapping — they enrich cleanly in Akeneo but never reach the configurable product's option data.
- Assets/media exported by reference, not by value — if the storefront's asset storage or CDN path differs from Akeneo's, images resolve to broken links until the mapping is corrected.
- Storefront-side cache or index not rebuilt after a sync — the connector delivered the data, but the PDP template is still serving a cached render.
How to validate
- Confirm the export payload is populated:
curlthe API with the exact scope/locale combination the storefront uses, or inspect the export profile's completeness filter and rerun for one SKU. - Confirm the storefront received it: check the connector's job/log output (import history in Adobe Commerce, or the connector's sync log) for the SKU in question.
- Confirm it rendered: view-source (not just the rendered DOM) on the live PDP — many storefronts hydrate JSON-LD and body copy client-side, so what's in the initial HTML response is what search crawlers and most AI agents actually see. Compare that to the rendered DOM in dev tools to catch client-side-only content.
- If the page emits
ProductorOfferstructured data, run it through Google's Rich Results Test to confirm the synced attributes made it into valid JSON-LD, not just visible copy.
Verified as of July 2026 against Akeneo's public documentation and Akeneo App Store connector pages; connector-specific behavior (mapping parameters, product-model handling) can vary by connector version and Akeneo edition, so confirm against the version installed before relying on exact field names.
None of this changes what Anglera does — Anglera enriches the product data that sits in Akeneo (or wherever it lives) so there's something complete and accurate to export in the first place. It's additive: it writes into your existing attributes and channels rather than replacing your PIM or export pipeline, so the syndication path described above keeps working exactly as configured.
