dataLayer i din hjemmeside/webshop
dataLayer er et javascript objekt som typisk indeholder informationer om den aktuelle side som en besøgende kigger på.
Ønsker du at bruge dataLayer i din hjemmeside/webshop hos ideal.shop skal du altså blot definere objektet.
<script> window.dataLayer = window.dataLayer || []; </script>Ønsker du at indsætte relevante data i variablen kan det gøres via _saas_site_event. Her er et eksempel som du kan kopiere og indsætte i <head> og som vil gemme en lang række data og hændelser i dataLayer objektet:
<script> window.dataLayer = window.dataLayer || []; window.addEventListener('_saas_site_event', function(event){ var detail = event.detail; if(detail.type === 'page_view') { dataLayer.push({ 'event': 'Pageview', 'pagePath': window.location, 'pageTitle': document.title, 'visitorType': 'customer' }); } else if(detail.type === 'view_content' && !detail.has_variants) { // Item page dataLayer.push({ 'event': 'ViewContent', 'product_id': detail.id_for_stats, 'value': detail.value, 'content_name': detail.title_full, 'currency': detail.currency, 'language': (document.querySelector('meta[property="og:locale"]') ? document.querySelector('meta[property="og:locale"]').content : '') }); } else if(detail.type === 'search') { // Search dataLayer.push({ 'event': 'Search', 'query': detail.search_string, 'language': (document.querySelector('meta[property="og:locale"]') ? document.querySelector('meta[property="og:locale"]').content : '') }); } else if(detail.type === 'add_to_basket') { // Add to basket dataLayer.push({ 'event': 'AddToCart', 'product_ids': [detail.id_for_stats], 'content_name': detail.title_full, 'value': detail.value, 'quantity': detail.quantity, 'currency': detail.currency, 'language': (document.querySelector('meta[property="og:locale"]') ? document.querySelector('meta[property="og:locale"]').content : '') }); } else if(detail.type === 'checkout-customer-info') { // First page of basket checkout var item_ids = []; for(let i=0; i<detail.basket_data.items.length;i++) { item_ids.push(detail.basket_data.items[i].id_for_stats); } dataLayer.push({ 'event': 'InitiateCheckout', 'product_ids': item_ids, 'price_items': detail.basket_data.sums.items_price_total_after_discount_with_vat, 'price_order': detail.basket_data.sums.price_total_with_vat, 'quantity': detail.basket_data.sums.items_total, 'currency': detail.basket_data.currency, 'language': (document.querySelector('meta[property="og:locale"]') ? document.querySelector('meta[property="og:locale"]').content : '') }); } else if(detail.type === 'order_complete') { // Order complete/paid var item_ids = []; var items_quantity = 0; for(let i=0; i<detail.items.length;i++) { item_ids.push(detail.items[i].id_for_stats); items_quantity += detail.items[i].quantity; } dataLayer.push({ 'event': 'Purchase', 'product_ids': item_ids, 'price_items': detail.total_for_items_with_vat, 'price_order': detail.total_with_vat, 'quantity': items_quantity, 'customer_email': detail.customer.email, 'customer_email_sha256': detail.customer.email_sha256, 'customer_phone': detail.customer.phone, 'customer_data': detail.customer, 'delivery_data': detail.receiver, 'currency': detail.currency, 'language': (document.querySelector('meta[property="og:locale"]') ? document.querySelector('meta[property="og:locale"]').content : '') }); } }); </script>Det anbefales at indsætte ovenstående javascript koder i <head>. Det gøres ved at søge efter "javascript" og gå til "Indsæt egen HTML/CSS/JS kode".