Search…
AbiCart

Getting started

How it works

Engage connects to your store using the standard Abicart API to retrieve current and historical data to the Engage platform. In addition an event tracker is required to gather actions taken by the users in your store. These events are used in analytics and product recommendations to improve the insights and personalization capabilities.
In Engage, we process your data, clean it and make it ready for use. We then start to build the analytics datasets, the recommendation models, search index, etc. As we complete these tasks the data becomes available in our platform for you to use.
Abicart is a Single Page Application (SPA) platform, which requires the implementation of the tracker to be done manually. We have prebuilt a template to capture all the required events out-of-the-box. And often there is no additional work required to get started. Adding custom events will however require manual procedures.
Recommendations are delivered using javascript and are fully customizable.

Installing

First step is to create an account with us. Then select Abicart as the first source to use and follow the on screen instructions.
Engage is installed by providing an API key for us to use to connect to your store, along with the Shop id of your store. Then you place the tracker code in the header section of Abicart.

Uninstalling

Deactivate the source in Engage to stop using our services. If you have a paid plan you wish to cancel you must do so on the Engage platform. Simply login and go to subscriptions to cancel your plan. Finally remove the tracker script from your site.

Tracker add-on

To automate tracking of e-commerce events, the tracker need an extension for AbiCArt. Add the below code snippet as a tracker add-on.
1
// Tracker add-on for AbiCArt
2
var zl_addon={zl_eg:function(t){return[t=document.querySelectorAll(t),t.length]},zl_dc:function(t){return 0<t},zl_attr:function(t,n,e){return t.querySelector(n).getAttribute(e)},zl_src:function(t,n){return t.querySelector(n).src},zl_val:function(t,n){n=t.querySelector(n);try{return parseInt(n.value)}catch(t){return 0}},init:function(){"complete"===document.readyState&&setTimeout(function(){zl_addon.zl_initiate()},2e3)},itext:function(t,n){return t.querySelector(n).innerText},itextint:function(t,n){return parseInt(t.querySelector(n).innerText.match(/\d/g).join(""))},none:function(t,n){return""},url:function(t,n){return t.querySelector(n).href},timer:function(t){setTimeout(t,5)},cus1:function(t){return document.querySelectorAll("body[class*=article-]")[0].className.match(/(article-\d+)/)[0].replace("article-","")},cus2:function(t,n){return t.querySelector(n).className.split(" ")[1].split("-")[5]},get_data:function(t,n,e){return zl_addon.dict_loop(t,n,e)},bind_button:function(e,d,t,o){t.forEach(t=>{t.addEventListener("click",function(){var n=zl_addon.get_data(e,d,t);"Removed From Cart"==o?setTimeout(function(){document.querySelectorAll(zl_addon.zl_mm.mmrm).forEach(t=>{t.addEventListener("click",function(){zl_addon.timer(zlt.track(o,n))})})},500):(zl_addon.timer(zlt.track(o,n)),setTimeout(zl_addon.zl_crte,3e3))})})}};history.pushState=(n=>function(){var t=n.apply(this,arguments);return window.dispatchEvent(new Event("pushstate")),window.dispatchEvent(new Event("locationchange")),t})(history.pushState),history.replaceState=(n=>function(){var t=n.apply(this,arguments);return window.dispatchEvent(new Event("replacestate")),window.dispatchEvent(new Event("locationchange")),t})(history.replaceState),window.addEventListener("popstate",()=>{window.dispatchEvent(new Event("locationchange"))}),zl_addon.zl_tspv=function(t){t=zl_addon.get_data(zl_addon.zl_mm.swci,zl_addon.zl_spm,t),zl_addon.timer(zlt.track("Product Viewed",t))},zl_addon.zl_spel=function(){var t=zl_addon.zl_eg(zl_addon.zl_mm.satc)[0];zl_addon.bind_button(zl_addon.zl_mm.swci,zl_addon.zl_spm,t,"Added To Cart")},zl_addon.zl_tcpv=function(){},zl_addon.zl_cael=function(){var t=zl_addon.zl_eg(zl_addon.zl_mm.catc)[0];zl_addon.bind_button(zl_addon.zl_mm.cws,zl_addon.zl_cpm,t,"Added To Cart")},zl_addon.zl_gsct=function(){console.log("<--M--O--N--Y--\x3e")},zl_addon.zl_crte=function(){var t=zl_addon.zl_eg(zl_addon.zl_mm.crmq)[0];zl_addon.bind_button(zl_addon.zl_mm.ctpw,zl_addon.zl_ctpm,t,"Removed From Cart")},zl_addon.or_cd=function(){try{var t=parseInt(location.pathname.split("/")[2]);!isNaN(t)&&0<document.querySelectorAll(".tws-checkout-success").length&&zl_addon.timer(zlt.track("Order Completed",{order_id:t}))}catch(t){}},zl_addon.zl_helper={innerText:zl_addon.itext,innerTextInt:zl_addon.itextint,custom1:zl_addon.cus1,val:zl_addon.zl_val,"":zl_addon.none,href:zl_addon.url,custom2:zl_addon.cus2,src:zl_addon.zl_src,none:zl_addon.none},zl_addon.zl_mm={cws:"",catc:"",satc:".buy-button-wrapper",srfc:"",ctpw:".tws-opc-cart--item",crmq:".tws-opc-cart--item-remove-action",swci:".bountiful--article-top",cpid:".opc-checkout",cinit:".tws-mini-cart",mmrm:".tws-checkout-success",cinitbool:!1},zl_addon.zl_cpm={name:{n:".tws-util-heading--heading",t:"innerText"},product_id:{n:".tws-article-list--grid-item-link",t:"custom2"},price:{n:".tws-api--price-current",t:"innerTextInt"},image_url:{n:".tws-img--container img",t:"src"}},zl_addon.zl_spm={name:{n:".tws-article-name",t:"innerText"},product_id:{n:"",t:"custom1"},price:{n:".tws-api--price-current",t:"innerTextInt"},image_url:{n:".tws-img--container img",t:"src"},quantity:{n:".input-group input[name='quantity']",t:"val"}},zl_addon.zl_ctpm={name:{n:".tws-opc-cart--item-info-name",t:"innerText"},price:{n:".twsPriceCurrent",t:"innerTextInt"},quantity:{n:".tws-opc-cart--item-info-quantity input",t:"val"},product_id:{n:"",t:"none"},product_url:{n:".tws-opc-cart--item-info-name a",t:"href"},image_url:{n:".tws-img--container img",t:"src"}},zl_addon.dict_loop=function(t,n,e){var d=e.closest(t);const o={};for(const a in n){var l=n[a],c=l.n;const r=zl_addon.zl_helper[l.t];o[a]=r(d,c)}return o.currency="SEK",o},zl_addon.zl_initiate=function(){var t=zl_addon.zl_eg(zl_addon.zl_mm.swci),n=zl_addon.zl_eg(zl_addon.zl_mm.ctpw),e=(zl_addon.zl_eg(zl_addon.zl_mm.cpid),zl_addon.zl_eg("#zlt_product_01")),d=zl_addon.zl_eg("#zlt_product_02");zl_addon.zl_dc(t[1])&&(zl_addon.zl_tspv(t[0][0]),zl_addon.zl_spel()),zl_addon.zl_dc(n[1])&&(zl_addon.zl_crte(),zl_addon.zl_gsct()),zl_addon.or_cd();try{zl_addon.zl_dc(e[1])&&zlt.rec(zl_addon.cus1(""),"zlt_01","",{currency:"SEK",decimals:0}),zl_addon.zl_dc(d[1])&&zlt.rec(zl_addon.cus1(""),"zlt_02","",{currency:"SEK",decimals:0})}catch(t){}},zl_addon.init(),document.addEventListener("readystatechange",t=>{zl_addon.init()}),window.addEventListener("locationchange",function(){zl_addon.init()});
Copied!

Deploy recommendations

Product Recommendations

Tracker add-on

An add-on to the tracker is required to deploy product recommendations for AbiCart. Simply add the above mentioned code snippet to your tracker as an add-on.

Recommendation block

Create a recommendation block in Engage to get a ready made code snippet to copy paste in your store. The code snippet format is similar to below example with an id referencing the recommendation id in the tracker, a data-id holding the recommendation block id and a data-key that holds the tracker key.
Go to Personalization -> On-page Recommendations -> Recommendation blocks and create your block.
1
// Code snippet to display recommendations
2
<div id="zlt_01" data-id="fDTrpmJdzddc4At3VcR_y" data-key="{TRACKER_KEY}"></div>
Copied!