Commerce-tracking
Commerce-tracking
Section titled “Commerce-tracking”MetriXs volgt commerce voor elke site hetzelfde, of u nu Shopify, een zelfgebouwde storefront of een server-side checkout gebruikt. Er zijn geen commerce-specifieke kolommen: commerce is gewoon een set aangepaste events met een paar afgesproken eigenschapsnamen. Als u commerce op een site inschakelt, toont het dashboard Omzet, gemiddelde orderwaarde (AOV), conversieratio, een checkout-trechter en een top-producten-uitsplitsing, allemaal aangedreven door die events.
Commerce op een site inschakelen
Section titled “Commerce op een site inschakelen”- Ga naar Instellingen → Sites in het dashboard.
- Zoek uw site en schakel Commerce naar Aan.
- Kies optioneel een weergavemunteenheid (standaard EUR; zie hieronder).
Shopify-sites hebben commerce standaard aan (de MetriXs-webpixel vuurt de events voor u); de schakelaar en munteenheid zijn er nog steeds als u commerce wilt uitschakelen of de weergavemunteenheid wilt wijzigen. Andere sites schakelen het hier in en vuren de events zelf. Een kopieer-plak event-snippet verschijnt op de Installeren & verifiëren-pagina van de site zodra commerce aan is.
Het event-schema
Section titled “Het event-schema”Drie aangepaste events vormen de commerce-trechter. Stuur ze vanuit uw checkout in deze volgorde:
| Event-naam | Wanneer afvuren | Vereiste props |
|---|---|---|
checkout_started |
Bezoeker betreedt checkout | total, currency |
payment_submitted |
Betalingsgegevens ingediend | (geen) |
order_completed |
Bestelling is geplaatst (bedankpagina / bevestiging) | total, currency |
Voor order_completed kunt u ook een items-eigenschap met de per-product uitsplitsing sturen, zodat het Top producten-panel omzet per product kan uitsplitsen.
Eigenschapsnamen
Section titled “Eigenschapsnamen”total(number), het order-/winkelwagentotaal.currency(string, ISO 4217, bijv.EUR,USD,GBP), de munteenheid waarintotalis. MetriXs converteert het naar EUR (zie hieronder).items(string), een JSON-gecodeerde array van{ title, quantity, price }(een object per regelitem).order_id(string, optioneel), uw interne order-ID, ter referentie.
Omzet wordt in EUR opgeslagen
Section titled “Omzet wordt in EUR opgeslagen”MetriXs slaat alle omzet op in EUR. Als een commerce-event binnenkomt met een niet-EUR currency, converteert de ingestion-pipeline total (en elke item price) naar EUR met dagelijkse ECB-referentiekoersen voor opslag, en registreert de oorspronkelijke munteenheid als currency_original. De opgeslagen total is dus altijd EUR, zodat omzet en AOV consistent zijn, ook voor multi-munteenheid-winkels.
- Als u
currencyweglaat, neemt MetriXs aan dat het bedrag al EUR is (geen conversie). - Onbekende munteenheden worden als-is gelaten (behandeld als EUR) zodat een typefout nooit stilletjes uw omzet op nul zet.
- De koersen zijn de dagelijkse ECB-referentiekoersen, automatisch elke dag ververst (een cron haalt de officiële ECB-feed op en cachet de koersen in Redis). Als de fetch faalt of de cache koud is, valt MetriXs terug op een statische referentietabel in het image, zodat EUR-normalisatie nooit breekt bij een upstream-storing. Referentiekoersen zijn geen live handelskoersen.
Weergavemunteenheid
Section titled “Weergavemunteenheid”Terwijl omzet in EUR wordt opgeslagen, kunt u per site een andere weergave-munteenheid kiezen. MetriXs converteert de in-EUR-opgeslagen bedragen naar uw weergavemunteenheid in het dashboard met dezelfde dagelijkse ECB-koersen, zodat Omzet, AOV, het omzetdiagram, de trechter, Top producten en de omzetkolom in de Bronnen-/Locaties-/Apparaten-panels allemaal in uw gekozen munteenheid worden getoond.
- Standaard: EUR (geen conversie).
- Stel het per site in onder Instellingen → Sites naast de commerce-schakelaar. De lijst dekt de gangbare munteenheden (USD, GBP, CHF, SEK, NOK, DKK, PLN, CZK, CAD, AUD, JPY, INR, CNY, BRL en meer).
- Dit is een weergave-instelling; het verandert niet wat wordt opgeslagen of hoe u events stuurt. Stuur altijd
currencyop het event voor een accurate EUR-conversie.
Events afvuren vanuit een browser-checkout
Section titled “Events afvuren vanuit een browser-checkout”Nadat het tracker-script is geinstalleerd, is de globale window.metrixs(name, { props })-functie beschikbaar. Vuurt de events af vanuit uw checkout-flow:
// bezoeker betreedt checkoutwindow.metrixs('checkout_started', { props: { total: 49.99, currency: 'EUR' } })
// betalingsgegevens ingediendwindow.metrixs('payment_submitted', { props: {} })
// bestelling geplaatstwindow.metrixs('order_completed', { props: { total: 49.99, currency: 'EUR', items: JSON.stringify([ { title: 'T-shirt', quantity: 2, price: 24.99 }, ]), },})Gebruik keepalive: true (of een navigator.sendBeacon-fallback) op de order_completed-aanroep als uw bedankpagina snel lost.
Events server-side afvuren (na een betalings-webhook)
Section titled “Events server-side afvuren (na een betalings-webhook)”Op redirect gebaseerde checkouts (Stripe, Mollie, iDEAL, etc.) bereiken vaak nooit betrouwbaar een browser “bedank”-status. In dat geval, stuur order_completed vanuit uw backend nadat de webhook van de betalingsprovider de bestelling bevestigt.
- Ga in het dashboard naar Instellingen → Sites, vouw API-sleutels onder de site uit, en maak een site-begrensde sleutel aan. Kopieer deze direct (hij wordt eenmaal getoond).
POSTnaar/api/eventmet de sleutel alsBearer-token. De body is JSON. Let op datitemseen JSON-gecodeerde string is (een array geserialiseerd naar een string), omdat MetriXs alle event-props als strings opslaat:
{ "n": "order_completed", "u": "https://yourdomain.com/thanks", "d": "yourdomain.com", "p": { "total": 49.99, "currency": "EUR", "items": "[{\"title\":\"T-shirt\",\"quantity\":2,\"price\":24.99}]" }}Equivalente curl:
curl -X POST https://app.metrixs.eu/api/event \ -H "Authorization: Bearer mtx_live_yourapikey" \ -H "Content-Type: text/plain" \ -d '{"n":"order_completed","u":"https://yourdomain.com/thanks","d":"yourdomain.com","p":{"total":49.99,"currency":"EUR","items":"[{\"title\":\"T-shirt\",\"quantity\":2,\"price\":24.99}]"}}'Vereisten voor het server-side pad:
- De API-sleutel moet site-begrensd zijn tot de site die het event stuurt (het
d-domein). De API weigert het verzoek als de site van de sleutel niet overeenkomt metd. u(pagina-URL) end(domein) zijn vereist en moeten overeenkomen met een geverifieerde site op uw account.Content-Typeistext/plain(vermijdt een CORS-preflight op het browser-pad; de API parst de body als JSON ongeacht).- Het browser-botdetectie-token wordt overgeslagen voor API-sleutel-geauthenticeerde verzoeken, omdat een server geen browser-fingerprint kan produceren en de sleutel al bewijst dat de beller de backend van de site-eigenaar is.
- Dezelfde per-IP snelheidsbeperking als het browser-pad is nog steeds van toepassing.
Wat u in het dashboard krijgt
Section titled “Wat u in het dashboard krijgt”Zodra commerce aan is en events stromen, toont het dashboard van de site:
- Omzet, som van
totaloporder_completed-events (getoond in uw weergavemunteenheid; opgeslagen in EUR). - AOV, omzet / aantal
order_completed-events. - Conv. rate,
order_completed-aantal / unieke bezoekers × 100. - Conversietrechter, bezoekers →
checkout_started→payment_submitted→order_completed. - Top producten, omzet en hoeveelheid per producttitel (uit
items). - Omzet per bron / locatie / apparaat, de Omzet-kolom verschijnt ook in deze panels, zodat u omzet aan een campagne of kanaal kunt toewijzen.
Migratie van Google Analytics 4
Section titled “Migratie van Google Analytics 4”Als u al GA4 e-commerce-events via de dataLayer afvuurt, zijn de eigenschapsvormen vergelijkbaar maar de event-namen verschillen. De minimale mapping:
| GA4-event | MetriXs-event |
|---|---|
begin_checkout |
checkout_started |
add_payment_info |
payment_submitted |
purchase |
order_completed |
De items-array gebruikt { title, quantity, price } in plaats van GA4’s { item_name, quantity, price }, dus hernoem item_name naar title als u uw bestaande dataLayer-push aanpast.