Skip to content

Configureerbaar analytics-framework (bezoekersstatistieken) #91

Description

@MarcoKlerks

Stakeholders

  • Product Owner: Marco Klerks
  • Lead Designer:
  • Tech Lead:

Bounded Context

Uitsluitend de GPP-burgerportaal-context (Vue/TypeScript-frontend + ASP.NET Core-backend, ODBP.Server) — geen raakvlak met GPP-publicatiebank, GPP-app of GPP-Zoeken. De daadwerkelijke analytics-tool (bijv. Matomo) draait buiten GPP-Woo en wordt door de organisatie zelf gehost en beheerd.


Context

Een Beheerder wil inzicht in het bezoekgedrag van burgers op het GPP-burgerportaal, zodat dit later geanalyseerd en gepresenteerd kan worden. Vooronderzoek (GPP-burgerportaal#205) heeft drie aanpakken afgewogen: integratie van één vaste analytics-tool, een volledig maatwerksysteem, en een configureerbaar framework waarmee de organisatie zelf een tool kiest.

Overheidsorganisaties gebruiken uiteenlopende analytics-tools (o.a. Matomo, Siteimprove, Piwik PRO) met elk hun eigen bestaande contracten en voorkeuren; één vaste tool hardcoden zou organisaties met een ander contract dwingen een extra tool te beheren. Een volledig maatwerksysteem kost aanzienlijk meer ontwikkeltijd, biedt minder functionaliteit dan gespecialiseerde tools, en levert blijvende onderhoudslast op voor een probleem dat elders al is opgelost.

Het vooronderzoek adviseert daarom een configureerbaar analytics-framework, naar het patroon van Open Formulieren (een verwant overheidsproduct met een vergelijkbare analytics_tools-module).

Goal

Een Beheerder kan configureren welke analytics-tool het GPP-burgerportaal gebruikt (bijv. Matomo, Siteimprove of Plausible CE), zonder dat GPP-Woo zelf bezoekersstatistieken opslaat. Het GPP-burgerportaal zorgt dat de website blijft werken met de gekozen tool, en registreert paginaweergaven, zoekopdrachten en documentdownloads als events bij die tool. Dataopslag en -toegang zijn de verantwoordelijkheid van de gekozen tool en de organisatie, niet van GPP-Woo.

Success Metrics

  • Een Beheerder kan via de beheer-interface configureren welke analytics-tool gebruikt wordt (tool-type, URL, site-ID).
  • Het GPP-burgerportaal past de Content Security Policy dynamisch aan op basis van de geconfigureerde tool.
  • Het GPP-burgerportaal registreert paginaweergaven automatisch bij de gekozen tool (via de bestaande Router-hook).
  • Het GPP-burgerportaal registreert zoekopdrachten en documentdownloads als events bij de gekozen tool.
  • Bij oplevering worden minimaal Matomo, Siteimprove en Plausible CE als keuzeopties ondersteund.
  • Er is documentatie beschikbaar per ondersteunde tool (installatie, configuratie, en voorstel voor privacyverklaringstekst — cookieloos vs. cookies).
  • Wanneer geen analytics-tool geconfigureerd is, functioneert het GPP-burgerportaal ongewijzigd (geen tracking).
  • Op de testomgeving (https://burgerportaal.gppwoo.nl/) zijn Matomo, Siteimprove en Plausible CE beschikbaar, zodat de werking van het framework end-to-end met alle drie de tools getest kan worden.

Design Artifacts

  • Vooronderzoek bezoekersstatistieken: GPP-burgerportaal#205 (gesloten spike) — vergelijking van Matomo, Plausible CE, Umami, Piwik PRO, Siteimprove en Google Analytics 4 op open source, self-hosting, cookieloosheid en overheidsgebruik; juridische onderbouwing (AVG, Autoriteit Persoonsgegevens); en het voorgestelde patroon (naar analogie van Open Formulieren's analytics_tools-module).

Out of Scope

  • Opslag van en toegang tot de daadwerkelijke bezoekersstatistieken — verantwoordelijkheid van de gekozen analytics-tool en de organisatie die deze host, niet van GPP-Woo.
  • Een volledig maatwerk analytics-systeem binnen GPP-Woo (zie vooronderzoek: kost meer, biedt minder, blijvende onderhoudslast).
  • Cookiebanner-/consent-beheer voor tools die wél cookies gebruiken (bijv. Google Analytics) — aan de organisatie/tool, niet aan GPP-Woo.
  • Het daadwerkelijk uitrollen/hosten van de gekozen analytics-tool zelf (bijv. een Matomo-instantie) — dit doet de organisatie; GPP-Woo host geen extra containers voor analytics in de standaard-deployment.
  • Ondersteuning voor tools buiten de eerste drie (Matomo, Siteimprove, Plausible CE) — vervolgwerk, niet in deze Epic.

Risks

  • Custom event tracking (zoekopdrachten, downloads) verschilt per tool-API — hiervoor is een generieke abstractie nodig, of een implementatie per tool; dit vergroot de initiële ontwikkelinspanning.
  • Elke ondersteunde tool moet afzonderlijk getest worden; het toevoegen van een nieuwe tool ná oplevering kost naar schatting <0,5 dag, maar de eerste drie tools samen vormen een grotere initiële investering (spike schat ~6–10 dagen).
  • Piwik PRO en Siteimprove zijn niet open source en bieden geen self-hosting — ze mogen wél als keuze ondersteund worden (bestaande contracten bij organisaties), maar niet de enige of standaard optie zijn.
  • Sommige tools vereisen cookies (bijv. Google Analytics) — als deze later als optie wordt toegevoegd, is een cookiebanner/consent-mechanisme nodig; dit epic ondersteunt in eerste instantie alleen cookieloze/optioneel-cookieloze tools (Matomo, Siteimprove, Plausible CE).
  • (technisch) Dynamische CSP per tool moet zorgvuldig ontworpen worden — een verkeerd geconfigureerde CSP kan de site breken of juist trackingscripts van niet-vertrouwde bronnen toestaan.
  • Het opzetten van Matomo, Siteimprove en Plausible CE op de testomgeving is infrastructuurwerk, geen onderdeel van de GPP-burgerportaal-codebase zelf — dit moet gecoördineerd worden als randvoorwaarde voor het testen van deze Epic.
  • Siteimprove is een SaaS-tool (geen self-hosting); voor de testomgeving is een (proef)account/contract nodig in plaats van een zelf te installeren instantie — in tegenstelling tot Matomo en Plausible CE, die wél zelf gehost moeten worden op de testomgeving.

Feature Breakdown

  • Analytics-configuratiemodel en dynamische CSP per analytics-tool in GPP-burgerportaal
  • Frontend analytics-integratie: conditioneel laden van het trackingscript en automatische paginaweergave-registratie
  • Custom events voor zoekopdrachten en documentdownloads
  • Documentatie en privacyverklaring per ondersteunde tool (Matomo, Siteimprove, Plausible CE)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions