• 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

  • Events
  • Browser Integration

GTM Integration

  • Introduction to GTM
  • Requirements

Analytics API

  • Introduction
  • Events
  • API Integration

Down Arrow up_Arrow_active Recommendations Integration

Recommendations API

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

Recommendations SDK

  • Quick Integration
  • Installation
  • Fetch Recommendation Results
  • Default Unbxd Template
  • Custom Template
  • Unbxd Template Customization
  • Custom Feature Examples

Recommendations SDK V3

  • Quick Integration
  • Installation
  • Fetch Recommendation Results

Down Arrow up_Arrow_active Platform Integration

Shopify

  • Installation
  • Configuration
  • Components

Magento 2

  • Composer
  • Direct Plugin Feed Upload
  • Authentication
  • General Settings
  • Configuration
  • Catalog Sync
  • Catalog Sync Information
  • Product Feed Generator
  • Feed View
  • Indexing Queue View
  • Analytics Integration
  • Upgrade
  • Uninstall

SAP Hybris

  • Installation
  • Configuration
  • Configure Feed
  • Cron Job
  • Features
  • Uninstall

GTM Integration

Tracking visitor analytics and behavior are essential in order to provide accurate and visitor-specific search and category page results. UNBXD analyzes visitor events, such as product clicks, products added to cart, orders, etc. These events are tracked using browser cookies. With this information, a profile is built for every visitor, based on his/her affinity to different categories, brands, or prices.

This information is then aggregated and analyzed for two purposes:

  • Generating reports

  •  Providing relevant and personalized search & category pages results

When visitors browse through your store, the integrated trackers log everything visitors do – the products they visit, orders, even the various store properties they interact with. We take that information, analyze it, and assemble a detailed profile of the visitor. We know their browsing patterns, preferences and can even determine susceptibility to merchandising campaigns. The trackers are unique tracking codes that must be configured onto the store properties that yield an interaction. We call this interaction as an “event”, for example, click on the “Add to Cart” button.

The visitor profiles help fetch relevant and personalized products as search results. It also helps in generating detailed reports.

NOTE: For Unbxd E-commerce Search to function correctly on your site, Unbxd Analytics must be configured.

Introduction to GTM

Google Tag Manager is a free tool that allows you to manage and deploy marketing tags (snippets of code or tracking pixels) on your website (or mobile app) without having to modify the code. 

Here’s a very simple example of how GTM works. Information from one data source (your website) is shared with another data source (Analytics) through Google Tag Manager. GTM becomes very handy when you have lots of tags to manage because all the code is stored in one place.

Basic components of GTM

Following are the basic components within Google Tag Manager:

  • Tags – Tags are tracking codes and code fragments that tell GTM what action to take on that page.

    For example: Sending searched query to Unbxd analytics.

  • Triggers – Triggers specify the conditions under which a Tag should fire.
    For example: A trigger with a condition to only fire a Tag when a user views URLs

    containing the path /search/.

  • Variables – Variables are values used in triggers and tags to filter when a specific tag should fire. GTM provides built-in variables and allows you to create custom user-defined variables. For example: A ‘click’ class variable has a value name (such as a word string) assigned to buttons on the website.

  • DataLayer – The dataLayer is a JSON that contains name value pairs of data points you wish to pass from your website into GTM. (And GTM can then, in turn, pass on to any tags that are managed in GTM, including Unbxd tags.)

Requirements for Unbxd tracking through GTM

Unbxd analytics scripts need to be loaded across all the pages. We require a tag which will need to be loaded on all the pages. Below is the required code block for Unbxd analytics script. This should be loaded before other Unbxd tracking scripts and is mandatory to be added on all pages.

				
					// Container ID is present in GTM-XXXX format in GTM Dashboard
// HTML ID can be found in the url. Eg: 
// containers/422XXXX/workspaces/20 , 20 is the HTML ID
 
<script type = "text/javascript" >
   /* * * CONFIGURATION * * */
   // Replace the value with the Unbxd Site Key and API Key.
 
   var UnbxdSiteName = "{{UNBXD_SITE_NAME}}";
   var UnbxdApiKey = "{{UNBXD_API_KEY}}";
 
   /* * * DON'T EDIT BELOW THIS LINE * * */
   (function() {
   var ubx = document.createElement('script');
   ubx.type = 'text/javascript';
   ubx.async = true; ubx.src='//d21gpk1vhmjuf5.cloudfront.net/unbxdAnalytics.js';
   ubx.addEventListener('load', function() {
   window.google_tag_manager[{{Container ID}}].onHtmlSuccess({{HTML ID}}); });
   (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ubx);
   })();
</script>
				
			

The above JS snippet needs to be added in a tag and also enable Built-In Variables, i.e.,

Container ID and HTML ID without fail.

TagName: UnbxdAnalyticsScript 

TagType: Custom HTML Tag


Trigger: AllPagesPageView

 

Experience Impressions

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.

Through GTM to integrate this event we need to follow the below approach:

1.  Create a Trigger in GTM to catch the browse impression

Trigger Configuration: 

TriggerName: ​ UnbxdExperienceImpressionTrigger

TriggerType: ​ Custom Event​  

EventName: ExperienceImpression

TriggerFiresOn: All Custom Events

2.  Create Variable in GTM to fetch the list of product Ids from the dataLayer.

Variable Configuration: 

VariableName: UnbxdExperienceImpressionPayload 

​Variable Type: Data Layer Variable 

​Data Layer Variable Name: ExperienceImpressionPayload

3.  Create a javascript tag with the below details.

Tag Configuration:

Tag Name: UnbxdExperienceImpressionTag

Tag Type: Custom HTML

HTML Content:

Tag Configuration:

HTML Content:

				
					// Pass payload to Unbxd.track() function
// to call the tracker API
 
<script type="text/javascript">
 var u_payload = {{UnbxdExperienceImpressionPayload}};
 if (Unbxd && typeof Unbxd.track === 'function'
      && u_payload.hasOwnProperty("experience_pagetype")
      && u_payload.hasOwnProperty("experience_widget")) {
          Unbxd.track('experience_impression', u_payload);
  } else {
 console.error('ERRNO-001: unbxdAnalytics.js is not loaded or payload incorrect!')
}
</script>
				
			

4. Pushing event to the dataLayer when the recommendation results loads.

Push payload to Datalayer:

				
					// Add payload to Datalayer variable ExperienceImpressionPayload
// Should be triggered on category page load
// Payload will contain page and page_type instead of query
 
<script type="text/javascript">
 window.dataLayer = window.dataLayer || [];
 dataLayer.push(
   {
    'event': 'ExperienceImpression',
    'ExperienceImpressionPayload':
     {
       'requestId' : '{{unbxd-request-id}}',
       'pids_list': [LIST OF UNIQUE ID OF PRODUCTS],
       'experience_pagetype': '{{recs-pagetype}}',
       'experience_widget': '{{recs-widget}}'
     }
   });
</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.

Events Flow will be:

  • As soon as the ‘ExperienceImpression’ event got pushed to the dataLayer.
  • This initiates the trigger UnbxdExperienceImpressionTrigger which we created in the step-1.
  • UnbxdExperienceImpressionTrigger executes the tag UnbxdExperienceImpressionTag: ​which we created in step-3.
  • Inside UnbxdExperienceImpressionTag we have added an Unbxd analytics experience impression tag.
  • Experience tracker code gets the data from the variable UnbxdExperienceImpressionPayload ​which we created in step-2.
  • Finally, UnbxdExperienceImpressionTrigger event data will be updated in the Unbxd analytics database for the particular site key.

Product Click

1. Create Trigger in GTM to catch the Product Click event on product in recs results.

Trigger Configuration: 

TriggerName: UnbxdProductClickTrigger

TriggerType: Custom Event  

EventName: ProductClick

TriggerFiresOn: All Custom Events



2. Create Variable in GTM, to fetch the product details from the dataLayer.

Variable Configuration:

VariableName: UnbxdProductClickPayload

Variable Type: Data Layer Variable

Data Layer Variable Name: ProductClickPayload

3. Create a Javascript tag with the below details.

Tag Configuration:

Tag Name: UnbxdProductClickTag

Tag Type: Custom HTML

HTML Content:

				
					// Pass payload to Unbxd.track function
// to call the tracker API 
 
<script type="text/javascript">
   var u_payload = {{UnbxdProductClickPayload}};
   if (Unbxd && typeof Unbxd.track === 'function'
      && u_payload.hasOwnProperty("experience_pagetype")
      && u_payload.hasOwnProperty("experience_widget")) {
       Unbxd.track('click', u_payload);
     } else {
       console.error('ERRNO-004: unbxdAnalytics.js is not loaded or payload incorrect!')
   }
</script>
				
			

4. Pushing the event to the Data Layer through the Product Click.

 Push payload to Datalayer

				
					// Add payload to Datalayer variable ProductClickPayload 
// Should be triggered on product click on browse results page

<script type="text/javascript">
  window.dataLayer = window.dataLayer || [];
  dataLayer.push(
    {
     'event': 'ProductClick',
     'ProductClickPayload':
      {
        'requestId': 'REQUEST ID',
        'pid': 'PRODUCT ID',
        'variantId': 'VARIANT ID OF SELECTED VARIANT',
        'prank': 'RANK',
        'experience_pagetype': '{{recs-pagetype}}',
        'experience_widget': '{{recs-widget}}'
      }
    });
</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.

Events Flow will be:

  • As soon as the ‘ProductClick’ event got pushed to the dataLayer.
  • This initiates the trigger UnbxdProductClickTrigger which we created in step-1.
  • UnbxdProductClickTrigger executes the tag UnbxdProductClickTag: ​which we created in step-3.
  • Inside UnbxdProductClickTrigger we have added an Unbxd analytics recs impression tag.
  • Recs tracker code gets the data from the variable UnbxdProductClickPayload ​which we created in step-2.
  • Finally, UnbxdProductClickTrigger event data will be updated in the Unbxd analytics database for the particular siteKey.

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). This can be tracked by passing the product ID in the payload.

To integrate this event through GTM, we need to follow the below approach:

1. Create a Trigger in GTM to catch the product view.   

Trigger Configuration:

TriggerName: UnbxdProductViewTrigger

TriggerType: Custom Event

EventName: ProductView

TriggerFiresOn: All Custom Events

2. Create a Variable in GTM to fetch the product ID from the dataLayer.

Variable Configuration: 

VariableName: UnbxdProductViewPayload 

Variable Type: Data Layer Variable 

Data Layer Variable Name: ProductViewPayload

3. Create a Javascript tag with the below details  

Tag Configuration: 

Tag Name: UnbxdProductViewTag

Tag Type: Custom HTML

HTML Content: 

				
					// Pass payload to Unbxd.track function
// to call the tracker API 
 
<script type="text/javascript">
   var u_payload = {{UnbxdProductViewPayload}};
   if (Unbxd && typeof Unbxd.track === 'function'
       && u_payload.hasOwnProperty("pid")){
       Unbxd.track('product_view', u_payload);
     } else {
       console.error('ERRNO-005: unbxdAnalytics.js is not loaded or payload incorrect!')
   }
</script>
				
			

4. Pushing the event to the dataLayer through a product view.

Push payload to Datalayer

				
					// Add payload to Datalayer variable ProductViewPayload 
// Should be triggered when a user lands on product page

<script type="text/javascript">
   window.dataLayer = window.dataLayer || [];
   dataLayer.push(
     {
      'event': 'ProductView',
      'ProductViewPayload':
       {
         'requestId': 'REQUEST ID',
         'pid': 'PRODUCT ID',
         'variantId': 'VARIANT ID OF SELECTED VARIANT'
       }
     });
</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

Events Flow will be:

  • As soon as the ‘Productview` event got pushed to the dataLayer.
  • This initiates the trigger UnbxdProductViewTrigger which we created in the step-1.
  • UnbxdProductViewTrigger executes the tag UnbxdProductViewTag: which we created in step-3.
  • Inside UnbxdProductViewTrigger we have added an Unbxd analytics product view tag.
  • Product view tracker code gets the data from the variable UnbxdProductViewPayload which we created in step-2.
  • Finally, UnbxdProductViewTrigger event data will be updated in the Unbxd analytics database for the particular siteKey.

Add to Cart

Tracking products added to the cart help us further improve product ranks for a search query.

1. Create Trigger in GTM to catch the uniqueId of product on product add to cart.

Trigger Configuration: 

Trigger Name: UnbxdProductAddToCartTrigger

Trigger Type: Custom Event

Event Name:  ProductCarted (Use regex matching)

TriggerFiresOn: All Custom Events

2. Create Variable in GTM, to fetch the product details from the dataLayer.

Variable Configuration: 

Variable Name: UnbxdProductCartedPayload

Variable Type: Data Layer Variable

Data Layer Variable Name: ProductCartedPayload

3. Create Create a Javascript tag with the below details.

Tag Configuration:

Tag Name: UnbxdProductCartedTag

Tag Type: Custom HTML

HTML Content:

				
					// Pass payload to Unbxd.track function
// to call the tracker API 
 
<script type="text/javascript">
   var u_payload = {{UnbxdProductCartedPayload}};
   if (Unbxd && typeof Unbxd.track === 'function') {
      Unbxd.track("addToCart", u_payload);
   } else {
       console.error('ERRNO-006: unbxdAnalytics.js is not loaded or payload incorrect!')
   }
</script>
				
			

Push payload to Datalayer:

				
					// Add payload to Datalayer variable ProductCartedPayload 
// Should be triggered on add to cart button onclick() event 
// when product is added to cart

<script type="text/javascript">
   window.dataLayer = window.dataLayer || [];
   dataLayer.push(
     {
      'event': 'ProductCarted',
      'ProductCartedPayload':
       {
           'requestId': 'REQUEST ID',
           'pid': 'PRODUCT ID',
           'variantId': 'VARIANT ID OF SELECTED VARIANT',
           'qty': 'QUANTITY SELECTED',
           'price': 'UNIT PRICE FOR PRODUCT'       
       }
     });
</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

qty

string

Quantity being added to cart by user

price

string

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

Cart Removal

Like “Cart Additions”, tracking “Cart Removal” is also important as it helps us better understand the visitor’s preferences. To track the “Cart Removal”, customer needs to call the Unbxd API on the cart Removal event.

1. Create Trigger in GTM to catch the uniqueId of the product if a product is removed from cart page.

Trigger Configuration:

Trigger Name: RemoveFromCartTrigger

Trigger Type: Custom Event

Event Name: CartRemoved (Use regex matching)

TriggerFiresOn: All Custom Events

2. Create Variable in GTM, to fetch the product details from the dataLayer.

Variable Configuration:

Variable Name: RemoveProductFromCart

Variable Type:  Data Layer VariableData Layer

Variable Name: CartRemovedPayload

3. Create a Javascript tag with the below details.

Tag Configuration:

Tag Name: RemoveCartTag

Tag Type: Custom HTML

HTML Content:

				
					// Pass payload to Unbxd.track function
// to call the tracker API 
 
<script type="text/javascript">
   var u_payload = {{RemoveProductFromCart}};
   if (Unbxd && typeof Unbxd.track === 'function') {
      Unbxd.track("cartRemoval", u_payload);
   } else {
       console.error('ERRNO-007: unbxdAnalytics.js is not loaded or payload incorrect!')
   }
</script>
				
			

Push payload to Datalayer:

				
					// Add payload to Datalayer variable CartRemovedpayload 
// Should be triggered when a product is removed 
// from cart

<script type="text/javascript">
   window.dataLayer = window.dataLayer || [];
   dataLayer.push(
     {
      'event': ' 'CartRemoved',
      'CartRemovedPayload':
       {
           'requestId': 'REQUEST ID',
           'pid': 'PRODUCT ID',
           'variantId': 'VARIANT ID OF SELECTED VARIANT',
           'qty': 'QUANTITY SELECTED',
           'price': 'UNIT PRICE FOR PRODUCT'       
       }
     });
</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

qty

string

Quantity being added to cart by user

price

string

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

Order

Unbxd analytics also track orders placed by the visitor from your eCommerce store.

1. Create Trigger in GTM to catch the products details on order confirmation.

Trigger Configuration:

Trigger Name: UnbxdProductOrderTrigger

Trigger Type: Custom Event

Event Name: ProductOrder (Use regex matching)

TriggerFiresOn: All Custom Events

2. Create Variable in GTM, to fetch the products data from the dataLayer.

Variable Configuration:

Variable Name: UnbxdProductsOrderedPayload

Variable Type:  Data Layer VariableData Layer

Variable Name: ProductsOrderedPayload

3. Create a Javascript tag with the below details.

Tag Configuration:

Tag Name: UnbxdProductsOrderedTag

Tag Type: Custom HTML

HTML Content:

Individually for each product

Tag Configuration:

HTML Content:

				
					// Pass payload to Unbxd.track function
// to call the tracker API 
 
<script type="text/javascript">
   var u_payload = {{UnbxdProductsOrderedPayload}};
   if( Unbxd && typeof Unbxd.track === 'function' &&
       u_payload.hasOwnProperty("pid") &&
       u_payload.hasOwnProperty("price") &&
       u_payload.hasOwnProperty ("qty")){
       Unbxd.track('order', u_payload);
   } else {
       console.error('ERRNO-008: unbxdAnalytics.js is not loaded or payload incorrect!')
   }
</script>
				
			

Push payload to Datalayer:

				
					// Add payload to Datalayer variable ProductOrderedPayload 
// Should be triggered individually for all the products on 
// order success page

<script  type="text/javascript">
   window.dataLayer = window.dataLayer || [];
   dataLayer.push(
     {
      'event': 'ProductOrder',
      'ProductsOrderedPayload':
       {
           'requestId': 'REQUEST ID',
           'pid': 'PRODUCT ID',
           'variantId': 'VARIANT ID OF SELECTED VARIANT',
           'qty': 'QUANTITY SELECTED',
           'price': 'UNIT PRICE FOR PRODUCT'
       }
     });
</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 variant), or null

qty

string

Quantity of the product being order

price

string

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

trackMultiple

				
					// Pass payload to Unbxd.track function
// to call the tracker API 
 
<script type="text/javascript">
   var u_payload = {{UnbxdProductsOrderedPayload}};
   if( Unbxd && typeof Unbxd.track === 'function'
       && typeof(u_payload) == "object"
       && u_payload.length > 1){
       Unbxd.trackMultiple('order', u_payload);
   } else {
       console.error('unbxdAnalytics.js is not loaded or payload incorrect!')
   }
</script>
				
			

Push payload to Datalayer:

				
					// Add payload to Datalayer variable ProductOrderedPayload 
// Should be triggered on order success page
// for all products in order added to a list

<script  type="text/javascript">
   window.dataLayer = window.dataLayer || [];
   dataLayer.push(
     {
      'event': 'ProductOrder',
      'ProductsOrderedPayload':
       [{
           'requestId': 'REQUEST ID',
           'pid': 'PRODUCT ID',
           'variantId': 'VARIANT ID OF SELECTED VARIANT',
           'qty': 'QUANTITY SELECTED',
           'price': 'UNIT PRICE FOR PRODUCT'
       },
       {
           'requestId': 'REQUEST ID',
           'pid': 'PRODUCT ID',
           'variantId': 'VARIANT ID OF SELECTED VARIANT',
           'qty': 'QUANTITY SELECTED',
           'price': 'UNIT PRICE FOR PRODUCT'
       },
       {
           'requestId': 'REQUEST ID',
           'pid': 'PRODUCT ID',
           'variantId': 'VARIANT ID OF SELECTED VARIANT',
           'qty': 'QUANTITY SELECTED',
           'price': 'UNIT PRICE FOR PRODUCT'
       }]
     });
</script>
				
			

Search Unbxd Tracker

A Search hit event is tracked to understand the query and intent of your visitors. Each search

query is tracked to enable per-query analytics of the visitor. A typical search hit event involves:

  • Typing the query
    <input title="" type="search" unbxdattr="sq" id="search-header" name="q" value="" class="input-group-field" aria-label="Search" autocomplete="off">

     

  • Pressing Enter or Clicking the Search button

    <button type="submit" class="btn icon-fallback-text" unbxdattr="sq_btn" </button> 

SearchQueryTrigger

Through GTM to integrate this event we need to follow below approach:

 

  1. Create Trigger in GTM to catch the search Query on form hit.

    Trigger Configuration:

    TriggerName: UnbxdSearchQueryTrigger

    Trigger Type: Custom Event
    Event Name: SearchQuery
    TriggerFiresOn: All custom events
  2. Create Variable in GTM, to fetch the query from the dataLayer.

    Variable Configuration:

    Variable Name: UnbxdSearchQueryPayload Variable Variable Type: Data Layer Variable

    Data Layer Variable Name: SearchQueryPayload

    HTML Content:

  3. Create a Javascript tag with the below details.

    Tag Configuration:

    Tag Name: UnbxdSearchQueryTag

    Tag Type: Custom HTML

    HTML Content: 

    <script type="text/javascript"> 
        var u_payload = {{UnbxdSearchQueryPayload}};  
        if (u_payload.hasOwnProperty("query")) { 
          Unbxd.track("search", u_payload); 
        } 
    </script>
    
  4. Pushing the event to the dataLayer through a search query.

    <script​ ​type=​"text/javascript"​>
    jQuery('#search_keywords').keyup(function(){
            var searchQuery = jQuery(this).val();
            if (searchQuery.length >= 3) {
                window.dataLayer = window.dataLayer || [];
                    dataLayer.push(
                    {
                        'event': 'SearchQuery',
                        'SearchQueryPayload':
                            {
                                "query": "q=" + searchQuery
                            }
                    }
                );
            }
        });
    </script>
    
    On search query, please pass the searched query to the dataLayer as shown above. Event flow will be:
    > As soon as the ` SearchQuery ` event got pushed data layer.
    > This initiates the trigger UnbxdSearchQueryTrigger which we created in the step-1.
    > UnbxdSearchQueryTrigger executes the tag: UnbxdSearchQueryTag which we created in step-3.
    > Inside UnbxdSearchQueryTag we have added Unbxd analytics search tracker code.
    > Search tracker code get the searched query from variable UnbxdSearchQueryPayload which we created in step-2.
    > Finally searched query will be updated in Unbxd analytics database for the particular siteKey.

Search Impression

A search impression event is fired when a search results page loads for the first time, and whenever results changes on applying pagination, autoscroll, sort, and filters. For each of these action, unique Ids of the products visible on search page should be sent as payload.

Through GTM to integrate this event we need to follow the below approach:

  1. Create a Trigger in GTM to catch the search impression

    Trigger Configuration: 

    TriggerName: ​ UnbxdSearchImpressionTrigger

    TriggerType: ​ Custom Event​  

    EventName: SearchImpression

    TriggerFiresOn: All Custom Events
  2. Create Variable in GTM to fetch the list of product Ids from the dataLayer.

    Variable Configuration: 

    VariableName: UnbxdSearchImpressionPayload 

    ​Variable Type: Data Layer Variable 

    ​Data Layer Variable Name: SearchImpressionPayload
  3. Create a javascript tag with the below details.

    Tag Configuration: 

    Tag Name: UnbxdSearchImpressionTag 

    Tag Type: Custom HTML 

    HTML Content: 

  4. Pushing event to the dataLayer when the search page loads.
    <script  ​type=​"text/javascript"​type=​"text/javascript">
        window.dataLayer = window.dataLayer || [];
        dataLayer.push(
          {
           'event': 'SearchImpression',
           'UnbxdSearchImpressionPayload':
            {
              'query': 'search_query',
              'pids_list': [LIST OF UNIQUE ID OF PRODUCTS]
            }
          });
    </script>
    
    
    

    Events Flow will be:

    > As soon as the ‘SearchImpression’ event got pushed to the dataLayer. 

    > This initiates the trigger UnbxdSearchImpressionTrigger which we created in the step-1. 

    > UnbxdSearchImpressionTrigger executes the tag UnbxdSearchImpressionTag: ​which we created in step-3. 

    > Inside UnbxdSearchImpressionTag we have added an Unbxd analytics search impression tag.  

    > Search tracker code gets the data from variable UnbxdSearchImpressionPayload ​which we created in step-2. 

    > Finally, UnbxdSearchImpressionTrigger event data will be updated in the Unbxd analytics database for the particular site key.

Category Page Impression

A category page impression event is fired when results of the category page load for first time, and whenever the results change on applying pagination, auto-scroll, sort, and filters. For each of these actions, unique Ids of the products visible on the search page should be sent as payload.

Through GTM to integrate this event we need to follow the below approach:

  1. Create a Trigger in GTM to catch the category impression

    Trigger Configuration: 

    TriggerName: ​ UnbxdBrowseImpressionTrigger

    TriggerType: ​ Custom Event​  

    EventName: BrowseImpression

    TriggerFiresOn: All Custom Events
  2. Create Variable in GTM to fetch the list of product Ids from the dataLayer.

    Variable Configuration: 

    VariableName: UnbxdBrowseImpressionPayload 

    ​Variable Type: Data Layer Variable 

    ​Data Layer Variable Name: BrowseImpressionPayload
  3. Create a javascript tag with the below details.

    Tag Configuration: 

    Tag Name: UnbxdBrowseImpressionTag 

    Tag Type: Custom HTML 

    HTML Content: 

  4. Pushing event to the dataLayer when the search page loads.
    
    
    Events Flow will be:
    > As soon as the ‘BrowseImpression’ event got pushed to the dataLayer.
    > This initiates the trigger UnbxdBrowseImpressionTrigger which we created in the step-1.
    > UnbxdBrowseImpressionTrigger executes the tag UnbxdBrowseImpressionTag: ​which we created in step-3.
    > Inside UnbxdBrowseImpressionTag we have added an Unbxd analytics search impression tag.
    > Search tracker code gets the data from variable UnbxdBrowseImpressionPayload ​which we created in step-2.
    > Finally, UnbxdBrowseImpressionTrigger event data will be updated in the Unbxd analytics database for the particular siteKey.

Recommendations Impression Widget Tracker

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.

Through GTM to integrate this event we need to follow the below approach:

 
  • L3_active Home
  • L3_active Product
  • L3_active Category
  • L3_active Cart
  • L3_active Brand
  • unbxdParam_experience_widget: The widgetType of the rendered experience widget.
    List of widgets available:
  • L3_active WIDGET 1
  • L3_active WIDGET 2
  • L3_active WIDGET 3
  • Did this answer your question?
  • No…

    I have some feedback

    Feedback is submitted

On this Section

  • Automatic Synchronization
  • Manual Synchronization
  • Command Line Interface
  • Manual Upgrade
  • Upgrade via Composer

Experience Impressions

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