Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In \templates\layout\base.html and \templates\layout\empty.html place the following code before the </body> tag:

...

<script type="text/javascript"> 
HawkSearch.customEvent = function() {

...


//<![CDATA[
if ('{{template}}') {
if (('{{template}}' == 'pages/category') || ('{{template}}' == 'pages/custom/category/category') || ('{{template}}' == 'pages/search')) {
HawkSearch.Tracking.track('pageload', {pageType: 'landing'});

...

 } else if ('{{template}}' == 'pages/product') { 
HawkSearch.Tracking.track('pageload', {pageType: 'item'});
HawkSearch.Context.add("UniqueId", "{{product.id}}");

...

 } else if ('{{template}}' == 'pages/cart') { 
HawkSearch.Tracking.track('pageload', {pageType: 'cart'}); } else {

...


...

 

...

 

...

         

...

HawkSearch.Tracking.track('pageload', {pageType: 'custom'});

...


}

...


} //]]>

...


}

...


</script>

...


In \templates\pages\order-confirmation.html place the following code before the {{/partial}} handlebar:
In \templates\layout\base.html and \templates\layout\empty.html place the following code before the </body> tag: <script type="text/javascript"> HawkSearch.customEvent = function() { //<![CDATA[ if ('{{template}}') { if (('{{template}}' == 'pages/category') || ('{{template}}' == 'pages/custom/category/category') || ('{{template}}' == 'pages/search')) { HawkSearch.Tracking.track('pageload', {pageType: 'landing'}); } else if ('{{template}}' == 'pages/product') { HawkSearch.Tracking.track('pageload', {pageType: 'item'}); HawkSearch.Context.add("UniqueId", "{{product.id}}"); } else if ('{{template}}' == 'pages/cart') { HawkSearch.Tracking.track('pageload', {pageType: 'cart'}); } else { HawkSearch.Tracking.track('pageload', {pageType: 'custom'}); } } //]]> } </script>


Wiki Markup
<script type="text/javascript">
    HawkSearch.customEvent = function() {
        HawkSearch.Tracking.track('pageload', {pageType: 'order'});
    }

    var orderNum = '{{checkout.order.id}}';
    console.log('orderNo = ' + orderNum);
    if (orderNum) {
        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                if (this.responseText) {
                    var response = JSON.parse(this.responseText);
                    var itemList = [];

                    for (var i = 0; i < response.lineItems.physicalItems.length; i++) {
                        var item = response.lineItems.physicalItems[i];
                        itemList.push({
                            uniqueid: item.productId,
                            itemPrice: item.listPrice,
                            quantity: item.quantity
                        });
                    }

                    var hsObject = {
                        orderNo: orderNum,
                        itemList: itemList,
                        total: response.orderAmount,
                        subtotal: response.baseAmount,
                        tax: response.taxes[0].amount,
                        currency: response.currency.code
                    };

                    HawkSearch.customEvent = function() {
                        HawkSearch.Tracking.track('sale', hsObject);
                    }
                }
            }
        };
        xhttp.open('GET', '/api/storefront/orders/' + orderNum, true);
        xhttp.send();
    }
</script>

...