{% sw_extends '@Storefront/storefront/component/analytics.html.twig' %}
{% block component_head_analytics %}
{{ parent() }}
{#
<script>console.log({{ context|json_encode|raw }});</script>
<script>console.log({{ page|json_encode|raw }});</script>
#}
<script>
const statsCookiesAccepted = document.cookie.includes('cookie-preference=1');
const matomoSettingExists = document.cookie.includes('matomo-enabled=');
if (!statsCookiesAccepted || (statsCookiesAccepted && !matomoSettingExists)) {
document.cookie = "matomo-enabled=1; path=/; max-age=2592000";
}
(() => {
const matomoEnabled = document.cookie.split(';').some((item) => item.trim().includes('matomo-enabled=1'));
const fbpEnabled = document.cookie.split(';').some((item) => item.trim().includes('fbp-enabled=1'));
const pinterestEnabled = document.cookie.split(';').some((item) => item.trim().includes('pinterest-enabled=1'));
if(matomoEnabled == true){
enableMatomo();
}
if(fbpEnabled == true){
enableFbp();
}
if(pinterestEnabled == true){
enablePinterest();
}
})();
// Matomo
function enableMatomo(){
// return;
console.log('Matomo is aktiv');
var simpleABScript = document.createElement('script');
simpleABScript.type = 'text/javascript';
simpleABScript.src = '//matomo.kartenmachen.de/plugins/SimpleABTesting/public/kartenmachen.de.js?v={{ "now"|date("Y-m-d-H") }}';
document.head.prepend(simpleABScript);
var _paq = window._paq = window._paq || [];
{% if page.product is defined %}
// Product view tracking
_paq.push(['setEcommerceView',
"{{ page.product.productNumber }}",
"{{ page.product.translated.name }}",
"{{ page.product.manufacturer.translated.name }}",
{{ page.product.calculatedPrice.unitPrice }}
]);
_paq.push(['trackPageView']);
{% elseif page.cmsPage is defined and page.cmsPage.type == 'product_list' %}
// Category view tracking
_paq.push(['setEcommerceView',
false,
false,
"{{ page.header.navigation.active.translated.name }}"
]);
_paq.push(['trackPageView']);
{% elseif page.cart is defined %}
// Cart update tracking
{% for lineItem in page.cart.lineItems %}
_paq.push(['addEcommerceItem',
"{{ lineItem.payload.productNumber }}",
"{{ lineItem.label }}",
"{{ lineItem.payload.productNumber|slice(0, 3) }}",
{{ lineItem.price.unitPrice }},
{{ lineItem.quantity }}
]);
{% endfor %}
_paq.push(['trackEcommerceCartUpdate', {{ page.cart.price.totalPrice }}]);
{% elseif page.order is defined %}
// Order tracking
{% for lineItem in page.order.lineItems %}
_paq.push(['addEcommerceItem',
"{{ lineItem.payload.productNumber }}",
"{{ lineItem.label }}",
"{{ lineItem.payload.productNumber|slice(0, 3) }}",
{{ lineItem.price.unitPrice }},
{{ lineItem.quantity }}
]);
{% endfor %}
_paq.push(['trackEcommerceOrder',
"{{ page.order.orderNumber }}",
{{ page.order.amountTotal }},
{{ page.order.amountNet }},
{{ page.order.amountTotal - page.order.amountNet }},
{{ page.order.shippingTotal }},
false
]);
{% else %}
// Default page view tracking for other pages
_paq.push(['trackPageView']);
{% endif %}
_paq.push(['enableLinkTracking']);
(function() {
var u="//matomo.kartenmachen.de/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '2']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js';
document.head.appendChild(g);
// s.parentNode.insertBefore(g,s);
})();
}
// Facebook Pixel
function enableFbp(){
// return;
console.log('Facebook Pixel ist aktiv');
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '565664260238957');
{% if page.product is defined and page.product %}
fbq('track', 'ViewContent', {
content_name: '{{ page.product.translated.name }}',
content_ids: ['{{ page.product.productNumber }}'],
content_type: 'product',
value: {{ page.product.calculatedPrice.unitPrice|round(2) }},
currency: '{{ page.header.activeCurrency.isoCode }}'
});
{% elseif page.cart is defined and page.cart.lineItems|length > 0 %}
fbq('track', 'AddToCart', {
content_ids: [{% for lineItem in page.cart.lineItems %}
"{{ lineItem.payload.productNumber }}"{% if not loop.last %},{% endif %}
{% endfor %}],
content_type: 'product',
value: {{ page.cart.price.totalPrice|round(2) }},
currency: '{{ page.header.activeCurrency.isoCode }}'
});
{% elseif page.isCheckout is defined and page.isCheckout %}
fbq('track', 'InitiateCheckout', {
content_ids: [{% for lineItem in page.cart.lineItems %}
"{{ lineItem.payload.productNumber }}"{% if not loop.last %},{% endif %}
{% endfor %}],
content_type: 'product',
value: {{ page.cart.price.totalPrice|round(2) }},
num_items: {{ page.cart.lineItems|length }},
currency: '{{ page.header.activeCurrency.isoCode }}'
});
{% elseif page.order is defined and page.order %}
fbq('track', 'Purchase', {
content_ids: [{% for lineItem in page.order.lineItems %}
"{{ lineItem.payload.productNumber }}"{% if not loop.last %},{% endif %}
{% endfor %}],
content_type: 'product',
value: {{ page.order.amountTotal|round(2) }},
num_items: {{ page.order.lineItems|length }},
currency: '{{ page.header.activeCurrency.isoCode }}'
});
{% else %}
fbq('track', 'PageView');
{% endif %}
}
// Pinterest Tag
function enablePinterest(){
console.log('Pinterest Tag ist aktiv');
!function(e){if(!window.pintrk){window.pintrk = function () {
window.pintrk.queue.push(Array.prototype.slice.call(arguments))};var
n=window.pintrk;n.queue=[],n.version="3.0";var
t=document.createElement("script");t.async=!0,t.src=e;var
r=document.getElementsByTagName("script")[0];
r.parentNode.insertBefore(t,r)}}("https://s.pinimg.com/ct/core.js");
{% if context.customer %}
pintrk('load', '2614386789046', {em: '{{ context.customer.email|lower|sha256 }}'});
{% else %}
pintrk('load', '2614386789046', {em: ''});
{% endif %}
pintrk('page');
{% if page.product is defined and page.product %}
pintrk('track', 'pagevisit', {
event_id: 'product_view_{{ page.product.productNumber }}',
value: {{ page.product.calculatedPrice.unitPrice|round(2) }},
currency: '{{ page.header.activeCurrency.isoCode }}',
line_items: [
{
product_id: '{{ page.product.productNumber }}',
product_name: '{{ page.product.translated.name }}'
}
]
});
{% elseif page.cart is defined and page.cart.lineItems|length > 0 %}
pintrk('track', 'addtocart', {
event_id: 'cart_update_{{ page.cart.name }}',
value: {{ page.cart.price.totalPrice|round(2) }},
order_quantity: {{ page.cart.lineItems|length }},
currency: '{{ page.header.activeCurrency.isoCode }}',
line_items: [
{% for lineItem in page.cart.lineItems %}
{
product_id: '{{ lineItem.payload.productNumber }}',
product_name: '{{ lineItem.label }}',
product_price: {{ lineItem.price.unitPrice|round(2) }},
product_quantity: {{ lineItem.quantity }}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
});
{% elseif page.order is defined and page.order %}
pintrk('track', 'checkout', {
event_id: 'order_{{ page.order.orderNumber }}',
value: {{ page.order.amountTotal|round(2) }},
order_quantity: {{ page.order.lineItems|length }},
currency: '{{ page.header.activeCurrency.isoCode }}',
order_id: '{{ page.order.orderNumber }}',
line_items: [
{% for lineItem in page.order.lineItems %}
{
product_id: '{{ lineItem.payload.productNumber }}',
product_name: '{{ lineItem.label }}',
product_price: {{ lineItem.price.unitPrice|round(2) }},
product_quantity: {{ lineItem.quantity }}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
});
{% elseif page.cmsPage is defined and page.cmsPage.type == 'product_list' %}
pintrk('track', 'viewcategory', {
event_id: 'category_{{ page.header.navigation.active.id }}',
category_name: '{{ page.header.navigation.active.translated.name }}'
});
{% else %}
pintrk('track', 'pagevisit', {
event_id: 'page_{{ page.header.navigation.active.id ?? "home" }}'
});
{% endif %}
}
</script>
{% endblock %}