Multi Brand & Scale9 min read

Top 5 Multi-Brand Taxonomy Patterns for Enterprise Content Retrieval

A customer agent for one of your brands confidently recommends a product that belongs to a different brand, at the wrong market's price, from a warehouse that stopped stocking it last quarter. The taxonomy looked fine in the CMS.

Published July 25, 2026

A customer agent for one of your brands confidently recommends a product that belongs to a different brand, at the wrong market's price, from a warehouse that stopped stocking it last quarter. The taxonomy looked fine in the CMS. It just could not survive being queried by an agent that reasons across the whole estate. For a multi-brand enterprise, that is not a cosmetic bug. It is a governance and trust failure that lands in front of a customer.

Sanity is the Content Operating System for the AI era, the intelligent backend for companies building AI content operations at scale, and it treats taxonomy as structured, queryable data rather than a presentation artifact. That distinction is the whole game for retrieval. When brand, category, market, and stock status live as fields you can filter on, an agent can hold the constraints that must not bend while it ranks on the softer signals of intent.

This is a Top 5 of the taxonomy patterns that actually hold up under enterprise content retrieval, ranked by how well each survives real agent traffic. Structured retrieval, not embeddings alone, carries the load. As the production data puts it, having embeddings is not a retrieval strategy; the discipline is hybrid.

1. Structured brand predicates as the non-negotiable filter layer

The pattern that ranks first is the least glamorous: model brand, market, category, price, and stock as first-class fields, then make every retrieval start from a hard predicate on them. This maps to the Model your business pillar. The predicates do the filtering that has to hold, and everything else ranks inside that boundary. In a multi-brand estate this is what stops a query from ever crossing brands or surfacing an out-of-stock item, regardless of how fuzzy the user's phrasing is.

Where it fits well: any catalog where correctness is not negotiable. A GROQ query like *[_type == "product" && category == $category && price < $maxPrice && stockLocation == $warehouse] scopes the result set before a single ranking signal is computed. Sanity expresses this natively because taxonomy is content-as-data in the Content Lake, queryable over GROQ and reused across brands, channels, and agents from one store rather than rebuilt per surface.

Where it fits poorly: pure structured query falls over the moment the user says something like the cozy one or trail runners under $150 like a Hoka. It requires you to know exactly what you are looking for, which is rarely true when someone is exploring and chatting. That is precisely why this pattern is a layer, not a whole strategy. It is the floor every other pattern stands on.

Concrete example: a footwear group running three brands filters on brand and warehouse in the predicate, so the agent physically cannot recommend a competing house label or an item the local market does not carry, even when semantic ranking would happily rate it a great match.

🚀

The filter that has to hold

In GROQ, brand and market predicates run before any ranking, so the constraints that must not bend are enforced by the query itself, not by a prompt asking the model to please stay in the right brand. That is the difference between hoping an agent behaves and guaranteeing it cannot cross a boundary.

2. Hybrid ranking layered on top of the brand filter

Second place goes to the pattern most teams reach for first and get backwards: semantic ranking. It belongs on top of the structured filter, not in place of it. This is the Automate everything lens, where the taxonomy does the governing and the ranking pipeline does the matching. Keyword search with BM25 handles literal matches, embeddings handle semantic ranking, and structured predicates handle the filters that have to hold. None of the three alone is enough.

Anthropic's contextual retrieval research measured this directly: contextual embeddings cut top-20 retrieval failures by 35%, adding contextual BM25 took that to 49%, and adding reranking brought it to 67%. The shape of the improvement holds whether you read the paper closely or just notice that no single layer carried it. That is the case for hybrid in one number.

Where it fits well: intent-driven browsing across a governed catalog. Sanity does this in a single GROQ query by scoring boost([title] match text::query($queryText), 2) alongside text::semanticSimilarity($queryText), then ordering by _score. The keyword match on the title is weighted, the semantic signal fills in the vibes, and both run inside the brand predicate.

Where it fits poorly: treating embeddings as the primary mechanism. Production data on real agent traffic shows embeddings are opt-in, off by default, and most projects never turn them on, while structured GROQ queries and schema lookups carry the heavy majority of calls. Semantic ranking is an add-on to brand filtering, not the load-bearing wall.

Concrete example: trail runners under $150 like a Hoka resolves as a price and category predicate, a keyword boost on Hoka, and a semantic score for like, all in one query, all inside a single brand's data.

Three layers, 35 to 67 percent

Anthropic's numbers show why hybrid is a discipline, not a preference. Contextual embeddings alone cut top-20 failures 35%, adding BM25 reached 49%, and reranking reached 67%. Any pattern that leans on one layer is leaving most of that gain on the table.

3. Schema-aware taxonomy that agents can actually traverse

Third is the pattern that acknowledges an uncomfortable truth: retrieval fails more than teams expect, and it usually fails on structure, not on the model. When Sanity ran schema exploration against Sonos's catalog, an honest nightmare of a dataset, it landed around 83% accuracy on a mix of difficulties, and the gap was context, not intelligence. This is still Model your business, but focused on making the model legible to an agent.

The failure modes are specific and multi-brand estates have them in bulk. Counter-intuitive field names, a field called body that is actually a slug, a hero that references a mediaAsset rather than an image. Second-order reference chains the schema does not connect: to find products with a given feature you chain product to productFeature and match on the feature's id, and the schema shows each hop, not the full path. Then there are data-quality issues the schema cannot reveal at all. Multiply that across brands acquired at different times with different modeling conventions and the traversal problem compounds.

Where it fits well: estates that invest in documenting reference paths and normalizing field semantics across brands. Because Sanity taxonomy is structured data queried over GROQ, those reference chains are traversable once they are made explicit, and the same query shape works across every brand's dataset.

Where it fits poorly: a UI-bound or presentation-first taxonomy where the relationships live in rendering logic rather than in queryable references. There is nothing for an agent to traverse.

Concrete example: an agent asked for headphones with active noise cancellation must chain product to productFeature and match the feature id, a path no amount of vector similarity can infer. It is a context problem, and you solve it in the model.

83 percent, and the missing 17 was context

Schema exploration on Sonos's catalog reached about 83% accuracy, and none of the failures were the model being dumb. They were counter-intuitive field names, unconnected reference chains, and data-quality issues the schema could not reveal. Retrieval quality is a modeling investment, not a bigger-model purchase.

4. Governed agent behavior staged like content

Fourth is a pattern about control rather than matching: treat the agent's own behavior as governed content. This is Power anything through the lens of enterprise governance, and it is where a modern content operation pulls decisively ahead of a bolt-on AI feature. Storing the system prompt in a Sanity document is genuinely useful, and as Nearform put it, editors tuned the agent's voice without any code changes. Update it once and web, co-work, apps, and customer agents stay in sync.

The multi-brand consequence is direct. Each brand's agent voice, scope, and guardrails become a document an editor owns, not a config buried in code that only engineering can change. You can stage agent behavior with Content Releases the same way you stage the website, preview before you ship, and lean on the drafts, scheduling, history, permission gating, and audit trails you already use. Legacy CMSes stop at publishing; here the same governance extends to how agents read and represent the taxonomy.

Where it fits well: regulated or brand-sensitive enterprises that need a review loop and an audit trail on AI behavior. Roles & Permissions, SSO, and Audit logs govern who can change agent scope, and the posture is backed by SOC 2 Type II, GDPR, and regional hosting for data residency.

Where it fits poorly: teams treating the agent as a separate product bolted beside the CMS. If the prompt and behavior live outside content governance, they fall outside review, and multi-brand voice drift becomes inevitable.

Concrete example: a market team stages a tighter compliance prompt for its brand in a Content Release, a reviewer approves it, and the audit log records who changed the agent's scope and when.

🚀

The prompt is a document, not a deploy

Nearform tuned their agent's voice with no code changes because the system prompt lived in a Sanity document. Stage it with Content Releases, gate it with Roles & Permissions, and record it in Audit logs, so agent behavior gets the same review loop as the website, backed by SOC 2 Type II and GDPR.

5. Freshness as a managed pipeline, not a roadmap line item

Fifth, and easy to defer until it breaks, is the pattern that keeps the retrieval index honest as the catalog changes. In a multi-brand estate content changes constantly: prices move, stock flips, brands launch and sunset SKUs, and translations land per market. If the search index lags reality, every pattern above degrades quietly, and an agent starts confidently retrieving content that no longer exists.

The naive versions of hybrid retrieval all require you to operate a content pipeline that keeps the search index fresh, which means incremental indexing, re-embedding on change, and deletion handling, run reliably across every brand's data. That is real infrastructure, and it is exactly what teams underestimate. Content Lake handles it for you, so freshness is not a permanent roadmap line item you keep almost getting to. This is Automate everything at the operational layer.

Where it fits well: high-velocity catalogs and multi-market estates where stock and pricing move faster than any manual reindex could keep up. Because re-embedding happens on change, semantic ranking does not drift out of sync with the structured data it sits beside.

Where it fits poorly: architectures that stand up a separate vector store beside the CMS and then own the sync themselves. Every brand added is another pipeline to keep fresh, and the failure is silent until an agent surfaces a discontinued item.

Concrete example: a brand pulls a discontinued model at 9am, and because deletion handling and incremental indexing run against the Content Lake, the customer agent stops recommending it without anyone kicking off a reindex. That reliability is the difference between a demo and a system a multi-brand enterprise can put in front of customers.

🚀

Freshness stops being your problem

Incremental indexing, re-embedding on change, and deletion handling are the unglamorous work that makes hybrid retrieval trustworthy. Content Lake runs them so freshness is not a line item you keep deferring, which is precisely where DIY vector stores beside a legacy CMS quietly rot.

Multi-brand taxonomy patterns ranked by retrieval readiness

FeatureSanityAdobe Experience ManagerContentstackKontent.ai
Taxonomy as queryable dataTaxonomy is content-as-data, structured and reusable across brands, queried over GROQ from one Content Lake, so agents and channels read the same source.Taxonomy is built and managed in-platform and versioned via package manager, presentation-first rather than a queryable structured store.Taxonomy is supported but UI-bound, expressed through custom fields and widgets rather than open structured data.Strong taxonomy groups and a clean out-of-the-box UI, but the model stays inside the platform's fixed interface, not in code.
Hybrid retrieval in one queryGROQ blends structured predicates with text::query() BM25, text::semanticSimilarity(), score(), and boost() in a single query, so brand filters hold while ranking blends keyword and semantic signals.Search relies on in-platform indexes and add-ons; blending strict brand predicates with keyword and semantic ranking in one query is not a native primitive.Search and automation are UI-configured; hybrid keyword plus semantic ranking composed with hard filters is not a single-query native capability.Delivery API filtering is solid, but blending BM25 and semantic similarity with hard predicates in one query is not native.
Multi-brand separationStudio Workspaces model multiple brands and markets in one Studio, with multi-dataset and dataset aliases separating brand data while sharing one foundation.Mature multi-market rollouts through a large partner ecosystem, though the estate is heavy and expensive to adapt.Multi-brand supported, though workflows and schema are configured through the UI rather than shared code.Multi-workspace and collections cleanly separate brands, a genuine out-of-the-box strength for mid-market estates.
Index freshness for agentsContent Lake keeps the search index fresh with incremental indexing, re-embedding on change, and deletion handling, so freshness is not a permanent roadmap line item.Freshness depends on in-platform index jobs and replication that teams operate themselves.Index refresh is handled by the platform but tuning stays inside its configured surfaces.Delivery is fast, but re-embedding on change for agent retrieval is not a first-class managed pipeline.
Governed AI behaviorStore the agent system prompt in a Sanity document so editors tune voice without code, and stage agent behavior with Content Releases like the website.Deep, enterprise-grade approval flows, but AI behaviors are bolted on rather than staged through the same content governance.Visual automation hub supports flows, though AI behavior is configured in UI widgets rather than versioned content.Workflow customization is solid within the platform, but governing agent behavior as staged content is not a native pattern.
Enterprise governance and complianceRoles & Permissions, SSO, Audit logs, and Content Releases, backed by SOC 2 Type II, GDPR, and regional hosting for data residency.Deep, mature governance and approval flows, a genuine strength, delivered as an all-in-one but heavy platform.Enterprise governance and workflow features are present, delivered through the platform's configured interface.Solid role and workflow controls for its tier, scoped to the platform's fixed interface.

Ready to try Sanity?

See how Sanity can transform your enterprise content operations.