Product Badges

Visually highlights key product attributes or promotions on product cards to guide shoppers and boost engagement

Overview

Product Badging is a visual labeling feature within the Unbxd Search Console’s Merchandising Workbench. It enables merchants to highlight specific products on the product cards with badges such as "Sponsored", "Special Edition", "Sale", and more. These badges serve as quick, intuitive signals that help guide customers through your catalog, enhance product visibility, and ultimately drive higher conversions without altering your inventory.

📘

Important

  • Badge customization options (color, text, and font) is not supported currently.
  • Currently, product badges would require an API or SDK integration and the badges shown in Search and Browse are for preview purposes only.

Benefits

  • Improved User Experience: Customers can instantly identify product highlights or offers.
  • Boosted Conversion Rates: Targeted badges help nudge purchase decisions.
  • Flexible Merchandising: Easily apply badges across your catalog to suit marketing strategies.
StrategyPurposeProduct Badge Examples
Social ProofingHighlights popularity, builds trust, and motivates hesitant shoppers.Best Seller, Popular, Trending, Exclusive, Out of Stock
ScarcityCreates urgency by emphasizing limited availability and risk of missing out.Limited Edition, Today Only, Selling Fast, Just 2 Left, Almost Gone
UrgencyEncourages time-sensitive decisions with time-limited offers or exclusive products, creating FOMO.Deal of the Day, Limited Edition, Back in Stock, Pre-Order
Sales & DiscountsDraws attention to promotions and savings, motivating customers to take advantage of deals.Sale, Clearance, Limited Offer, Free Shipping
Product HighlightsEmphasizes unique product attributes to cater to specific shopper interests.New Arrival, Hot Today, Plus Size, Premium, Eco-friendly, Vegan, Gluten-Free, Eggless, Veg-only, Sugar-free
Seasonal / HolidaysHighlights products tied to holidays or seasonal themes to align with customer intent.Easter, Thanksgiving, Black Friday Sale, Christmas Deal, Mother’s Day Special

Integration Method

We support two types of integration methods for Product Badges.

API Integration

Pass the below sample in your API request.

https://search.unbxd.io/63e6578fcb4382aee0eea117aba3a227/docs-unbxd700181508846765/search?q=shirt&fields=badges_unx,vPrice&version=V2

SDK Integration

To display product badges, include the badges_unx field in the productAttributes array. Once added, this field becomes available as a property in the product object within the products template function, allowing you to customize how product badges are rendered.

products: {
        el: document.querySelector(".ms-search-result-container__Products"),
        tagName: "UL",
        productItemClass: "ms-product-search-result__item",
        attributesMap: {
            unxPrice: "Price",
            unxTitle: "title",
            unxImageUrl: "imageUrl",
            unxVariants: "variants",
        },
        productType: "SEARCH",
        onProductClick: function (product, e) {
            if(product){
                localStorage.setItem('backToProductid',product.uniqueId);
            }
        },
        productAttributes: [
            "sku",
            "Url",
            "uniqueId",
            "imageUrl",
            "Name",
            "Images",
            "ProductName",
            "BasePrice",
            "Price",
            "uniqueId",
            "variants",
            "productUrl",
            "Description",
            "AdjustedPrice",
            "PrimaryImageUrl",
            "Attr_5637150579",
            "ColorHexMapping",
            "ColorImageVariantMapping",
            "Brand",
            "score",
            "badges_unx"
        ],
        template: function (product, idx, swatchUI, productViewType, products) {

            const {
                uniqueId,
                imageUrl,
                Images,
                Name,
                Price,
                AdjustedPrice,
                productUrl,
                Attr_5637150579,
                ColorHexMapping,
                ColorImageVariantMapping,
                Brand,
                score,
                badges_unx
            } = product;


            const {
                productItemClass
            } = products;

            let imageurl = Array.isArray(imageUrl) ? imageUrl[0] : imageUrl;

            let displayPrice = ``;
            var swatchBtnUI = ``;
            var btnList;
            var imgList;
            if (swatchUI) {
                btnList = swatchUI.btnList;
                imgList = swatchUI.imgList
            }
            if (btnList) {
                swatchBtnUI = '<div class="UNX-swatch-wrapper">' + btnList + '</div>';
            }
            if (imgList) {
                imagesUI = imgList;
            }

            newimageUrl = imageUrl[0];
            var custAdjustedPrice;
            if (AdjustedPrice != Price) {
                custAdjustedPrice += '<span class="msc-price__strikethrough" aria-hidden="true">$' + AdjustedPrice.toFixed(2) + '</span><span aria-hidden="true" class=""><span class="msc-price__actual" itemprop="price">$' + Price.toFixed(2) + '</span></span>'
            } else {
                custAdjustedPrice += '<span aria-hidden="true" class=""><span class="msc-price__actual" itemprop="price">$' + Price.toFixed(2) + '</span></span>'
            }
            var SwatchIm = newimageUrl.split('Products/')
            var swatchHtml = '';
            if (ColorHexMapping && ColorImageVariantMapping) {
                var json = ColorHexMapping;
                var swatches = JSON.parse(json);
                var swatchImage = JSON.parse(ColorImageVariantMapping);
                for (var i = 0; i < swatches.length; i++) {
                    if (i == 0) {
                        swatchHtml += "<li class='color-swatch selected' role='button' value='" + SwatchIm[0] + 'Products/' + swatchImage[i].Url + '&w=357&h=535&q=80&m=6&f=jpg' + "'><button style='background-color:" + swatches[i].Hex + "'></button></li>"
                    }
                    else {
                        swatchHtml += "<li class='color-swatch' role='button' value='" + SwatchIm[0] + 'Products/' + swatchImage[i].Url + '&w=357&h=535&q=80&m=6&f=jpg' + "'><button style='background-color:" + swatches[i].Hex + "'></button></li>"
                    }
                }
            }
            return [`
            <li class="ms-product-search-result__item" id="${uniqueId}" data-id="${uniqueId}" data-s="${uniqueId}" unbxd-title="${Name}" unbxd-price="${Price}" unbxdattr="product" unbxdparam_sku="${uniqueId}" unbxdparam_prank="${idx}" unbxdparam_requestId="${window.unbxdSearch.state.requestId}">
                <div aria-label="" class="msc-product has-sale">
                    <a href="/en${productUrl}">
                        <div role="link" class="msc-product__image">
                            <div class="msc-empty_image-placeholder">
                                <picture>
                                    <source class="sourceImage" data-srcset="${newimageUrl}&w=357&h=535&q=80&m=6&f=jpg"  media="(max-width:768px)" srcset="${newimageUrl}&w=357&h=535&q=80&m=6&f=jpg">
                                    <img alt="${Name}" src="${newimageUrl}&w=357&h=535&q=80&m=6&f=jpg" class="unbxdImage msc-main_image msc_image lazyloaded">
                                </picture>
                            </div>
                        </div>
                    </a> 
                    <ul class="custom-swatches">
                        ${swatchHtml}
                    </ul>
                    <a href="/en${productUrl}">
                        <div role="link" class="msc-product__details">
                        <div class="UNX-brand">${Brand ? Brand : ''}</div>
                            <h4 class="msc-product__title">${Name}</h4>
                                <span class="msc-price">${custAdjustedPrice.replace('undefined', '')}</span>
                                <p class="msc-product__text">${Attr_5637150579 == "In-store only" ? Attr_5637150579 : ''}</p>
                        </div>
                    </a>
                    <div class="product-badge">${badges_unx}</div>
                </div>
            </li>`].join('');
        }
    }

Set up Product Badges

To upload your product badges, follow the steps below:

  1. Log in to Netcore Unbxd Panel and navigate to Merchandising > Product Badges

Set up Product Badges

  1. Click Upload file and upload the file that contains your productIDs.
  2. Click Sync to begin syncing the data from your uploaded file. This will create a new attribute UNX_badges in the feed as a new column, where the badge name is appended against each product ID.

This workflow is similar to the Collections workflow. Refer here to know more.

Key Actions for Product Badges

ActionDescription
Upload FileAdd a file containing badge details, like product ID and associated badge names
SyncSync badges to apply the latest updates to your catalog. Addor Delete product badges will require clicking the Sync button to take effect.
Search & FilterUse the search and filter options to locate and manage specific badges.

Use Cases for Product Badges

Use CaseDescription
New BadgeHighlight recently launched products so shoppers can quickly spot the latest arrivals.
Sale BadgeMark products with discounts or offers during seasonal promotions to attract deal-seekers.
Exclusive / Bestseller BadgeShowcase top-selling or special edition products to build trust and encourage purchase.
Low Stock BadgeCreate urgency by alerting shoppers when product availability is limited.
Color BadgeShowcase all the products under the specified color.

Showcasing products under Blue badge