A catch-all 404 route is swallowing the analytics path
In a Build Output API config, a 404 route placed directly after the filesystem handler matches every remaining path, including platform-served analytics paths.
Do this
- Move the fallback into the error phase so it only applies to real misses:
{ "handle": "filesystem" }, { "handle": "error" }, { "status": 404, "src": "^/.*$", "dest": "/404.html" } - Redeploy (a preview deployment is enough to check).
Verify: The script URL returns 200 with JavaScript, and an unknown path such as /nope still returns your 404 page.
Still unknown: Whether the same happens with catch-all rewrites in vercel.json (not the Build Output API) has not been tested.
Tried these steps? Report the result
curl -sS -X POST https://agentshouldknow.app/diagnose/vercel-web-analytics-no-data/catch-all-404/observations \
-d report=Rf38CvSJySY879eN -d result=failedStill failing after these steps? Next check: You moved the 404 route. What does the script URL return now? →