Ga naar hoofdinhoud
← Alle docs

Real-user monitoring snippet

Dun JS-snippet dat silent errors en tracking-breakage op je klant-site detecteert. Installatie in 5 minuten.

5 min · Bijgewerkt april 2026

Server-side audits vangen config-fouten. Scanner detecteert structurele issues. Maar wat je mist: silent errors in het echte browser-gedrag. Een JavaScript-error die alleen op Safari iOS triggert. Een race-condition die bij 1 op de 50 page-loads de dataLayer te laat vult. Een adblocker die een vendor-script stript.

De RUM-snippet detecteert dit soort issues door in de browser zelf te luisteren. Klein (~4KB gzipped), async, geen render-blocking.

Wat detecteert het?

  • JavaScript errors — window.onerror + unhandledrejection listener, gefilterd op domein (eigen site) vs third-party noise
  • Tracking-script loads — gtag, fbq, ttq gedetecteerd of niet — alert bij load-failure (adblocker, CDN-issue, typo in snippet)
  • dataLayer mutations — key events (purchase, generate_lead) detecteert + beacon-send naar SignumCore
  • Consent-state transitions — vergelijking TCF-string vs Google Consent Mode v2 signals — mismatch = alert
  • Performance anomalies — LCP > 4s of FCP > 2s worden gelogd met context (browser, device, page-type)

Wat detecteert het NIET

  • Server-side tracking kwaliteit — dat is de server-audit-scope
  • Individuele user-sessies — we sturen geen session recordings (gebruik Hotjar/Clarity als je dat wilt)
  • Persoonsgegevens — error-payloads worden PII-stripped voor versturen

Installatie

  1. Dashboard → klant → MonitoringRUM snippet. Kopieer de 4-regel snippet met jouw client-ID.
  2. Plak in <head> van je klant-site, vóór de GTM-snippet.
  3. Deploy de template-change op de klant-site (Shopify: via theme.liquid; WordPress: via header hook; custom: via je CI).
  4. Dashboard ziet de eerste beacon binnen 2 minuten. Check Last seen timestamp op Monitoring-tab.
<!-- SignumCore RUM snippet — plaats in <head> -->
<script async src="https://rum.signumcore.io/v1/r.js"></script>
<script>
  window.__sc_rum = { clientId: 'sc_c_xxxxxxxx' };
</script>
Voor klanten op Shopify Plus of enterprise-SaaS waar theme-edits lastig zijn: gebruik GTM zelf om de snippet in te schieten via een Custom HTML tag op "All Pages". Net iets later (~50ms extra) maar geen theme-change nodig.

Wat ziet SignumCore?

Beacons worden samengevat in 3 dashboards:

  • Error-rate — JS errors per 1000 sessies. Baseline 0.5-2%. Bij >5% = alert.
  • Tracking-completeness — % sessies waar alle verwachte vendors detecteerd zijn. <85% = adblock-issue onderzoeken.
  • Consent-congruence — TCF-signal matcht Google Consent Mode? <95% = CMP-bug.

Performance-impact

De snippet is async-geladen dus blokkeert nooit initial render. Metingen op gemiddelde Shopify-site: +3-8ms toegevoegd aan DOMContentLoaded, 0ms toegevoegd aan LCP. Network: 1 kleine POST per page-view (gemiddeld 400 bytes gzipped).

We respecteren Do-Not-Track headers. Bezoekers met DNT actief worden niet getrackt — geen beacons, geen data. Dat is ~5% van EU-traffic, maar die 5% wil expliciet niet gemeten worden.

Verwijderen

Gewoon het snippet uit de <head> halen. Monitoring-tab ziet Last seen niet meer updaten na ~10 minuten. Oude beacon-data blijft 90 dagen bewaard voor trends, daarna auto-verwijderd.

Als er geen beacons binnenkomen

  1. Open klant-site in Chrome DevTools → Network → filter "rum". Zie je POST-requests naar rum.signumcore.io?
  2. Geen requests? Check snippet-plaatsing — ligt __sc_rum object vóór de script-src?
  3. Requests maar 4xx? Check clientId — typo's gebeuren.
  4. Requests 200 maar niks in dashboard? Firewall of CSP van de klant blokt misschien outbound. Check Content-Security-Policy headers — voeg rum.signumcore.io toe aan connect-src.
Feedback op deze tutorial? support@signumcore.io