_locale works OOTB for language — what's the recommended way to handle market/country in AEM GraphQL? | Community
Skip to main content
Level 1
June 15, 2026
Question

_locale works OOTB for language — what's the recommended way to handle market/country in AEM GraphQL?

  • June 15, 2026
  • 1 reply
  • 6 views

We're delivering Content Fragments headlessly via the AEM as a Cloud Service GraphQL API for a multi-market site. We already use `_locale` to fetch the right language version of our fragments, and it works great OOTB. What I'm trying to figure out: Is there an equivalent OOTB system parameter for country or market the way `_locale` exists for language? Something like a _country OR / _market argument I could pass into the query?

Our content structure looks like  “/content/dam/<brand>/us/en/...”, “/content/dam/<brand>/uk/en/...”, etc. I know I could filter on `_path` with `STARTS_WITH`, but for this use case we'd prefer not to rely on path-based filtering.

Question:

1. Does AEM GraphQL expose any OOTB country/market parameter, or is “ _locale” the only geo-related system parameter?
2. If there's nothing OOTB, what's the recommended way to model market so it filters cleanly in GraphQL?

1 reply

v-lazar
Level 2
June 15, 2026

@anilkumar27  no OOTB market/country parameter exists in AEM Content Fragments GraphQL. _locale and _path are the only system filters, and locale is special because AEM has native locale-aware delivery via the language masters folder structure.

Patterns that might work for your use case:

  1. Add a market field to the Content Fragment Model. Single-select or controlled vocabulary with values US, UK, DE, etc. Filter via standard field filter, no path coupling. This is the cleanest path for a fixed set of markets. Explicit, semantic, easy for downstream consumers (frontend, agents) to understand. Recommendation if you have a known list of countries.
  2. Use AEM Tags. Create a tag namespace for markets (markets:us, markets:uk, markets:emea) and reference them via a tag field on the model. Filter via tag reference. Better when market is multi-dimensional (country plus region plus brand plus channel) or when you want hierarchical relationships you can navigate.
  3. Extended locale codes. Use BCP 47 codes like en-US, en-GB, de-DE in _locale. AEM handles these natively. Works if you can collapse language and market into one dimension, but couples them, which limits flexibility (you cannot easily query "all DE content regardless of language").

 

If you go with the field approach and your content is live-copied via MSM across market branches, make sure rollout configurations preserve or update the market field correctly. Authors should not be the source of truth for that value, the rollout should set it based on the destination branch.

https://www.linkedin.com/in/viktor-lazar/ | https://cyber64.com/insights