Smarter Category Navigation with Directed Acyclic Graph Support
Constructor now supports Directed Acyclic Graphs (DAGs) for category hierarchies—making it easier to model real-world structures where a single category belongs to multiple sections.
Instead of duplicating categories like “Wireless Headphones” to appear in both "Electronics" and "Gifts," you can now assign multiple parent paths and control which one is shown based on where the shopper is navigating from.
Benefits include:
- Cleaner catalog setup with no duplication of categories
- Flexible hierarchy modeling that reflects real-world relationships
- Better navigation control using query-time path selection
This enhancement also introduces a new groups_path parameter that lets you specify which path to render during browse requests. This results in more precise breadcrumbs and a better contextual experience for shoppers.
🔧 Example Use Case
A single category, like Wireless Headphones, can appear under:
- Electronics > Audio > Headphones > Wireless Headphones
- Gifts > Tech Gifts > Audio > Wireless Headphones
If no groups_path is passed during a browse request, Constructor automatically uses the first parent path ingested for that category - so you’re always covered by default.
How to Structure Parent Categories
To incorporate multiple parent categories, you’ll need to update your catalog format:
✅ Do this:
- Replace parent_id: "xyz" → with parent_ids: ["xyz"]
- For multiple parents: parent_ids: ["xyz", "abc"]
⚠️ Important:
- Only include parent_ids - do not include both parent_id and parent_ids
- Even a single parent must be wrapped in an array
- Ensure all parent categories are defined before ingestion
You can send catalogs with multiple parents in either:
- CSV format via item_groups.csv
- JSON format via the /v2/item_groups endpoint
You decide which path to show based on the user’s journey - with full validation and fallback behavior built in.
DAG-based category hierarchies are already available in production to all our customers.
Related docs: Retrieve item groups, Create or replace item groups, Update item groups, Retrieve item group, JSON / JSONL feed format - item groups (categories), CSV feed format - item groups (categories)