Technical audit · 2026-06-16

nwo.nl

Website of the Dutch Research Council

Nwo.nl is the website of the Dutch Research Council, the country's principal science-funding body. Homepage scan: 50 requests, 10 domains. The site has its own consent-collection mechanism installed, and the current generation of Google Analytics is configured correctly — it sends a request with a 'consent not given' signal. But alongside it, a legacy generation of Google Analytics runs, sending a request with the opposite signal — 'analytics granted' — as though consent had already been obtained. In other words, one of the two analytics streams goes out marked 'granted' before the user's choice. Private cookieless analytics and an accessibility text-to-speech tool are not part of this concern.

Timeline of the leak

687 ms · own consent banner
The site's own consent-collection mechanism loads. Anything that fires with a granted status before the choice occurs before consent.
1713 ms · legacy Google Analytics loads
The legacy generation of Google Analytics loads. This version has long been discontinued, but continues running here.
1718 ms · private analytics
Siteimprove private analytics loads, running without cookies. This part is set up in a restrained manner.
2355 ms · current Google Analytics in 'no consent' mode
The current generation of Google Analytics sends a request with a 'consent not given' signal. This is correct behavior.
3404 ms · legacy Google Analytics with a 'granted' signal
The legacy generation of Google Analytics sends a request with an 'analytics granted' signal — as though consent had been obtained. This contradicts both the absence of consent and the current generation's behavior.
consent inconsistent between the two streams
The site's own consent banner is present. Current analytics is declined, but legacy analytics is sent as granted before the user's choice. No cookies were set via headers during the session.

Declared versus actual

Google Analytics — заявлен
Siteimprove — заявлен

Detected trackers

Indicators of GDPR non-compliance

Context

www.nwo.nl is the website of the Dutch Research Council (NWO), the country’s principal state science-funding body: grants, programs, research news. The data controller is NWO. The site is informational.

Scan: 50 requests to 10 domains, homepage, captured in a clean Edge browser without a VPN or ad blocker. The site has its own consent-collection mechanism installed. The analytics stack includes two generations of Google Analytics and private analytics.

Who receives the data

Google Analytics was observed here.

Google Analytics is present in two generations. The current one sends a request with a “consent not given” signal, while the legacy one sends a request with an “analytics granted” signal. Additionally, private cookieless analytics and an accessibility text-to-speech tool run. The scan contains no advertising networks and no social media pixels.

Yes, the site has its own consent-collection mechanism installed. And the current generation of Google Analytics is configured correctly — it stays in “consent not given” mode. But the legacy generation is sent with the opposite signal, “analytics granted,” as though consent had already been obtained. In a clean session without any user choice, this inconsistency means one of the analytics streams goes out marked as granted before consent.

Before consent, the following fire:

  • legacy Google Analytics — with an “analytics granted” signal;
  • current Google Analytics — with a “consent not given” signal (correct);
  • Siteimprove private analytics — without cookies.

Private analytics and the “no consent” mode for the current generation are not a concern here. The key issue is the legacy generation of analytics: it is sent as granted before the user’s choice.

Conclusion

Nwo.nl is a moderate case with inconsistent consent configuration. The current generation of Google Analytics stays in “consent not given” mode, private analytics is anonymized and cookieless, and there is no advertising — this works in the site’s favor. But the legacy generation of Google Analytics, long discontinued, is sent with an “analytics granted” signal before the user’s choice. The key takeaway for the reader: when two analytics streams on the same site send opposite consent signals, that is itself a configuration error — the legacy stream should either be removed or brought into the same consent-pending mode as the current one. It would be enough to remove the legacy analytics and keep the correctly configured current one.

Evidence
Original (audit)
HAR file: nl/nwo-nl-2026-06-16.har
SHA-256: 11837b21431c437708037dadd0155feae138f3509e4f35e680aa6310e636e0a1
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.
IMPORTANT: before filing a complaint with the regulator, first contact the company directly and give it 30 days to respond. Without this step the regulator may reject the complaint. Details and a template letter to the company are in the Methodology.
Ready-to-send complaint letter

Where to file: Dutch Data Protection Authority (AP)autoriteitpersoonsgegevens.nl

To: Dutch Data Protection Authority (AP)
From: [Your name], [contact email]

1. Subject of the complaint
I am filing a complaint regarding the processing of my personal data by the website nwo.nl.

2. Circumstances
I visited the website nwo.nl and found indications that the processing of my personal data does not comply with the GDPR. The technical analysis published on gdpru.eu on 16 June 2026 (open methodology, reproducible measurements) documents the following indications:

1) The site has its own consent-collection mechanism installed, and the current generation of Google Analytics is configured correctly: it sends a request with a 'consent not given' signal. But alongside it, a second, legacy generation of Google Analytics is running, and it sends a request with the opposite signal — 'analytics granted' — as though consent had already been obtained. In a clean session without any user choice, this means one of the two Google Analytics streams goes out marked 'granted' before consent. There is a clear inconsistency: the current generation is declined, while the legacy one is sent as granted. Analytics is a non-technical purpose requiring consent; sending it with a granted status before the user's choice contradicts this requirement. It's worth separately noting that this generation of analytics has long been discontinued, yet continues running on the site. Siteimprove's private analytics, which runs without cookies, is not part of this concern.

Full technical documentation is published at: https://gdpru.eu/en/audits/nl-nwo-nl/

3. Provisions violated
Art. 6(1)(a) GDPR and art. 11.7a Telecommunicatiewet — legacy Google Analytics sends data with an 'analytics granted' signal before consent

4. Request
I request that you investigate the violations described and apply the measures provided for in Article 58(2) GDPR.

5. Attachments
The full evidence base — the HAR file, its SHA-256 checksum and the quotation from the site's privacy policy documenting the stated contradiction — is published and verifiable at the link in point 2 above.

[Date]                                    [Signature / name]