We have launched our new documentation. Please head here to read it.

  • Browse
    • Search
    • Recs
Menu
  • Browse
    • Search
    • Recs
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages
  • Browse
    • Search
    • Recs
Menu
  • Browse
    • Search
    • Recs
  • Recs
    • Browse
    • Search
Menu
  • Recs
    • Browse
    • Search
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages
  • Get Started
  • Documentation
  • Integration Docs
  • FAQ
Menu
  • Get Started
  • Documentation
  • Integration Docs
  • FAQ

Down Arrow up_Arrow_active Feed

Direct Feed Upload

  • Prepare your Schema
  • Prepare your Catalog
  • Upload your Feed

Feed API

  • Full Feed Upload
  • Delta Feed Upload
  • Single Record Upload
  • Check Product Count

Down Arrow up_Arrow_active Analytics

Introduction

  •  
  •  

Browser Integration

  • JavaScript Based Integration
  • HTML Based Integration

GTM Integration

  • Introduction to GTM
  • Requirements

Analytics API

  • Events
  • API Integration

Unbxd Events Validator

  •  
  •  

Down Arrow up_Arrow_active Deploy Unbxd

Search API

  • Search Endpoint
  • Authentication
  • Header
  • Request Parameter
  • Response Components
  • Explanation Request Parameter

PDP API

  • PDP API Format

Autosuggest API

  • Sample Request
  • Request Parameters
  • Response Parameters

Android SDK

  • System Requirements
  • Install SDK
  • Initialize SDK
  • Unbxd Commerce Search
  • Integrating Unbxd Autosuggest
  • Unbxd Analytics
  • Unbxd Browse
  • Unbxd Recommendations
  • Sample App

iOS SDK

  • Installation
  • Unbxd Analytics
  • Unbxd Commerce Search
  • Unbxd Autosuggest
  • Unbxd Browse
  • Unbxd Recommendations
  • Sample iOS App

Javascript Library Integration

  • Quickstart with Unbxd Template
  • Quick Integration to your site
  • Detailed Guide
  • Authentication
  • Types of Pages to Render
  • Configuring the Page
  • Instance Methods
  • More Information
  • Available Configurations

Autosuggest SDK

  • Libraries
  • QuickStart
  • Authentication
  • Configuring Autosuggest
  • Sample Options Object
  • Handlebar Functions
  • List of Configs

Search JS SDK Config

  • Search Template
  • Loader Config
  • Facet Config
  • Pagination
  • Spellcheck
  • Sort Config
  • PageSize Config
  • Breadcrumb Config
  • Product Views
  • Variants

React SDK

  • Quick Integration with Unbxd template
  • Quick Integration to your site
  • Installation
  • Authentication
  • Types of pages to render
  • Configuring the page
  • PageSize Config
  • More Info

Visual Search API

  • Endpoint
  • Authentication
  • Headers
  • Request Parameters
  • API Response 
  • Response Components

Down Arrow up_Arrow_active Onboarding & Platform Integration

Onboarding Flow

  • Create an Unbxd Account
  • Create an Unbxd Site
  • Upload a Catalog
  • Setup Search
  • Integrate Search

Onboarding Flow

  • Create an Unbxd Account
  • Create an Unbxd Site
  • Upload a Catalog
  • Setup Search
  • Integrate Search

Shopify

  • Plugin Installation
  • Configuration
  • Uninstallation
  • Test Plugin Installation

Magento Integration

  • Installation
  • Authentication
  • Catalog
  • Catalog Sync
  • Product Integration
  • Custom Template
  • Indexing Queue View
  • Feed View
  • Upgrade
  • Uninstall

SAP Hybris

  • Installation
  • Authentication
  • Catalog
  • Cron Job
  • Product Config
  • Uninstall

BigCommerce

  • Installation
  • Configuration

JavaScript Based Integration

Introduction

With Browser Integration, you can insert the unique tracker, as a custom Javascript file, anywhere within the HTML pages in your website for all the various events. As a first step we need to include UnbxdAnalytics.js script to the head of all the HTML pages, where we want the track functionality to work. You can add it using the below code to you HTML:

				
					<script type="text/javascript">
  var UnbxdSiteName = "{{site-key}}"; // Replace the value with the Site Key.
  var UnbxdApiKey = "{{api-key}}"; // Replace the value with API key
  (function() {
    var ubx = document.createElement('script');
    ubx.type = 'text/javascript';
    ubx.async = true;
    ubx.src = '//libraries.unbxdapi.com/ua-js/v1.0.0/uaLibrary.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ubx);
  })();
</script>
				
			

NOTE: UnbxdSiteName should be initialized with the correct site key for the environment of your account in Unbxd.

Visitor

This event is used to track shoppers and make their user profiles using browser cookies. To enable this event we just need to add Unbxd’s analytics JS library (as done above) inside the head section of all pages of the site.

NOTE: The visitor event will be fired from the SDK itself. If you have integrated the Unbxd analytics JS code, this event is tracked and pushed automatically, with no further action required.

The Visitor event is the first event that gets created when a shopper visits your site.  There are two types of shoppers we track:

  • First-time shoppers
  • Repeat shoppers

Experience Impression

A recommendation(experience) impression event is fired when a recommendation widget results loads on Home, Product, Category, Cart or Brand page. For each of these actions, unique Ids of the products visible on the recommendation widget on any above page should be sent as payload.

				
					<script type="text/javascript">
	var payload = {
             requestId: '{{unbxd-request-id}}',
		pids_list: '{{list-of-products-uniqueId}}',
		experience_pagetype: '{{recs-pagetype}}',
		experience_widget: '{{recs-widget}}'
	}
	var action = 'experience_impression'
	if(Unbxd && typeof Unbxd.track === 'function') {
		Unbxd.track(action, payload)
	} else {
		console.error('unbxdAnalytics.js is not loaded!')
	}
</script>
				
			

Payload details:

Attribute Name

Datatype

What value to be passed

requestId

string

To be extracted from Unbxd search api response headers, from unx-request-id

pids_list

string

List of unique id of products loaded with current request. If zero products are returned, pass an empty list(array).

experience_pagetype

string

Pagetype for widget should be either Home, Product, Category, Cart or Brand based on the type of page on which the widget is used

experience_widget

string

Widget type either of WIDGET1, WIDGET2, or WIDGET3.

Product Click

The click event should be tracked whenever a user clicks on any product to go to the product details page. It should have the information about the source of the product listing which will a recommendation widget in this case.

				
					<script type="text/javascript">
	var payload = {
		pid: '{{unique-id}}',
		prank: '{{number-of-product}}',
		experience_pagetype: '{{recs-pagetype}}',
		experience_widget: '{{recs-widget}}',
		requestId: '{{unbxd-request-id}}'
	}
	if(Unbxd && typeof Unbxd.track === 'function') {
		Unbxd.track('click', payload)
	} else {
		console.error('unbxdAnalytics.js is not loaded!')
	}
</script>
				
			

Payload details:

Attribute Name

Datatype

What value to be passed

requestId

string

To be extracted from Unbxd search api response headers, from unx-request-id

pid

string

Unique id for the product

variantId

string

VariantId of the selected product variant, if relevantDocumentType=”variant”,

In search api response, or null

prank

string

Number aka rank of product in response

experience_pagetype

string

Pagetype for widget should be either Home, Product, Category, Cart or Brand based on the type of page on which the widget is used

experience_widget

string

Widget type either of WIDGET1, WIDGET2, or WIDGET3.

Product View

Product Page View indicates the total number of visits that has been made to the product details page (PDP) by the visitor irrespective of the source (search result page, category page, search engine, email, marketing campaigns, etc).The product view can be tracked whenever a user lands on the PDP page.

				
					<script type="text/javascript">
  var payload = {
    pid: '{{uniqueId-of-the-product}}',
    variantId: '{{variantId-of-selected-variant}}'
  }
  if(Unbxd && typeof Unbxd.track === 'function') {
    Unbxd.track('product_view', payload)
  } else {
    console.error('unbxdAnalytics.js is not loaded!')
  }
</script>
				
			

Payload details:

Attribute Name

Datatype

What value to be passed

pid

string

Unique id for the product, to be taken from API response, if relevantDocumentType=”parent”,

In search api response, or null

variantId

string

VariantId of the selected product variant, if relevantDocumentType=”variant”,

In search api response, or null [Only if variants are present in the feed]

Add to Cart

Whenever a user adds any product to cart or shopping bag, the add to cart will get fired. This helps us further improve the products appearing in the Recommendation widget.

				
					<script type="text/javascript">
  var payload = {
    pid: '{{uniqueId-of-the-product}}',
    variantId: '{{variantId-of-selected-variant}}',
    qty: '{{quantity-selected}}',
    price: '{{unit-price-for-product}}'
  }
  if(Unbxd && typeof Unbxd.track === 'function') {
    Unbxd.track('addToCart', payload)
  } else {
    console.error('unbxdAnalytics.js is not loaded!')
  }
</script>
				
			

Payload details:

Attribute Name

Datatype

What value to be passed

pid

string

Unique id for the product, to be taken from API response, if relevantDocumentType=”parent”,

In search api response, or null

variantId

string

The variantId of the selected product variant, if relevantDocumentType=”variant”,

In search api response, or null

qty

string

Quantity being added to cart by user

price

string

The unit price of the product (variant, if variant is selected)

Cart Removal

Whenever a user removes any product from cart or discards the whole cart. The cart removal event should be tracked individually for all products being removed.

				
					<script type="text/javascript">
  var payload = {
    pid: '{{uniqueId-of-the-product}}',
    variantId: '{{variantId-of-selected-variant}}',
    qty: '{{quantity-selected}}',
    price: '{{unit-price-for-product}}',
  }
  if(Unbxd && typeof Unbxd.track === 'function') {
    Unbxd.track('cartRemoval', payload)
  } else {
    console.error('unbxdAnalytics.js is not loaded!')
  }
</script>
				
			

Payload details:

Attribute Name

Datatype

What value to be passed

pid

string

unique id for the product, to be taken from API response, if relevantDocumentType=”parent”,

In search api response, or null

variantId

string

variantId of the selected product variant, if relevantDocumentType=”variant”,

In search api response, or null

qty

string

quantity being removed by the user as string.

price

string

unit price of the product (variant, if variant is selected) as string.

Order

When a user completes the transaction and lands on the order confirmation/success page, the order event should be tracked for each individual product. There are 2 ways to trigger the order event and either of them can be used:

1. Individually for all events

				
					<script type="text/javascript">
  var payload = {
    pid: '{{uniqueId-of-the-product}}',
    variantId: '{{variantId-of-selected-variant}}',
    qty: '{{quantity-selected}}',
    price: '{{unit-price-for-product}}'
  }
  if(Unbxd && typeof Unbxd.track === 'function') {
    Unbxd.track('order', payload)
  } else {
    console.error('unbxdAnalytics.js is not loaded!')
  }
</script>
				
			

Payload details:

Attribute Name

Datatype

What value to be passed

price

string

Unit price of the product (variant, if variant is selected) as string.

pid

string

Unique id for the product, to be taken from API response, if relevantDocumentType=”parent”,

In search api response, or null

variantId

string

VariantId of the selected product variant, if relevantDocumentType=”variant”,

In search api response, or null

qty

string

Quantity being removed by the user as string.

OR

2. Individually for all events

				
					<script type="text/javascript">
  var payload = [
   {
    pid: '{{uniqueId-of-the-product}}',
    variantId: '{{variantId-of-selected-variant}}',
    qty: '{{quantity-selected}}',
    price: '{{unit-price-for-product}}'
    },
    {
    pid: '{{uniqueId-of-the-product}}',
    variantId: '{{variantId-of-selected-variant}}',
    qty: '{{quantity-selected}}',
    price: '{{unit-price-for-product}}'
    }
  ]
  if(Unbxd && typeof Unbxd.track === 'function') {
    Unbxd.trackMultiple('order', payload)
  } else {
    console.error('unbxdAnalytics.js is not loaded!')
  }
</script>
				
			

HTML Based Integration

Introduction

With Browser Integration, you can insert the unique tracker, as a custom Javascript file, anywhere within the HTML pages in your website for all the various events. As a first step we need to include UnbxdAnalytics.js script to the head of all the HTML pages, where we want the track functionality to work. You can add it using the below code to you HTML:

Sample Request:

				
					<script type="text/javascript">
  var UnbxdSiteName = "{{site-key}}"; // Replace the value with the Site Key.
  var UnbxdApiKey = "{{api-key}}"; // Replace the value with API key
  (function() {
    var ubx = document.createElement('script');
    ubx.type = 'text/javascript';
    ubx.async = true;
    ubx.src = '//libraries.unbxdapi.com/ua-js/v1.0.0/uaLibrary.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ubx);
  })();
</script>
				
			

NOTE: UnbxdSiteName should be initialized with the correct site key for the environment of your account in Unbxd.

Visitor

This event is used to track shoppers and make their user profiles using browser cookies. To enable this event we just need to add Unbxd’s analytics JS library (as done above) inside the head section of all pages of the site.

NOTE: The visitor event will be fired from the SDK itself. If you have integrated the Unbxd analytics JS code, this event is tracked and pushed automatically, with no further action required.

The Visitor event is the first event that gets created when a shopper visits your site.  There are two types of shoppers we track: 

  • First-time shoppers
  • Repeat shoppers

Experience Impressions

The impressions events should be tracked whenever a new set of products on any recommendation widget is loaded. It should have the information about the source of the page and widget where results are being loaded.

Action

The action depends on what type of request was made to fetch the list of products. It takes different values based on different events.

  • For Recommendations v2 – experience_impressions

To track a recommendations widget impression, insert the following HTML tag on the respective pages on your site.

				
					<div unbxdAttr="product"  unbxdparam_sku="{{uniqueId-of-product}}"></div>
				
			

Also, add the script below before Unbxd analytics library is loaded.

				
					<script type="text/javascript">
UnbxdAnalyticsConf=window.UnbxdAnalyticsConf ||{};
UnbxdAnalyticsConf["experience_pagetype"]="{{recs-pagetype}}";
UnbxdAnalyticsConf["experience_widget"]="{{recs-widget}}";
</script>
				
			

Parameter details:

Attribute Name

Datatype

What value to be passed

unbxdattr

constant

Specifies the type of event getting captured. For product clicks, the value is “product” always.

unbxdparam_sku

variable

Specifies the uniqueId of the product as defined in the feed. You can get this from the UNBXD search API response.

experience_pagetype

Variable

Pagetype for widget should be either Home, Product, Category, Cart or Brand based on the type of page on which the widget is used

experience_widget

Variable

Widget type either of WIDGET1, WIDGET2, or WIDGET3.

Product Click

The Product Click event is generated every time a shopper clicks on a product in a Product Listing Page (PLP) or in a recommendation widget. This helps us understand your shoppers’ search preferences. This information is analyzed to list and promote ‘Popular Products’ in the autosuggest dropdown  and display personalized ‘Recommended For You’ recommendations.

To display products within the PLP on the search results or category page, insert the following code snippet within <div> of product grid (product thumbnail) or within the <li> html tag.

Sample code snippet with <li> tags

				
					<li unbxdattr="product" unbxdparam_sku="{{uniqueId-of-product}}" unbxdparam_prank="{{rank-of-product}}" unbxdparam_requestId="{{window.requestId}}"> </li>
				
			

Sample code snippet within <div> tags

				
					<div unbxdattr="product" unbxdparam_sku="{{uniqueId-of-product}}" unbxdparam_prank="{{rank-of-product}}" unbxdparam_requestId="{{window.requestId}}"> </div>
				
			

Parameter details:

Attribute Name

Datatype

What value to be passed

unbxdattr

constant

Specifies the type of event getting captured. For product clicks, the value is “product” always.

unbxdparam_sku

variable

Specifies the uniqueId of the product as defined in the feed. You can get this from the UNBXD search API response.

unbxdparam_prank

variable

Specifies the position of the product in the search results grid/list. When this value is not specified, the value of the product that appears first in the list will be 1, and the value of the product that appears second will be 2, and so on.

unbxdparam_requestId

variable

Specifies the request Id which is the part of the response readers of the Search/Category API request.
Note: For Search SDK integration, it is handled by SDK itself and can ignore this particular param.

Product View

Product View indicates the total number of visits that has been made to the product details page (PDP) by the visitor irrespective of the source (search result page, category page, search engine, email, marketing campaigns, etc).The product view can be tracked whenever a user lands on the PDP page by adding the below link to your HTML on page load.

				
					<li unbxdattr= “ProductView” unbxdparam_sku = “{{uniqueId-of-product}}” unbxdparam_variant = “{{variantId-of-variant}}” > </li>
				
			

Parameter details:

Attribute Name

Datatype

What value to be passed

unbxdattr

constant

Specifies the type of event getting captured. For product view, the value is “ProductView” always.

unbxdparam_sku

variable

Specifies the uniqueId of the product as defined in the feed. You can get this from the UNBXD search API response.

unbxdparam_variant (optional)

variable

Specifies the uniqueID(variantId) of the product variant added to the cart as defined in the feed schema. This parameter is a required field if the catalog has variants.

Add to Cart

Whenever a user adds any product to cart or shopping bag, the add to cart event will get fired. To track this event , insert the following code snippet on the “Add to Cart” button within your HTML page.

				
					<li unbxdattr="AddToCart"  unbxdparam_sku="{{uniqueId-of-product}}" unbxdparam_variant= “{{variantId-of-variant}}” unbxdparam_qty="{{no-of-units}}" unbxdparam_requestId="{{window.requestId}}" ></li>
				
			

Parameter details:

Attribute Name

Datatype

What value to be passed

unbxdattr

constant

Specifies the type of event getting captured. For the cart event, the value is “AddToCart.”

unbxdparam_sku

variable

Specifies the uniqueId of the product as defined in the feed. You can get this from the UNBXD search API response.

unbxdparam_variant(optional)

variable

Specifies the uniqueID of the product variant added to the cart as defined in the feed schema. This parameter is a required field if the catalog has variants.

unbxdparam_qty(mandatory)

variable

The number of units added to the cart. This should be the string value of the quantity added. For example, if 4 quantities of a product is added then its value would be “4” (instead of 4).

unbxdparam_requestId

variable

Specifies the request Id from the response of the search/category API. If the widget is not on the listing page, you can ignore this parameter., when products within the PLP widget have the Add to Cart button.
Note: For Search SDK integration, it is handled by SDK itself and can ignore this particular param.

Cart Removal

This event tracks every instance a product is removed from cart as well. Information helps us better understand the visitor’s preferences. To track products being removed from cart, insert the following attributes within all “Remove from Cart” buttons on the cart page.

				
					<button unbxdattr= “RemoveFromcart” unbxdparam_sku= “{{uniqueId-of-product}}” unbxdparam_variant = “{{variantId-of-product}}” unbxdparam_price = “{{price-of-product}}” unbxdparam_qty = “{{no-of-units}}”/></button>
				
			

Parameter details:

Attribute Name

Datatype

What value to be passed

unbxdattr

constant

Specifies the type of event getting captured. For cart removal, the value is “RemoveFromCart”.

unbxdparam_sku

variable

Specifies the uniqueId of the product as defined in the feed. You can get this from the UNBXD search API response.

unbxdparam_variant (optional)

variable

Specifies the uniqueID of the product variant added to the cart as defined in the feed schema. This parameter is a required field if the catalog has variants.

unbxdparam_price

variable

Specifies the price of individual product/variant bought.

unbxdparam_qty (mandatory)

variable

The number of units added to the cart. This should be the string value of the quantity added. For example, if 4 quantities of a product is added then its value would be “4” (instead of 4).

Order

The Orders event is pushed for every product that is purchased on your site. 

Using Custom HTML attributes you can integrate the functionality to track orders that have been successfully completed.

You can insert the following code snippet within < div > of product grid (product thumbnail) or within the < li > html tag.To display products within the PLP on the search results:

				
					<li unbxdattr="order"  unbxdparam_sku="{{uniqueId-of-product}}" unbxdparam_variant= “{{variantId-of-variant}}” unbxdparam_qty="{{no-of-units}}" unbxdparam_price=“{{price-of-product}}”></li>
				
			

Parameter details:

Attribute Name

Datatype

What value to be passed

unbxdattr

constant

Specifies the type of event getting captured. For product clicks, the value is “order” always.

unbxdparam_sku

variable

Specifies the uniqueId of the product as defined in the feed. You can get this from the UNBXD search API response.

unbxdparam_variant(optional)

variable

Specifies the uniqueID of the product variant added to the cart as defined in the feed schema. This parameter is a required field if the catalog has variants.

unbxdparam_qty

variable

Specifies the number of products/variants purchased.

unbxdparam_price

variable

Specifies the amount of single unit a shopper has paid for the product/variant.

  • Did this answer your question?
  • Yes!

    Nice work, I love it.

    Feedback is submitted

On this Section

  • To create a Query Rule
  • To Edit a Query Rule
  • Delete a Query Rule
  • Campaign States
  • Create Campaigns
  • Edit Campaigns
  • Preview Campaigns
  • Duplicate Campaigns
  • Delete Campaigns

Copyright 2020 © Unbxd Inc, All Rights Reserved. Privacy Policy