A second sample, because the first frame was wrong
The Tranco sample above is dominated by news, banking, government and infrastructure — not the businesses that actually run chat widgets. We said so in the limitations, then went and tested it: 180 independent EU online shops, every domain DNS-verified before scanning, 135 readable.
| Measure | Tranco EU sample | EU online shops |
| Runs a chat or AI widget | 4.9% | 24.4% |
| Of those, no AI-disclosure wording | 92.3% | 97.0% |
| Machine-readable AI content marking | 0.4% | 0.7% |
| Readable sample size | 532 | 135 |
Widget density is five times higher among online shops, and the disclosure gap is worse, not better — 97% of shops with a widget showed nothing. The earlier 4.9% figure was a property of the sampling frame, not of the web.
One vendor dominates
| Vendor | Shops |
|---|
| Gorgias | 16 |
| Freshchat / Freshworks | 4 |
| HubSpot Chat | 3 |
| Salesforce Embedded Service / Agentforce | 3 |
| Zendesk / Zopim | 2 |
| Google Dialogflow | 1 |
| Tidio | 1 |
| Olark | 1 |
Gorgias accounts for roughly half of every widget we found on these shops. It is Shopify-native and ships an AI Agent that resolves tickets autonomously, which puts a large, concentrated population of merchants squarely inside Article 50(1) — most of them, on this evidence, without a disclosure.
Sample construction: candidate shops were compiled from public retail directories and country e-commerce listings, then every domain was DNS-checked and 32 unverifiable entries discarded before scanning. This frame is curated rather than probabilistic, so treat it as indicative of online retail, not as a random sample of it.