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

About us

About Geofix AB

Geofix AB is one of the largest multi-brand suppliers of measuring accessories and equipment in Sweden. We have been operating for over 30 years and have taken care of loyal customers who rely on us for sales, service and rental services.

Our product range of nearly 3000 products has been designed to cater to all levels of expertise in the surveying, GIS, construction and machine control industries, with advanced specialist products from industry leading manufacturers to our customers' daily needs.

Our business concept: We strive to deliver the right products at the right time in the right place.

*/ (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); })();