Skip to content
GEOFIX NYA WEBBSHOP ÄR HÄR - klicka här för att få information om hur du som redan är Geofix kund kommer åt ditt webbkonto
GEOFIX NYA WEBBSHOP ÄR HÄR - klicka här för att få information om hur du som redan är Geofix kund kommer åt ditt webbkonto

Advent calendar

Advent Calendar – Opening the door with an offer a day until Christmas Eve!

Every day from December 1st until Christmas Eve, we will be offering selected products at great prices. Keep an eye out so you don't miss out and get ready to find great Christmas gifts for upcoming projects, the warehouse or why not surprise your boss.

The price in the advent calendar is valid while stocks last, subject to final sale. The price/discount is only valid on the day the slot is active, between 1-24/12 2024. Active means that the price is reduced and that the image has a yellow campaign pennant. Current campaign prices cannot be combined with other offers.

Filters

This collection is empty

View all products
*/ (function () { window.dataLayer = window.dataLayer || []; const CONFIG = { CURRENCY: "SEK", // Lägg gärna till/justera selektorer om ditt tema använder andra element CHECKOUT_BUTTON_SELECTORS: [ 'button[name="checkout"]', 'input[name="checkout"]', 'form[action*="/checkout"] [type="submit"]', 'a[href*="/checkout"]' ] }; function fetchCart() { return fetch('/cart.js', { credentials: 'same-origin' }) .then(r => r.json()) .catch(() => null); } function mapItems(cart) { if (!cart || !Array.isArray(cart.items)) return []; return cart.items.map((it, idx) => ({ item_id: String(it.variant_id || it.id || it.sku || ''), item_name: it.product_title || it.title || '', item_brand: 'Geofix AB', item_variant: it.variant_title || '', price: (typeof it.final_price === 'number' ? it.final_price : it.price || 0) / 100, quantity: it.quantity || 1, index: idx + 1 })); } function totalValue(items) { return items.reduce((s, i) => s + (Number(i.price) || 0) * (Number(i.quantity) || 0), 0); } function isCheckoutClick(target) { if (!target) return false; // träff på definierade selektorer for (const sel of CONFIG.CHECKOUT_BUTTON_SELECTORS) { if (target.closest(sel)) return true; } // fallback: formulär som postar till /checkout const form = target.closest('form'); if (form && /\/checkout/i.test(form.action || '')) return true; return false; } // Lyssna brett i capture-fasen så vi hinner hämta vagnen innan redirect document.addEventListener('click', function (e) { const el = e.target; if (!isCheckoutClick(el)) return; // Hämta /cart.js och pusha begin_checkout snabbt innan sidan lämnas fetchCart().then(cart => { const items = mapItems(cart); const value = totalValue(items); window.dataLayer.push({ event: 'begin_checkout', ecommerce: { currency: CONFIG.CURRENCY, value: value, items: items } }); }); // Ingen preventDefault – låt redirect ske normalt }, true); // Extra säkerhet: lyssna även på submit (t.ex. enter-tryck i formulär) document.addEventListener('submit', function (e) { const form = e.target; if (!form) return; if (!/\/checkout/i.test(form.action || '')) return; fetchCart().then(cart => { const items = mapItems(cart); const value = totalValue(items); window.dataLayer.push({ event: 'begin_checkout', ecommerce: { currency: CONFIG.CURRENCY, value: value, items: items } }); }); }, true); })();