Table of Contents
About Certona ............................................................................................... 1
About This Document ..................................................................................... 2
Tagging Instructions ........................................................................................ 4
Pages with Certona Recommendations .............................................................. 7
Further Assistance ....................................................................................... 13
About Certona
Purpose
This document contains instructions on how to properly configure your web site to allow the
Certona Resonance® recommendation engine to collect data elements that will be used to create
personalized recommendations.
Audience
This document is intended for web site administrators and technical personnel.
Customer
This document was prepared for Home Depot Canada by Certona Implementation.
Document History
Tagging Instructions
The Resonance JavaScript is hosted by Certona and included on pages by adding the following
script block. The script can be placed in the head, footer or body of a page.
<script type="text/javascript"
src="//edge1.certona.net/cd/becdd454/homedepot.ca/scripts/resonance.js"></script>
Place the Certona JavaScript on the below mentioned pages of the site. If you are using a tag
manager, please follow the tag manager’s instructions.
Home page (https://www.homedepot.ca/en/home.html)
<script type="text/javascript">
var certona = {
"pagetype" : "HOME",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
Place the following Certona Javascript on the category pages. The category value on the page
should match the categoryid in the data feed.
<script type="text/javascript">
var certona = {
"pagetype" : "CATEGORYLANDING",
"categoryid" : "CATEGORYID",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
Category page
(https://www.homedepot.ca/en/home/categories/kitchen/kitchen-cabinets.html?NAVID=CLP_RE_FC_D
ecor_Cabinets-en )
Place the following Certona Javascript on the category pages. The category value on the page
should match the categoryid in the data feed.
<script type="text/javascript">
var certona = {
"pagetype" : "CATEGORY",
"categoryid" : "CATEGORYID",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
The product ID on the page should match the product ID in the data feed.
<script type="text/javascript">
var certona = {
"pagetype" : "PRODUCT",
"itemid" : "PRODUCTID",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
<script type="text/javascript">
var certona = {
"pagetype" : "SEARCH",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
No Search page
(https://www.homedepot.ca/en/home/search.products.html#!p=0&q=certonaimplementationtest%3Arel
evance)
<script type="text/javascript">
var certona = {
"pagetype" : "NOSEARCH",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
<script type="text/javascript">
var certona = {
"pagetype" : "IDEAS",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
Product compare
(https://www.homedepot.ca/en/home/products-compare.1000769080.1000722654.1000814478.html)
<script type="text/javascript">
var certona = {
"pagetype" : "COMPARE",
"itemid" : "SEMICOLON DELIMITED LIST OF PRODUCT IDS",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
<script type="text/javascript">
var certona = {
"pagetype" : "ACCOUNT",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value))
};
</script>
<script type="text/javascript">
var certona = {
"pagetype" : "PURCHASE",
"itemid" : "SEMICOLON DELIMITED LIST OF PRODUCT IDS",
"qty" : "SEMICOLON DELIMITED LIST OF QUANTITIES",
"price" : "SEMICOLON DELIMITED LIST OF EXTENDED PRICES",
"total" : "ORDER SUBTOTAL",
"transactionid" : "UNIQUE TRANSACTION ID",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
<script type="text/javascript">
var certona = {
"pagetype" : "404ERROR",
"customerid" : "CUSTOMER IDENTIFIER”(If user not logged in, do not pass any value)
};
</script>
<script type="text/javascript">
var certona = {
"pageid" : "PAGE IDENTIFIER FROM RECOMMENDATION REQUEST",
"recitems" : "SEMICOLON DELIMITED LIST OF RECOMMENDATION PRODUCT IDS"
};
</script>
For example: If there are recommendations on the product page then add pageid and recitems
variable to the Certona object
<script type="text/javascript">
var certona = {
"pagetype" : "PRODUCT",
"itemid" : "PRODUCT IDENTIFIER",
"customerid" : "CUSTOMER IDENTIFIER",
"pageid" : "PAGE IDENTIFIER FROM RECOMMENDATION RESPONSE"
"recitems" : "SEMICOLON DELIMITED LIST OF RECOMMENDATION PRODUCT IDS"
};
</script>
Note : The recitems value will be a semi-colon delimited string with each value being a pipe
separated value (productid|schemeid).
For example:
Product1_rr recommendations are 111,222,333
Product2_rr recommendations are aaa,bbb,ccc
Recitems should be set to:
"111|product1_rr;222|product1_rr;333|product1_rr;aaa|product2_rr;bbb|product2_rr;
ccc|product2_rr"
exitemid (optional) – Item identifier(s) for products that should be excluded from
recommendations.
Note: Values in the itemid parameter are automatically excluded and do not have to be
repeated in the exitemid parameter.
product1_rr
product2_rr
cart1_rr (Add to cart)
search1_rr
nosearch1_rr
home1_rr
Category1_rr
catlanding1_rr
error1_rr
Product page
http://www.res‐x.com/ws/r2/resonance.aspx?appid=HomeDepotCA01&trackingid=35855169994052&sessi
onid=48483828385&scheme=product1_rr&itemid=228268&cip=209.118.149.82&output=json
Where itemid equals the product ID of the item the visitor is viewing.
http://www.res‐x.com/ws/r2/resonance.aspx?appid=HomeDepotCA01&trackingid=358551689794052&sch
eme=cart1_rr&itemid=228268;227957&cip=209.118.149.82&output=json
where itemid equals the product ID(s) of the item(s) in the visitor’s shopping cart. Multiple items
are semicolon-delimited.
When the user clicks on “Addtocart” button and the above webservice call is fired to get the
cart1_rr recommendations, also call the function recsExposed() passing in the below argument as
parameter of the function call.
Note: The pageid parameter should be included only if you are making multiple WS requests on
the page. The &pageid value should be the same pageid value returned in the first WS response.
<script type="text/javascript">
</script>
The recitems will be a semi-colon delimited string with each value being a pipe separated value
(productid|schemeid). For example:
"111|cart1_rr;222|cart1_rr;333|cart1_rr;aaa|cart1_rr;bbb
Search page
http://www.res‐x.com/ws/r2/resonance.aspx?appid=HomeDepotCA01&trackingid=35855169994052&sche
me=search1_rr&number=10&itemid=washing;machine;parts&cip=209.118.149.82&output=json
No Search page
http://www.res‐x.com/ws/r2/resonance.aspx?appid=HomeDepotCA01&trackingid=35855169994052&sche
me=nosearch1_rr&number=10&itemid=washing;machine;parts&cip=209.118.149.82&output=json
Home page
http://www.res‐x.com/ws/r2/resonance.aspx?appid=HomeDepotCA01&trackingid=35855169994052&sche
me=home1_rr&number=10&cip=209.118.149.82&output=json
Category page
http://www.res‐x.com/ws/r2/resonance.aspx?appid=HomeDepotCA01&trackingid=35855169994052&sche
me=category1_rr&number=6&categoryid=categoryid&cip=209.118.149.82&output=json
The category value should match the categoryid in the data feed.
Category landing page
http://www.res‐x.com/ws/r2/resonance.aspx?appid=HomeDepotCA01&trackingid=358551689794052&sch
eme=catlanding1_rr&itemid=228268;227957&cip=209.118.149.82&output=json
http://www.res‐x.com/ws/r2/resonance.aspx?appid=HomeDepotCA01&trackingid=358551689794052&sch
eme=error1_rr&itemid=228268;227957&cip=209.118.149.82&output=json
Response
The recommendation response will be a JSON object with the following format:
{ "resonance":{
"schemes":[
{
"scheme":"product1_rr",
"explanation":"YOU MAY ALSO LIKE",
"items":[
{"ID":"1000653667"},
{"ID":"1000653668"},
{"ID":"1000653669"}
]
}
],
"pageid":"res150601111234279857287779"
}
}
pageid
There is an element in the response called pageid, used to track the recommendation performance.
The value should be read from the response and written to the page using the resx.pageid variable.
This variable is required to track the recommendation performance.
Displaying Recommendations
For reporting purposes and accuracy, Certona recommendation link URLs should contain a query
string parameter value pair of "rrec=true". If the Certona JSON response includes the item URL in
the response, Certona will append the parameter to the end of the item destination URL. For
example:
{
"id": "1000653669"
"detailURL": "http://www.domain.com/product/1000653669.html?rrec=true"
}
This query string parameter value pair should carry over to the destination URL.
If the response does not contain this URL value and this is looked up via internal API or service,
when the callback processes the response and retrieves the URL link for display, "rrec=true" should
be added to all href links for clicking through to the Certona recommended Product Detail Page.
Further Assistance
Certona is here to ensure that you have a speedy and successful implementation experience.
If you have any questions, please contact your Certona Account Representative.
www.certona.com
858-369-3888