Google Tag Manager — dataLayer og sporingsoppsett
Referanse for GTM-spesialister: hvordan Entrii storefronts sender GA4-kompatible dataLayer-events, hvilke felter som følger med, og hvordan du konfigurerer triggere og variabler i GTM.
Entrii sender GA4-kompatible e-handelshendelser fra storefront til window.dataLayer via Google Tag Manager-pluginet. Artikkelen er skrevet for GTM- og GA4-spesialister som konfigurerer containere, triggere og tags — ikke for generelt backoffice-oppsett alene.
-
I Entrii er produktet den enheten som selges og havner i handlekurv og ordre. Programmer, arrangementer og programøkter er navigasjons- og innholdslag — de hjelper kunden å finne frem, men er ikke det GA4 e-handel skal måle som
itemsi kjøpsfunnelen.Kontekst
Hva det gjelder
item_id i dataLayer
Sidekontekst
CMS-sider (
page_view), arrangementlister, program-/dagvisninger medview_item_listIkke produkt-UUID — bruk
page_location/page_title, eller arrangements-/programøkt-ID veditem_list_name: events/sessionsProduktkontekst
Alle salgshendelser og produktlister der kunden faktisk velger billetter/varer
Alltid Entrii
product.id(produkt-UUID) -
Sporing skjer i to lag:
Plattformlag (
entrii-storefront-support) — storefront pakker bygger hendelser og sender dem somentrii-analyticsCustomEvents i nettleseren.GTM-plugin — lytter på
entrii-analyticsog mapper tildataLayer.push()for GA4 via GTM.
Én aktiv GTM-integrasjon per tenant gjelder for alle salgskanaler på den tenanten (v1).
-
Opprett integrasjon under Konfigurasjon → Integrasjoner → Google Tag Manager:
Felt
Effekt
GTM container-ID
Lastes som
GTM-XXXXXXXi storefront (<head> og noscript-iframe).Aktivert
Må være på og container-ID satt for at GTM og dataLayer-mapping skal lastes.
Consent Mode (Entrii-banner)
Setter
gtag('consent', 'default', …)meddeniedog viser Entrii sitt samtykkebanner (entrii_analytics_consenti localStorage).Ekstern CMP via GTM
For Cookiebot, Cookie Information m.m. Skjuler Entrii-banner og
gtag consent default— CMP-en i GTM styrer Consent Mode. Entrii laster kun GTM-container og dataLayer.Feilsøkingsmodus
Logger
[entrii-gtm]med hendelsesnavn og payload i nettleserens konsoll. -
GTM-pluginet mapper
entrii-analyticsslik:page_view— payload pushes direkte til dataLayer (utenevent-nøkkel og utenecommerce-objekt).Alle andre hendelser — først
{ ecommerce: null }(tømmer forrige e-handelskontekst), deretter:
{ "event": "<hendelsesnavn>", "ecommerce": { "currency": "NOK", "...": "felter fra payload" } }Valuta settes alltid til
NOKiecommerce.currency(kan overstyres fra hendelsen hvis angitt). -
Kolonnen Kontekst viser om hendelsen hører til side- eller produktkontekst (se steg 1).
dataLayer event
Kontekst
Når
page_viewSide
CMS / statiske sider i storefront
view_item_listSide eller produkt
Arrangement-/programliste (
events,sessions) = sidekontekst. Produktkatalog eller billetter på arrangementside = produktkontekstadd_to_cartProdukt
Antall økes i handlekurv (etter bekreftet endring, ikke debounced wire-sync)
remove_from_cartProdukt
Linje fjernes fra handlekurv
view_cartProdukt
Checkout-skjema / handlekurvvisning åpnes
begin_checkoutProdukt
Navigasjon til checkout
add_payment_infoProdukt
Før redirect til betalingsløsning
purchaseProdukt
Kvitteringsside — dedupliseres per ordre (se steg 9)
-
Eksemplene under for
items[]gjelder produktkontekst. I sidekontekst (item_list_name:events/sessions) eritem_idarrangements- eller programøkt-ID — ikke produkt-UUID. I produktkontekst sendes ogsåproduct_number(Entrii produktnummer) når det er satt på produktet — nyttig som lesbar SKU i GTM utover UUID iitem_id.Alle
value,priceogtaxer hele kroner (avrundet fra øre internt).transaction_idpåpurchaseer ordre-UUID (order.id).page_view
{ "page_location": "https://eksempel.no/nb/events", "page_title": "Arrangementer" }view_item_list
Sidekontekst — arrangementsliste (
item_ider arrangement-ID, ikke produkt):{ "event": "view_item_list", "ecommerce": { "currency": "NOK", "item_list_name": "events", "items": [ { "item_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "item_name": "Sommerkonsert 2026" } ] } }Produktkontekst — billetter/varer som kan kjøpes (
item_ider produkt-UUID):{ "event": "view_item_list", "ecommerce": { "currency": "NOK", "items": [ { "item_id": "550e8400-e29b-41d4-a716-446655440000", "item_name": "Konsert — Voksen", "product_number": "KONSERT-VOKSEN", "price": 450, "quantity": 1 } ] } }add_to_cart / remove_from_cart
{ "event": "add_to_cart", "ecommerce": { "currency": "NOK", "value": 900, "items": [ { "item_id": "550e8400-e29b-41d4-a716-446655440000", "item_name": "Konsert — Voksen", "product_number": "KONSERT-VOKSEN", "price": 450, "quantity": 2 } ] } }view_cart / begin_checkout
{ "event": "begin_checkout", "ecommerce": { "currency": "NOK", "value": 1350, "items": [ { "item_id": "550e8400-e29b-41d4-a716-446655440000", "item_name": "Konsert — Voksen", "product_number": "KONSERT-VOKSEN", "price": 450, "quantity": 3 } ] } }add_payment_info
{ "event": "add_payment_info", "ecommerce": { "currency": "NOK", "payment_type": "vipps", "value": 1350, "items": [ { "item_id": "550e8400-e29b-41d4-a716-446655440000", "item_name": "Konsert — Voksen", "product_number": "KONSERT-VOKSEN", "price": 450, "quantity": 3 } ] } }payment_typeer slug for betalingsgateway (f.eks.vipps,stripe).purchase
{ "event": "purchase", "ecommerce": { "currency": "NOK", "transaction_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "value": 1350, "tax": 270, "items": [ { "item_id": "550e8400-e29b-41d4-a716-446655440000", "item_name": "Konsert — Voksen", "product_number": "KONSERT-VOKSEN", "price": 450, "quantity": 3 } ] } }items[] — felter
Felt
Innhold
item_idProdukt-UUID (
product.id) i produktkontekst. Arrangements- eller programøkt-ID i sidekontekst — seitem_list_nameitem_namepublic_name eller name på produktet
product_numberEntrii
product_number— kun produktkontekst, utelates hvis tom. Map i GTM til GA4 item-scoped custom parameter eller bruk som alternativ SKU ved rapporteringpriceEnhetspris i hele kroner
quantityAntall
-
Bruk Custom Event-triggere i GTM med Event name lik dataLayer-hendelsen (
purchase,add_to_cart, osv.). Alle Entrii-hendelser inkl.page_viewpushes medevent-nøkkel og kan bruke Custom Event-triggere.Anbefalte Data Layer Variables (DLV):
ecommerce.transaction_idecommerce.valueecommerce.taxecommerce.currencyecommerce.items(inkl.product_numberper vare i produktkontekst — bruk item-scoped custom parameter i GA4)ecommerce.payment_typeecommerce.item_list_name
Entrii leverer en GTM-container-mal (
gtm-container-template.json) med GA4 Configuration, Custom Event-triggere og GA4 Event-tags for alle storefront-hendelser (page_viewgjennompurchase). E-handelstags leser heleecommerce-objektet fra dataLayer (inkl.items,product_number,tax,payment_typeogitem_list_name). DLV fortransaction_id,valuem.m. følger med for feilsøking og egne tags. Importer malen i GTM og sett GA4 Measurement ID i variabelenConst - GA4 Measurement ID. -
Alternativ A — Entrii-banner
La Consent Mode (Entrii-banner) stå på og Ekstern CMP via GTM av. Da settes default consent før GTM lastes:
gtag('consent', 'default', { analytics_storage: 'denied', ad_storage: 'denied', wait_for_update: 500 });Entrii-banneret lagrer valg i
localStorage(entrii_analytics_consent) og kallergtag('consent', 'update', …).Alternativ B — Cookiebot / ekstern CMP i GTM
Mange kunder har allerede Cookiebot, Cookie Information eller tilsvarende som tag i GTM-containeren. Da skal du ikke få dobbelt banner:
Slå på Ekstern CMP via GTM på GTM-integrasjonen i Entrii backoffice.
Entrii injiserer da kun GTM-snippet og dataLayer-mapping — ikke eget banner og ikke
gtag('consent', 'default')fra Entrii.Konfigurer Cookiebot/CMP-taggen i GTM til å sette Consent Mode v2 (
analytics_storage,ad_storage, ev.ad_user_data/ad_personalization). Bruk CMP-ens anbefalte GTM-mal og Consent Initialization-trigger der det støttes.'Sørg for at GA4-tags i GTM har Built-in consent checks (krever analytics storage) — da fires de først når Cookiebot har gitt samtykke.
dataLayer-hendelser fra Entrii (
purchase,add_to_cart, osv.) pushes fortsatt tildataLayer; GA4-tags som respekterer consent venter til CMP-en tillater det.
-
Slå på Feilsøkingsmodus på integrasjonen og se etter
[entrii-gtm]i konsollen.Bruk GTM Preview og inspiser dataLayer i Tag Assistant.
I GA4: aktiver DebugView og gå gjennom funnelen: liste → add_to_cart → begin_checkout → add_payment_info → purchase.
purchasededupliseres medsessionStorage(nøkkelentrii_purchase_{transaction_id}) — oppdater kvitteringssiden skal ikke sende duplikatpurchase.
Sjekkliste før produksjon: