Political ads from D66, DENK, GroenLinks, PvdA, JA21, Volt, Partij voor Ontwikkeling, and Partij voor de Dieren served via Google’s ad infrastructure on at5.nl

It's Not Just Meta: Political Parties in the Netherlands Are Advertising with Google Ads Despite Ban

Last few days I talked a lot about Meta running political ads despite their ban, covered by NOS and the AD. And it’s not just here: the same problem has been found in Belgium, Denmark, and documented by Justice for Prosperity. Your question might be: is this just Meta, or why the focus on that platform?

The answer is: it’s not just Meta. Google, just like Meta, announced in 2025 that it would no longer carry political ads in the EU, in response to the Transparency and Targeting of Political Advertising regulation (TTPA, Regulation (EU) 2024900). And for all its flaws, Meta’s Ad Library at least lets you search for ad content. Google’s Ads Transparency Center only lets you search by advertiser name or outgoing link, not by content, which makes finding political ads significantly harder.

Political Ads in Google’s Own Transparency Center

Google maintains an Ads Transparency Center where anyone can look up what ads an advertiser is running. Despite Google’s ban on political advertising in the EU, we found local political parties whose ads are visible right there, in Google’s own transparency tool:

Frisse Wind 21 ads in Google's Ads Transparency Center

Frisse Wind 21 ads in Google's Ads Transparency Center

Lokaal Zaans ads in Google's Ads Transparency Center

Lokaal Zaans ads in Google's Ads Transparency Center

Leefbaar Almere ads in Google's Ads Transparency Center

Leefbaar Almere ads in Google's Ads Transparency Center

What makes it even harder to assess the scale: Google’s Transparency Center does not show reach or impression data for these ads. Click on any of them and you’ll see that this data won’t be available until sometime in April 2026, a full month after the municipal elections on 18 March. By the time anyone can check how many people saw these ads, the votes will have been counted long ago.

Google's Transparency Center shows no reach data until April 2026, a month after elections

Google's Transparency Center shows no reach data until April 2026, a month after elections

But at least these ads leave a trace. You can find them and document them using Google’s own tools.

It Gets Worse: Political Ads Served by Google with No Trace at All

While monitoring the Dutch municipal elections, we spotted something on at5.nl, Amsterdam’s local news outlet: display ads from political parties, appearing right alongside editorial election coverage. The ads carried the proper TTPA disclaimer (“Dit is een politieke reclameboodschap in het kader van de gemeenteraadsverkiezingen”). And the page itself showed “Advertentie weergegeven door Google” (Advertisement displayed by Google).

D66 political ad displayed on the at5.nl homepage, served via Google's ad infrastructure

D66 political ad displayed on the at5.nl homepage, served via Google's ad infrastructure

We built a scraper to systematically collect these ads. Over the course of several days, we captured political display ads from D66, DENK, PvdA, GroenLinks, JA21, Volt, Partij voor Ontwikkeling, and Partij voor de Dieren on at5.nl, all served through Google’s ad infrastructure:

DENK: "Voorrang voor Amsterdammers bij een betaalbare woning"

DENK: "Voorrang voor Amsterdammers bij een betaalbare woning"

D66: "Het kan wél"

D66: "Het kan wél"

PvdA: "Stem PvdA"

PvdA: "Stem PvdA"

GroenLinks: "Stem 18 maart GroenLinks Amsterdam"

GroenLinks: "Stem 18 maart GroenLinks Amsterdam"

JA21: "Amsterdam weer van ons. Stem 18 maart"

JA21: "Amsterdam weer van ons. Stem 18 maart"

PvdA: "Kies 18 maart voor Amsterdam"

PvdA: "Kies 18 maart voor Amsterdam"

Partij voor Ontwikkeling: "Amsterdam van het slot af"

Partij voor Ontwikkeling: "Amsterdam van het slot af"

Partij voor de Dieren: "Stem 18 maart"

Partij voor de Dieren: "Stem 18 maart"

Volt: "Stem 18 maart - Kies Volt"

Volt: "Stem 18 maart - Kies Volt"

Every single one of these ads carries the official politiekereclame.nl disclaimer, correctly self-identifying as political advertising for the municipal elections. And yet, when you search for these parties and their ads in Google’s Ads Transparency Center, they don’t show up. There is no public record that they ever ran. I wrote about this before when I found Israel’s Foreign Affairs Ministry running undisclosed ads on Google, and apparently the same gap still exists. For researchers, journalists, and regulators, these ads are essentially invisible until someone accidentally stumbles upon them. This seems like a terrible way to do ad transparency.

How Does This Happen and Why It Matters

Google’s enforcement apparently relies on a self-declaration system where advertisers declare whether they intend to run political ads. If they say “No,” the ads seemingly flow through unchecked, even when they use official party logos and political disclaimers. There is no indication that the system scans ad content or cross-references advertiser identities. This means that political ads end up on news sites right next to journalism about the very same elections, with no public record in Google’s transparency tools that they ever ran.

On Tuesday, Laurens Dassen (Volt) questioned the Minister of the Interior about this enforcement failure in parliament. As I wrote for Tech Policy Press, both Meta and Google shut down their old transparency tools when they introduced their bans, and the new EU-wide ad repository that is supposed to replace them won’t be operational until October 2026 at the earliest. That means these elections are happening in a transparency vacuum, where political ads are running but nobody has the tools to properly monitor them.

This research is part of our work at HEIO (University of Amsterdam/ASCoR, AI Forensics, Trollrensics, Post-X Society). We’re investigating further. More to come.

Related

comments powered by Disqus