Implementing Category Facets
There are many ways to implement category facets on your site. Bloomreach recommends that you curate the category response to make it more usable, less confusing, and add value to your site. We have provided some effective implementation schemes below.
Note
Bloomreach does not modify category output in this field for the following two key reasons:
- It references our internal category tree which cannot be modified as it powers the Category API.
- Different customers want to implement category facets differently, so we supply enough data in the response so you can customise to your specific needs.
To understand the implementation, we will use the following sample category structure throughout this document as an example.
You can view the complete sample structure at the end of this page.
User Flow in Category Facet Implementation
The flow of user-selection defines how you show the categories within your pages.
Explained in the table below using placeholder names such as Cat1, Cat2,Cat3 and so on, along with examples. The bolded text shows the selection by the user and the corresponding child category that lies within it.
Root |
Cat1 (Sofas & Lounges) |
Cat2 (Fabric Sofas) |
Cat3 (Futon Sofas) |
Children |
Cat1A, Cat1B, Cat1C (Recliners, sofa sets, sectional sofas) |
Cat2A, Cat2B, Cat2C (Modular, Fabric sofa bed, Coated fabric sofas) |
Cat3A, Cat3B, Cat3C (Single futons, double futons) |
Grandchildren |
Cat1Aa, Cat1Ab, Cat1Ac, Cat1Ba… (Single seat recliners, 2- seat recliners, 3 -seat recliners) |
Cat2Aa, Cat2Ab, Cat2Ac, Cat2Ba… (Modular fabric sofa, Sofa modules, Modular coated fabric sofa) |
Cat3Aa, Cat3Ab, Cat3Ac, Cat3Ba… (Futon frames, Futon mattresses, Futon sets) |
Great-grandchildren |
Cat1Aa1, Cat1Aa2, Cat1Aa3, Cat1Ab1… (Manual seat recliners, Power motion recliners) |
Cat2Aa1, Cat2Aa2, Cat2Aa3, Cat2Ab1… (2-seater, 3-seater, 4-seater) |
Cat3Aa1, Cat3Aa2, Cat3Aa3, Cat3Ab1… (Wallhugger Futon Frames, Hardwood Futon Frames, Solid Wood Amish Futon Frames) |
Implementation Methods
Listed below are 6 different various of how you can implement category facets in your site:
Method 1: Drill Down Method
Start at the root and only display the immediate children of the current category. Once a category is selected, only display its children.
Example
Category Location |
Facets Displayed |
Example |
Root |
Cat1 Cat2 Cat3 |
Sofas & lounges Fabric Sofas Futon Sofas |
Cat1 selected (Sofas & lounges) |
Cat1A Cat1B Cat1C |
Recliners Sofa sets Sectional sofas |
Cat1A selected (Recliners) |
Cat1Aa Cat1Ab Cat1Ac |
Single seat recliners 2- seat recliners 3- seat recliners |
Method 2: Drill Down Mark 2
Same as Drill Down, but also display grandchildren along with children.
Example
Category Location |
Facets Displayed |
Example |
Root |
Cat1 Cat2 Cat3 |
Sofas & lounges Fabric sofas Futon Sofas |
Cat1 selected |
Cat1A Cat1Aa Cat1Ab Cat1Ac Cat1B Cat1Ba Cat1Bb Cat1Bc Cat1C Cat1Ca Cat1Cb Cat1Cc |
Recliners 2- seat recliners Single seat recliners 3 seat recliners
Lounges & Armchairs Footstools & pouffes Lounge Chairs Balcony Chairs Sectional Sofas Corner Sofas RHS Sectional Sofas LHS Sectional Sofas |
Cat1A selected |
Cat1Aa Cat1Aa1 Cat1Aa2 Cat1Ab Cat1Ab1 Cat1Ab2 Cat1Ac Cat1Ac1 Cat1Ac2
|
2- seat recliners Manual 2 seat recliners Power motion recliners Single seat recliners Manual 2 seat recliners Power motion recliners 3 seat recliners Manual 2 seat recliners Power motion recliners |
Method 3: Drill Down Mark 3
Same as Drill Down Mark 2, but also display a tree to navigate back up to the original category.
Example
Category Location |
Facets Displayed |
Example |
Root |
Cat1 Cat2 Cat3 |
Sofas & lounges Fabric sofas Futon Sofas |
Cat1 selected |
Cat1 Cat1A Cat1Aa Cat1Ab Cat1Ac Cat1B Cat1Ba Cat1Bb Cat1Bc Cat1C Cat1Ca Cat1Cb Cat1Cc |
Sofas & lounges Recliners Single seat recliners 2- seat recliners 3- seat recliners Lounges & Armchairs Footstools & pouffes Lounge Chairs Balcony Chairs Sectional Sofas Corner Sofas RHS Sectional Sofas LHS Sectional Sofas |
Cat1A selected |
Cat1 Cat1A Cat1Aa Cat1Aa1 Cat1Aa2 Cat1Ab Cat1Ab1 Cat1Ab2 Cat1Ac Cat1Ac1 Cat1Ac2
|
Sofas & lounges Recliners Single seat recliners Manual seat recliners Power motion recliners 2- seat recliners Manual 2-seat recliner Power motion recliners 3- seat recliners Manual 2 seat recliners Power motion recliners |
Method 4: Full Expansion
All data is present, but is hidden behind collapsed menus, so you have to open up the children and the other children.
Example
Category Location |
Facets Displayed |
Example |
Root |
> Cat1 > Cat2 > Cat3 |
Sofas & lounges Fabric sofas Futon Sofas |
Cat1 selected |
V Cat1 > Cat1A > Cat1B > Cat1C > Cat2 > Cat3 |
Sofas & lounges Recliners Lounges & Armchairs Sectional Sofas Fabric sofas Futon Sofas |
Cat1A selected |
V Cat1 V Cat1A > Cat1Aa > Cat1Ab > Cat1Ac > Cat1B > Cat1C > Cat2 > Cat3 |
Sofas & lounges Recliners Single seat recliners 2- seat recliners 3- seat recliners Lounges & Armchairs Sectional Sofas Fabric sofas Futon Sofas |
Method 5: Full Expansion Variation
A hybrid of Full Expansion and Drill Down, with collapsed menus but only displays child and sibling categories.
Example
Category Location |
Facets Displayed |
Example |
Root |
> Cat1 > Cat2 > Cat3 |
Sofas & lounges Fabric sofas Futon Sofas |
Cat1 selected |
V Cat1 > Cat1A > Cat1B > Cat1C > Cat2 > Cat3 |
Sofas & lounges Recliners Lounges & Armchairs Sectional Sofas Fabric sofas Futon Sofas |
Cat1A selected |
V Cat1 V Cat1A > Cat1Aa > Cat1Ab > Cat1Ac > Cat1B > Cat1C |
Sofas & lounges Recliners Single seat recliners 2- seat recliners 3- seat recliners Lounges & Armchairs Sectional Sofas |
Method 6: Show all leaf nodes
In addition to showing all leaf nodes, have category facets redirect to the category page selected instead of filtering results.
How to Implement
Before you begin
Ensure you have taken care of the following points before you implement category facets:
- Make sure crumbs are defined properly in feed
- Understand and determine your current position, your current category ID
- To find siblings, get category facets with the same parent id of current category ID
- To find children, get category facets with parent = current category ID
- To find ancestor, get category facet with category ID matching preceding values in crumbs up to root category
Implementing Drill Down
- Start at root
- Find children of selected category
- Show children
Implementing Drill Down Mark 2
- Start at root
- Find children of selected category
- Find children of children
- Show children and grandchildren
Implementing Drill Down Mark 3
- Start at root
- Find children of selected category
- Find children of children
- Find all ancestors of selected category
- Show children, grandchildren, and ancestors
Implementing Full Expansion
- Start at root
- Find children of selected category
- Show children of selected category or categories
Implementing Full Expansion Variation
- Start at root
- Find children of selected category
- Find siblings of selected category
- Show children and siblings of selected category
Reference Sample Structure
The structure given below is created for reference and for the purpose of implementation understanding:
Updated about 1 year ago