Javascript Tagging Library: Track Click

Overview

Instructions to send clicks information using the Javascript Tagging Library.

Step-by-step guide

Click events should be triggered when any result is selected by the user in the search results page. At this moment, the function trackClick should be executed.

trackClick

trackClick(terms, page, position, productId, title, url, options, callback)


Parameters

ParameterDescriptionData TypeMandatory
termsThe query typed by the userStringYes
pageThe page number where user clicksInteger

Yes

positionThe position in SERP of the product selected.IntegerNo*
productIdThe product ID of the selected result.StringNo*
titleThe product or result title.String

Yes

urlDestination URL, for example product detail pageStringYes
optionsObject that may contain information about filters and other required dataObjectNo*
callbackFunction that will be executed after sending dataFunctionNo

*This parameters are not mandatory for the service but necessary for the statistics

Options

The options object should contains additional parameters not passed as parameters in function call:

{    
	lang: LANGUAGUE,
	scope: SCOPE,
	store: STORE,
	catalog: CATALOG,
	section: SECTION,
	user: USER_ID,
	session: SESSION_ID
}
ParameterDescriptionData TypeMandatory
langLanguage identifier (es, en...)StringNo
scopeScope identifier (desktop, mobile, android app, iOS app...)StringNo
storeStore value if it is required for the projectStringNo
catalogCatalog value if it is required for the projectStringNo
sectionSection value if it is required for the projectStringNo
userUserID used for user based servicesString*No
sessionSessionID used for user based servicesStringNo

*UserID should be an UUID identifier.

NOTE: The values for scope and lang will be provided by the Empathy Team.


The callback function receives an object with the following content. Also options parameters are included:

{
	page: page,
	productId: productid,
	position: position,
	title: title,
    url: url,
    follow: false
}


Code samples

<a href="http://MY_PRODUCT_URL.com" title="My product title" class="myLink" prodID="prod_id">My Test Link</a>
/**
* 1 -> Capture click on the desired product
* 2 -> Avoid default action (redirect to destination url)
* 3 -> Execute trackClick function with the desired callback (including url redirection)
*/
jQuery('a#myLink').click(function(){
   event.preventDefault();
   var myURL = this.href;
   var title = this.title;
   var productId = this.getAttribute("prodID");
   var options = {    
		lang: LANGUAGUE,
		scope: SCOPE,
		store: STORE,
		catalog: CATALOG,
		section: SECTION,
		user: USER_ID,
		session: SESSION_ID
	};
	
   empathyTAG.trackClick('test', 1, 3, productId, title, myURL, options, function(){
   		//Add your code here
   		document.location.href = myURL;
   });
});