Naar de inhoud

Je server-side setup debuggen en testen

Een server-side setup heeft meer bewegende delen dan een webcontainer: de browser, je subdomein, de servercontainer en de leveranciers daarachter. Als er data ontbreekt, vind je het breekpunt door één hit langs dat pad te volgen. Deze les laat de tools voor elke stap zien en de problemen die het vaakst voorkomen, met hun oplossing.

Gemiddeld 9 min lezen

Wat je leert

  • Web- en server-Preview naast elkaar draaien en lezen wat de servercontainer met elk verzoek heeft gedaan.
  • In DevTools en GA4 DebugView controleren dat hits je subdomein en GA4 bereiken.
  • De meest voorkomende oorzaken van ontbrekende server-side data herkennen en oplossen.
  • Met de tabbladen van je container in SGTM.space de statuscontroles, DNS, het verkeer en je live installatie controleren.

Voordat je begint

  • Een servercontainer die op je subdomein draait (les 2).
  • GA4 dat vanuit de webcontainer naar dat subdomein stuurt (les 3 en les 4).

01 Web- en server-Preview naast elkaar

GTM Preview werkt in beide containers tegelijk. De volgorde telt: de server-Preview moet open zijn voordat de web-Preview iets verstuurt, en beide moeten in dezelfde browser draaien.

  1. 1 Open de servercontainer in GTM en klik op Preview. Er opent een Tag Assistant-tabblad op k7q2x.example.com (daar opent het als Server container URL is ingesteld onder Admin, Container Settings van de servercontainer, zie les 2). Laat dat tabblad open.
  2. 2 Open in dezelfde browser de webcontainer en klik op Preview. Vul het adres van je website in en klik op Connect.
  3. 3 Klik door de site en activeer het event dat je wilt testen.
  4. 4 Ga naar het tabblad van de server-Preview. Elk binnenkomend verzoek verschijnt in de linkerkolom.

Selecteer een verzoek en lees het van boven naar beneden:

  • Request: het binnenkomende HTTP-verzoek en de Client die het heeft opgepakt. Een GA4-hit hoort door de GA4-client te worden opgepakt.
  • Tags: welke tags hebben gevuurd en welke niet. Een tag die niet vuurde, heeft meestal een trigger die niet matchte.
  • Outgoing HTTP requests (op het tabblad Request): wat de server naar GA4 of een andere leverancier stuurde, en welke statuscode terugkwam. Een 2xx-status betekent dat de leverancier het heeft geaccepteerd.
  • Event Data: de parameters die de client heeft uitgelezen. Controleer of je eventnaam en parameters zijn aangekomen.

02 De browser en GA4 controleren

Preview laat zien wat GTM deed. Twee extra checks bevestigen wat de browser echt verliet en wat in GA4 is aangekomen.

  1. 1 Open DevTools (F12), ga naar het tabblad Network en filter op collect.
  2. 2 Herlaad de pagina. Je hoort verzoeken naar je eigen subdomein te zien, niet naar google-analytics.com.
  3. 3 Controleer de status: 200 of 204 betekent dat je taggingserver de hit heeft geaccepteerd.
text
https://k7q2x.example.com/g/collect?v=2&tid=G-XXXXXXXXXX&en=page_view&...

Open daarna GA4 en ga naar Admin, dan Data display en DebugView. Events uit een browser in GTM Preview worden automatisch als debugverkeer gemarkeerd. Buiten Preview voeg je de parameter debug_mode met de waarde true toe aan je Google-tag om ze daar te zien. Haal hem daarna weer weg: de waarde false zet de debugmodus niet uit.

03 Veelvoorkomende problemen en hun oplossing

De meeste kapotte setups gaan op een van deze plekken mis. Loop ze op volgorde langs, van de DNS tot de leverancier.

  • DNS controleren mislukt of het subdomein resolvet niet. Het record wordt misschien nog verspreid (wacht tot een uur), de naam bevat het domein twee keer (k7q2x.example.com.example.com, omdat sommige DNS-providers het domein zelf toevoegen), of de Cloudflare-proxy staat aan. Bij Cloudflare moet het record op DNS only staan (grijze wolk), niet op de oranje wolk.
  • Verkeerde of oude Container Config. Komt de servercontainer in Preview niet overeen met de container die je in GTM bewerkt? Kopieer de Container Config opnieuw via Admin en Container Settings en zorg dat je SGTM.space-container precies die string gebruikt. Een config van een andere servercontainer stuurt je verkeer naar de verkeerde.
  • De server-Preview opent niet op je subdomein. Vul in de servercontainer onder Admin, Container Settings https://k7q2x.example.com in als Server container URL en sla op.
  • Hits gaan nog steeds naar google-analytics.com. De parameter server_container_url ontbreekt in de Google-tag, bevat een typfout, of de webcontainer is niet gepubliceerd nadat je hem toevoegde. Zie les 3.
  • Het werkt in Preview, maar niet voor echte bezoekers. De servercontainer is nooit gepubliceerd. Preview gebruikt je workspace, live verkeer gebruikt de gepubliceerde versie. Klik in de servercontainer op Submit en Publish.
  • Verzoeken komen binnen, maar er bereikt niets GA4. De servercontainer heeft geen GA4-tag, of de trigger ervan matcht niet. Voeg een Google Analytics: GA4-tag toe met als trigger Client Name equals GA4, zoals in les 4.
  • Bij sommige bezoekers ontbreken hits. Adblockers kunnen verzoeken nog steeds tegenhouden, en met Consent Mode vuren tags misschien niet of sturen ze alleen cookieloze pings tot de bezoeker akkoord geeft. Zie les 6 en les 8.
  • Alle verzoeken worden ineens geweigerd (HTTP 429). De container heeft de maandelijkse verzoeken van zijn abonnement opgebruikt en extra gebruik staat uit of is op. Verzoeken worden geweigerd tot je van abonnement wisselt, extra gebruik aanzet op het tabblad Abonnement of de factuurperiode opnieuw begint. Met Better Loader laadt dan ook GTM zelf niet meer.

04 De containertabbladen in SGTM.space gebruiken

Elke container in SGTM.space heeft tabbladen die de vragen beantwoorden waar GTM geen antwoord op heeft.

  • Overzicht: de containerstatus en de Statuscontroles (DNS, Loader-DNS, Container, Loaderscript). Begin hier als er helemaal niets binnenkomt.
  • DNS: de records die je moet toevoegen en hun status. Gebruik DNS controleren na elke wijziging.
  • Analytics: het aantal verzoeken per dag vanaf pagina's van je site, waarschijnlijke bots (al geteld voordat Bot Filtering aanstaat) en, in de modus Blokkeren, geblokkeerde bots. Een plotselinge daling naar nul wijst op een kapotte installatie of een DNS-wijziging, niet op GA4.
  • Abonnement: je abonnement en hoeveel van de maandelijkse verzoeken de container heeft gebruikt. Hier zet je ook extra gebruik aan.
  • Add-ons: elke add-on is een kaart met Aanzetten, en zodra hij aanstaat, opent Instellingen op de kaart de instellingenpagina. Een daarvan, Preview Mode, stuurt passende verzoeken van webhooks, een CRM of je backend 60 minuten lang door naar je open server-Preview.

Preview Mode helpt als de verzoeken niet uit je browser komen en de normale Preview-cookie dus ontbreekt.

  1. 1 Open Preview in de servercontainer. Kies in het menu rechtsboven Send requests manually en kopieer de waarde van de header X-Gtm-Server-Preview.
  2. 2 Open in SGTM.space Add-ons, klik op Instellingen op de kaart Preview Mode en plak de token.
  3. 3 Stel eventueel een padprefix (bijvoorbeeld /webhooks) en een bron-IP in, zodat alleen die verzoeken worden doorgestuurd.
  4. 4 Klik op Opslaan en 60 minuten starten en activeer de webhook of backendcall. Die verschijnt in je Preview-sessie.

05 Een korte testchecklist

  • https://k7q2x.example.com/healthy geeft 200 terug en de container staat op Klaar in Overzicht.
  • DevTools toont collect-verzoeken naar je subdomein met status 200 of 204.
  • De server-Preview toont dat de GA4-client het verzoek heeft opgepakt.
  • De GA4-tag heeft gevuurd en zijn uitgaande verzoek kreeg een 2xx-status.
  • Het event verschijnt in GA4 DebugView.
  • Beide containers zijn gepubliceerd.

Veelgestelde vragen

Waarom is de server-Preview leeg terwijl de web-Preview events toont?

Of de hits gaan niet naar je subdomein (controleer server_container_url en het tabblad Network), of de server-Preview is in een andere browser of na de web-Preview geopend. Open eerst de server-Preview en start daarna de web-Preview in dezelfde browser.

Kan ik verzoeken van mijn backend of een webhook debuggen?

Ja. Kopieer de token X-Gtm-Server-Preview via Send requests manually in de server-Preview en plak hem in Preview Mode in SGTM.space (open Add-ons en klik op Instellingen op de kaart Preview Mode). Passende verzoeken verschijnen 60 minuten lang in je Preview-sessie.

GA4 toont minder events dan het tabblad Analytics. Gaat er data verloren?

Niet per se. Het tabblad Analytics telt verzoeken vanaf pagina's van je site (webhook- en backendcalls zitten er niet in), inclusief scriptloads, bots en events die geen tag doorstuurt. Hij toont ook waarschijnlijke bots, al voordat Bot Filtering aanstaat, en geblokkeerde bots in de modus Blokkeren. Vergelijk liever één event in Preview en DebugView dan de totalen.

Klaar om het in de praktijk te brengen?

Rol in een paar minuten een GTM-servercontainer uit op je eigen domein. Voor het Gratis-abonnement heb je geen creditcard nodig.

Gratis account aanmaken