Files
kupshop/web/common/templates/block.analytics.tpl
2025-08-02 16:30:27 +02:00

310 lines
11 KiB
Smarty

{block "convert"}
{* definuje se na shopu *}
{/block}
{block "seznam-rtg"}
{if $dbcfg.analytics.seznam_rtg.ID}
<!-- Seznam rtg-->
<script type="text/javascript" src="https://c.seznam.cz/js/rc.js"></script>
<script>
function callSeznamRtgCode() {
var retargetingConf = {
rtgId: {$dbcfg.analytics.seznam_rtg.ID},
{if $body.category.feed_seznam_category}
category: "{$body.category.feed_seznam_category}",
pageType: "category",
{elseif $body.product.id}
itemId: "{$body.product.id}",
pageType: "offerdetail",
{/if}
rtgUrl: "{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}",
consent: wpj.storage.consents.isEnabled('ad_storage') ? 1 : 0
};
if (window.rc && window.rc.retargetingHit) {
window.rc.retargetingHit(retargetingConf);
}
}
wpj.onReady.push(function() {
callSeznamRtgCode();
document.addEventListener("consentsChange", function(e) {
callSeznamRtgCode();
});
});
</script>
{/if}
{/block}
{block "fb-pixel"}
{if $dbcfg.analytics.fb_pixel.id}
<!-- Facebook Pixel Code -->
<script>
wpj.onReady.push(function() {
fbq('consent', 'revoke');
if (wpj.storage.consents.isEnabled('ad_storage')) {
fbq('consent', 'grant');
}
fbq('init', '{$dbcfg.analytics.fb_pixel.id}');
fbq('track', 'PageView');
});
</script>
<!-- End Facebook Pixel Code -->
{/if}
{/block}
{block "smartsupp"}
{if $dbcfg.analytics.smartsapp.id}
{literal}
<!-- Start of Smartsupp Live Chat script -->
<script type="text/javascript">
var _smartsupp = _smartsupp || { }; {/literal}
_smartsupp.key = '{$dbcfg.analytics.smartsapp.id}';
{literal}
window.smartsupp||(function(d) {
var s,c,o=smartsupp=function(){ o._.push(arguments)};o._=[];
s=d.getElementsByTagName('script')[0];c=d.createElement('script');
c.type='text/javascript';c.charset='utf-8';c.async=true;
c.src='https://www.smartsuppchat.com/loader.js?';s.parentNode.insertBefore(c,s);
})(document);
</script>
{/literal}
{/if}
{/block}
{block "supportbox"}
{if $dbcfg.analytics.supportbox.id_chat && $dbcfg.analytics.supportbox.secret_chat}
{literal}
<!-- Zacatek kodu chatu SupportBox -->
<script type="text/javascript">
{/literal}
var supportBoxChatId = {$dbcfg.analytics.supportbox.id_chat};
var supportBoxChatSecret = '{$dbcfg.analytics.supportbox.secret_chat}';
{literal}
</script>
<script src="https://chat.supportbox.cz/web-chat/entry-point" async defer></script>
<!-- Konec kodu chatu SupportBox -->
{/literal}
{/if}
{/block}
{if $dbcfg.analytics.crisp.id}
{get_contexts language=1 assign=contexts}
<!-- Start of Smartsupp Live Chat script -->
<script type="text/javascript"> window.$crisp = [];
window.CRISP_WEBSITE_ID = "{$dbcfg.analytics.crisp.id}";
CRISP_RUNTIME_CONFIG = {
locale : "{$contexts.language->getActiveID()}",
session_merge : true
};
{$user = ($ctrl) ? $ctrl->getUser() : false}
{if $user}
window.CRISP_READY_TRIGGER = function() {
$crisp.push(["set", "user:nickname", ["{$user.name} {$user.surname}"]]);
$crisp.push(["set", "user:phone", ["{$user.phone}"]]);
$crisp.push(["set", "user:email", ["{$user.email}"]]);
$crisp.push(["on", "chat:opened", function() {
fetch('/getCrispData/').then(
function(response) {
if (response.status !== 200) { console.log('Looks like there was a problem. Status Code: ' + response.status);return; }
response.json().then(function(data) {
$crisp.push(["set", "session:data", [data] ]);
});
}
).catch(function(err) {
console.log('Fetch Error :-S', err);
});
}]);
};
{/if}
(function () {
d = document;
s = d.createElement("script");
s.src = "https://client.crisp.chat/l.js";
s.async = 1;
d.getElementsByTagName("head")[0].appendChild(s);
})(); </script>
{/if}
{if $dbcfg.mailerlite.forms.id && $dbcfg.mailerlite.forms.key}
<!-- MailerLite Universal -->
<script>
(function(m,a,i,l,e,r){ m['MailerLiteObject']=e;function f(){
var c={ a:arguments,q:[]};var r=this.push(c);return "number"!=typeof r?r:f.bind(c.q);}
f.q=f.q||[];m[e]=m[e]||f.bind(f.q);m[e].q=m[e].q||f.q;r=a.createElement(i);
var _=a.getElementsByTagName(i)[0];r.async=1;r.src=l+'?v'+(~~(new Date().getTime()/1000000));
_.parentNode.insertBefore(r,_);})(window, document, 'script', 'https://static.mailerlite.com/js/universal.js', 'ml');
var ml_account = ml('accounts', '{$dbcfg.mailerlite.forms.id}', '{$dbcfg.mailerlite.forms.key}', 'load');
</script>
<!-- End MailerLite Universal -->
{elseif $dbcfg.mailerlite.forms.id}
<!-- MailerLite New Universal -->
<script>
(function(w,d,e,u,f,l,n){ w[f]=w[f]||function(){ (w[f].q=w[f].q||[])
.push(arguments); },l=d.createElement(e),l.async=1,l.src=u,
n=d.getElementsByTagName(e)[0],n.parentNode.insertBefore(l,n); })
(window,document,'script','https://assets.mailerlite.com/js/universal.js','ml');
ml('account', '{$dbcfg.mailerlite.forms.id}');
</script>
<!-- End MailerLite New Universal -->
{/if}
{if findModule('incomaker') && $dbcfg.incomaker.account_uuid }
<script type="text/javascript" src="https://incomaker.b-cdn.net/wpjcz.js"></script>
{$url = findModule('incomaker', 'url')}
{if $url != 'https://testa.incomaker.com'}
{$url = 'https://dg.incomaker.com'}
{/if}
<script type="text/javascript"
src="{$url}/tracking/resources/js/INlib.js?accountUuid={$dbcfg.incomaker.account_uuid}&pluginUuid={$dbcfg.incomaker.plugin_uuid}" async></script>
{/if}
{block "affilbox"}
{if $dbcfg.analytics.affilbox.instance}
<script type="text/javascript">
var ab_instance = "{$dbcfg.analytics.affilbox.instance}";
var ab_inzerent = "{$dbcfg.analytics.affilbox.inzerent}";
var ab_kampan = "{$dbcfg.analytics.affilbox.kampan}";
</script>
<script src="https://{$dbcfg.analytics.affilbox.instance}/t3.js" type="text/javascript" async defer></script>
{/if}
{/block}
{if $dbcfg.analytics.cjtracking.CID}
<!-- BEGIN CJ TRACKING CODE -->
<script type='text/javascript'>
if (!window.cj) window.cj = { };
{get_cj_info view=$view assign='cjpagetype'}
cj.sitePage = {
enterpriseId: {$dbcfg.analytics.cjtracking.CID},
pageType: '{$cjpagetype}',
{$user = ($ctrl) ? $ctrl->getUser() : false}
{if $user}
userId: '{$user->id}',
emailHash: '{hash('sha256', $user->email|strtolower|trim)}',
{/if}
// referringChannel: '<referringChannel>',
{if $cjpagetype == 'cart'}
cartSubtotal: {$view.cart.totalPriceNoVat},
items: [
{foreach $view.cart.products as $item}
{
'unitPrice': {$item.price->getPriceWithVat()->printFloatValue(2)},
'itemId': '{$item.id}{if $item.id_variation}_{$item.id_variation}{/if}',
'quantity': {$item.pieces},
'discount': {$item.discount|round:2}
},
{/foreach}
]
{/if}
};
function callCjCode() {
wpj.onReady.push(function() {
if (wpj.storage.consents.isEnabled('analytics_storage')) {
let urlParams = new URLSearchParams(window.location.search);
if (urlParams.get('cjevent')) {
wpj.storage.cookies.setItem('cjevent', urlParams.get('cjevent'), 2592000, '/');
}
(function (a, b, c, d) {
a = 'https://www.mczbf.com/tags/{$dbcfg.analytics.cjtracking.tag}/tag.js';
b = document;
c = 'script';
d = b.createElement(c);
d.src = a;
d.type = 'text/java' + c;
d.async = true;
d.id = 'cjapitag';
a = b.getElementsByTagName(c)[0];
a.parentNode.insertBefore(d, a)
})();
}
});
}
wpj.onReady.push(function() {
callCjCode();
document.addEventListener("consentsChange", function(e) {
callCjCode();
});
});
</script>
<!-- END CJ TRACKING CODE -->
{/if}
{if $dbcfg.daktela.webChatUrl != '' && $dbcfg.daktela.webChatAccessToken != ''}
<script type="text/javascript">
// Set webchat configuration
var daktelaGuiConfig = {
"server":"{$dbcfg.daktela.webChatUrl}",
"accessToken":"{$dbcfg.daktela.webChatAccessToken}"
};
// Create async script element
var daktelaScriptEl = document.createElement("script");
(function (attrs) { Object.keys(attrs).forEach(function (key) { daktelaScriptEl.setAttribute(key, attrs[key]); }); })
({ "src":daktelaGuiConfig.server+"external/web/web.js", "type":"text/javascript", "async":true, "charset":"utf-8"});
daktelaScriptEl.onload = function() { var daktelaWeb = new daktelaGui(); daktelaWeb.init(daktelaGuiConfig); };
document.getElementsByTagName("head")[0].appendChild(daktelaScriptEl);
</script>
{/if}
{ifmodule LUIGIS_BOX}
{if $dbcfg.analytics.luigis_box.id}
{$key = '-'|explode:$dbcfg.analytics.luigis_box.id}
<script src="https://scripts.luigisbox.com/LBX-{$key[1]}.js"></script>
{/if}
{/ifmodule}
{if $dbcfg.analytics.growthbook.key}
<script>
window.growthbook_config = {
trackingCallback: (experiment, result) => {
window.dataLayer.push({
event:"experiment_viewed",
experiment_id: experiment.key,
variation_id: result.key
})
},
backgroundSync: false
}
</script>
<script async
data-client-key="{$dbcfg.analytics.growthbook.key}"
src="https://cdn.jsdelivr.net/npm/@growthbook/growthbook/dist/bundles/auto.min.js"
></script>
{/if}
{if $dbcfg.analytics.coworkers.chat_url}
<script async defer>
var ewConfig = {
"tokenStorage": "LOCAL_STORAGE",
"customButton": false,
"openStateStorage": "LOCAL_STORAGE",
"openedAtFirstVisit": false,
"openedAtFirstVisitMobile": false,
"hashForceOpen": false,
"hashForOpenAtFirstVisit": "chatbot-open",
"theme": "chatbot-artin",
"url": "{$dbcfg.analytics.coworkers.chat_url}",
"urlPrefix": "{$dbcfg.analytics.coworkers.chat_url}"
};
(function (w, d, c) {
var p = ['vendor.js', 'app.js'];
for (var i = 0; i < p.length; i++) {
var s = d.createElement('script');
s.src = c.url + '/ew/' + p[i];
d.getElementsByTagName('head')[0].appendChild(s);
}
})(window, document, ewConfig);
</script>
{/if}