Color based image SKU selection


This guide describes how Bloomreach search results show the most relevant SKU image for a product with Color-based image SKU selection feature.

Color-based image SKU selection allows Bloomreach search results to show the most relevant SKU image for a product when there are multiple color SKUs for a search query that includes a color.  

For example, if the user searches for "black dresses" and a particular dress is available in both black and red, the feature will pick the black SKU and return the image associated with that particular SKU instead of just relying on the main image for the overall product.  

The user's color intent is taken from the search query or the facet applied. This feature is enabled by default but please note that it requires the colors to be populated in the feed. Your Technical Consultant can guide you on the feed configurations to make this feature work. 

In the example below, the first product has 3 SKUs and the second has 2 SKUs, all different colors. Bloomreach was able to identify that user intends to search for "black" colored "shift dress" and displayed the appropriate SKU image. 

We also support partial matches for cases when the SKU color provided in the feed doesn't exactly match the user's query. For example, if a user searches for "navy blue dress" but none of the SKUs have a color as "navy blue", then we would search for SKUs that have color as either "navy" or "blue" and select one of those as the image returned.

# Feed requirements

Product feed should have the following attributes for each SKU:

  • color
  • color_group
  • thumb_image

We will return the appropriate thumb_image as the main image in the results so long as that SKU's color or color_group matches for the filter (“fq”) value or query color. 

Algorithm Overview

Case A: Exact match

Suppose the query is "blue dress" or the user has selected color = "blue" (for the query “dress”), then we will check each SKU for all the products in recall set. For any product in the recall set, if there is some SKU with color or color_group as "blue", that SKU's image will be selected for display (ie, set as that product’s image_url in API response)

Case B: Partial match

Suppose the query is "navy blue dress" but none of SKUs have color exactly as "navy blue", then we would search for SKUs with (NOT color_group) as either "navy" or "blue".

For performance reasons, we restrict this “partial match” approach to:

  • Less than 6 words for the value in SKU color attribute
  • Only top 600 lookups/SKUs - generally covers 60 products with average 10 SKUs.

FAQ

Q) What colors are recognized by this feature? 
A) Any string specified in “” is used (ie, the string does not have to be a color such as black/blue/…). If a string in SKU color or color_group matches with whatever is in the user entered a query, the feature will kick in. Thus, if "Golden State" is a value in or <color_group> tag then it will be used in the above color-matching algorithm. Some customers do place attributes such as style or pattern into the SKU color attribute and if the end-user search for the related keyword that matches the style or pattern value that was placed in the SKU color attribute, it will surface the relevant SKU image.  

Q) What if I like to use multiple values to describe my SKU?
A) For example, one of the product SKU of a dress has the characteristic of Red, Blue, and Animal. In the feed setup, although Bloomreach only supports a single value of the SKU color attribute (no comma separation). But if you set up the values to be separated by space instead of using comma (in this example. SKU#1 color attribute = "red blue animal"). It's still considered as a single value and Bloomreach's partial match logic will still work and if the end-user search for either red, blue, or animal, this SKU will be surfaced. 

Q) Will this feature consider synonyms when matching?
A) This feature does not consider synonyms when matching. For example, Grey has synonym Charcoal. If there are a query "grey shorts", it would only return images provided SKU color or color_group has grey. It would not match images which have color or color_group as "charcoal".