Instructions to send clicks information using the Javascript Tagging Library.
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(terms, page, position, productId, title, url, options, callback) |
Parameter | Description | Data Type | Mandatory |
---|---|---|---|
terms | The query typed by the user | String | Yes |
page | The page number where user clicks | Integer | Yes |
position | The position in SERP of the product selected. | Integer | No* |
productId | The product ID of the selected result. | String | No* |
title | The product or result title. | String | Yes |
url | Destination URL, for example product detail page | String | Yes |
options | Object that may contain information about filters and other required data | Object | No* |
callback | Function that will be executed after sending data | Function | No |
*This parameters are not mandatory for the service but necessary for the statistics |
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 } |
Parameter | Description | Data Type | Mandatory |
---|---|---|---|
lang | Language identifier (es, en...) | String | No |
scope | Scope identifier (desktop, mobile, android app, iOS app...) | String | No |
store | Store value if it is required for the project | String | No |
catalog | Catalog value if it is required for the project | String | No |
section | Section value if it is required for the project | String | No |
user | UserID used for user based services | String* | No |
session | SessionID used for user based services | String | No |
*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 } |
<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; }); }); |