Home › Kennis › E-commerce tracking in GA4: zo meet je je webshop
Kennis · Tracking & analytics

E-commerce tracking in GA4: zo meet je je webshop

Welke e-commerce-events GA4 verwacht, welke parameters verplicht zijn, wat je in value zet en hoe je dubbele aankopen en terugbetalingen correct verwerkt.

GA4 meet e-commerce niet vanzelf: je webshop moet elke stap zelf als event doorgeven [1]. Meet minstens purchase, met een uniek transactie-ID, een items-lijst, een value als getal en de valuta. Geef terugbetalingen door met refund, zet betaalpagina's bij de ongewenste verwijzingen en leg je GA4-omzet elke maand naast die van je webshop.

Of je het zelf opzet, aan je webbouwer vraagt of een Google Analytics bureau inschakelt: de keuzes zijn dezelfde. De belangrijkste is wat je in value zet, want GA4, Google Ads en je eigen rapportage moeten hetzelfde getal gebruiken.

Welke events heb je nodig?

Begin met purchase en voeg daarna de stappen ernaartoe toe. Gebruik de namen die Google aanbeveelt: GA4 vult er automatisch rapporten mee, zoals E-commerceaankopen [1].

De belangrijkste e-commerce-events van GA4 (bronnen [1], [2])
EventWanneer het vuurt
view_itemEen bezoeker bekijkt een productpagina
add_to_cartEen product gaat in het winkelmandje
begin_checkoutDe checkout start
purchaseDe bestelling is geplaatst
refundEen bestelling wordt geheel of gedeeltelijk terugbetaald

Met de eerste vier zie je waar bezoekers afhaken. Google heeft er nog meer, onder meer voor productlijsten, verzend- en betaalinformatie en interne promoties [2]. Werk je met Shopify, dan meet de Shopify-pixel sommige events automatisch: controleer welke, zodat ze niet dubbel vuren naast je eigen tags [1].

Welke parameters horen bij een aankoop?

Voor purchase zijn twee parameters verplicht, en de rest bepaalt of je omzetcijfers bruikbaar zijn [2].

Parameters van het purchase-event (bron [2])
ParameterVerplicht?Wat erin hoort
transaction_idJaEen uniek ID per bestelling, zoals je ordernummer, zonder gegevens die naar een klant verwijzen [3]
itemsJaDe gekochte artikelen, elk met minstens een item_id of een item_name
valueJa, met voorbehoudDe som van prijs maal aantal van alle artikelen, als getal
currencyJa, zodra je value meegeeftDe valuta in drie letters, voor Belgische webshops EUR
tax, shippingNeeBelasting en verzendkosten, als aparte getallen

Een getal betekent zonder valutateken: 72.05, niet "€ 72,05" [4]. Optioneel zijn onder meer coupon en customer_type (new of returning), waarvoor Google een venster van 540 dagen aanraadt [2].

Wat zet je in value?

Google raadt value exclusief verzending en belasting aan; die geef je apart door in shipping en tax [2]. Voor een Belgische webshop die prijzen inclusief btw toont, is dat een bewuste keuze.

Beide kunnen werken, zolang je één definitie gebruikt. Wissel je per maand, of gebruikt Google Ads een andere waarde dan GA4, dan stuurt je biedstrategie op een ander getal dan het getal waarop jij rapporteert.

Zo stuur je een aankoop door

Met Google Tag Manager duwt je webshop de gegevens naar de datalaag, en een GA4-tag stuurt ze door. Maak het vorige e-commerce-object eerst leeg, zodat gegevens van een eerdere stap niet meelopen [5]:

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: 'BE-10482',
    value: 59.50,
    tax: 12.50,
    shipping: 4.95,
    currency: 'EUR',
    items: [{
      item_id: 'SKU-231',
      item_name: 'Tuinhandschoenen leder',
      price: 29.75,
      quantity: 2
    }]
  }
});

Hier zijn de prijzen exclusief btw: value is 2 x 29,75 = 59,50 euro. In de GA4-eventtag vink je onder More Settings › Ecommerce de optie Send Ecommerce data aan, en een Custom Event-trigger op purchase laat de tag vuren [5].

Vraag je webbouwer of platform dat de events exact de namen van Google volgen, en dat purchase pas vuurt als de bestelling geplaatst is, niet bij de klik op "Bestellen". Test elke wijziging in DebugView: in de gewone rapporten kan het tot 24 uur duren voor e-commercegegevens verschijnen [1].

Dubbele aankopen en terugbetalingen

Het transactie-ID beschermt je tegen dubbele aankopen, bijvoorbeeld als een klant de bevestigingspagina herlaadt: GA4 ontdubbelt aankopen met hetzelfde ID, maar alleen voor webstreams [3]. Stuur nooit een leeg of vast ID, want dan filtert GA4 echte bestellingen weg [3]. Hoe je dubbele of onbekende transacties opspoort, lees je in (not set), spam en dubbele aankopen in GA4 oplossen.

Een terugbetaling geef je door met refund, met hetzelfde transactie-ID en de terugbetaalde artikelen in de items-lijst [1], [5]. Aankoopopbrengst trekt terugbetalingen af, Bruto-aankoopopbrengst niet [6]. Omdat een terugbetaling meestal in de backoffice gebeurt, vraag je je webbouwer uitdrukkelijk hoe het refund-event verstuurd wordt.

Betaalpagina's als ongewenste verwijzing

Betaalt een klant op de pagina van een betaalprovider of zijn bank, dan kan GA4 zijn terugkeer zien als een nieuw bezoek vanuit dat domein. De betaalprovider krijgt dan de verkoop, niet de campagne die de klant bracht; Google noemt dit voorbeeld zelf [7]. Zet die domeinen bij de ongewenste verwijzingen in de taginstellingen van je webstream, tot 50 per stream [7].

Welke domeinen dat zijn, lees je af in je rapport Verkeersacquisitie. Test daarvoor een betaling met elke betaalmethode die je aanbiedt.

Omzet controleren en naar Google Ads sturen

GA4 en je webshop tonen nooit exact hetzelfde. De vraag is of het verschil verklaarbaar en stabiel is.

Waarom GA4-omzet en webshopomzet verschillen
OorzaakWat er gebeurtWat je doet
ToestemmingWie weigert, ontbreekt in GA4 of wordt alleen gemodelleerdAanvaarden als blijvend verschil
Definitie van valueGA4 zonder btw, je boekhouding met, of omgekeerdHetzelfde getal uit je webshop nemen
TerugbetalingenZonder refund-event blijft de volle omzet staanRefund instellen, of vergelijken met Bruto-aankoopopbrengst [6]
Onbetaalde bestellingenpurchase telt een betaling per overschrijving al voor ze betaald isVergelijken met geplaatste bestellingen
TijdGA4 volgt de tijdzone van je property, en gegevens kunnen tot 24 uur later komen [1], [8]Property op Brussel zetten, niet op de dag zelf vergelijken

Een verschil dat maand na maand even groot blijft, is meestal toestemming. Een plotse sprong na een update van je webshop, thema of banner wijst op een fout.

Om campagnes op omzet te sturen, maak je van purchase een conversie in Google Ads; conversies vanuit GA4 staan standaard op secundair [9]. Hoe je die keuze maakt, lees je in GA4 key events en conversies: het verschil uitgelegd. Voor Shopping-campagnes moet die waarde kloppen: zie Google Shopping-campagne opzetten: stappenplan voor webshops.

Twijfel je of je e-commercemeting klopt? De gratis tracking-audit kijkt na welke events vuren, welke parameters ze meegeven en of aankopen één keer tellen.

Veelgestelde vragen

Welke e-commerce-events heb ik nodig in GA4?

Minstens purchase, want dat meet je omzet. Google raadt daarnaast een reeks events aan die de weg van productlijst tot aankoop volgen, zoals view_item, add_to_cart en begin_checkout, plus refund voor terugbetalingen. Met die events zie je waar bezoekers afhaken.

Welke parameters zijn verplicht bij een aankoop?

Google vraagt bij het purchase-event een uniek transaction_id en een items-lijst waarin elk artikel een item_id of item_name heeft. Zonder value en currency krijg je geen bruikbare omzetcijfers, en wie value meegeeft, moet ook currency meegeven. Belasting en verzendkosten geef je apart door met tax en shipping.

Moet de value in GA4 inclusief btw en verzending zijn?

Google raadt aan om value gelijk te stellen aan de som van prijs maal aantal van alle artikelen, zonder verzendkosten en belasting. Die geef je apart mee in shipping en tax. Belangrijker dan de keuze zelf: gebruik dezelfde definitie in GA4, in Google Ads en in je eigen rapportage.

Waarom verschilt de omzet in GA4 van die in mijn webshop?

Omdat GA4 alleen ziet wat de browser doorstuurt. Bezoekers zonder toestemming ontbreken of worden gemodelleerd, en terugbetalingen tellen pas mee met een refund-event. Ook de definitie van value, dubbele aankopen en onbetaalde bestellingen spelen mee. Je webshop blijft de bron van waarheid.

Hoe verwerk ik terugbetalingen in GA4?

Met het refund-event, met hetzelfde transaction_id als de oorspronkelijke aankoop. Google raadt aan om de terugbetaalde artikelen mee te geven in de items-lijst, met item_id en aantal, zowel bij een volledige als bij een gedeeltelijke terugbetaling. De maatstaf Aankoopopbrengst trekt terugbetalingen af, Bruto-aankoopopbrengst niet.

Bronnen

  1. [GA4] E-commercegebeurtenissen instellen — Analytics Help, geraadpleegd op 27 sep 2026
  2. Recommended events (referentie voor ontwikkelaars) — Google for Developers, 16 sep 2026, geraadpleegd op 27 sep 2026
  3. Minimize duplicate key events with transaction IDs — Analytics Help, geraadpleegd op 27 sep 2026
  4. Fix missing revenue data — Analytics Help, geraadpleegd op 27 sep 2026
  5. Measure ecommerce — Google for Developers, 19 aug 2026, geraadpleegd op 27 sep 2026
  6. Analytics dimensions and metrics — Analytics Help, geraadpleegd op 27 sep 2026
  7. Identify unwanted referrals — Analytics Help, geraadpleegd op 27 sep 2026
  8. Set up Analytics for a website and/or app — Analytics Help, geraadpleegd op 27 sep 2026
  9. Create Google Ads conversions based on Google Analytics key events — Analytics Help, geraadpleegd op 27 sep 2026
·

Verder lezen

Kennis · Tracking & analytics

Kloppen jouw cijfers?