The Measurement Protocol answers 2xx to almost everything. A malformed event, a reserved parameter name, a value one character over the limit — the request is accepted, the data is dropped, and the report simply stays empty. Google’s validation server helps, but it reports only the first fault it finds, and in the relaxed mode that production actually uses it reports far less than that. This check reads the payload here first and lists everything at once, then shows what the validation server says about the same text in both modes.
No credentials are asked for and none are needed: the validation server checks neither measurement_id nor api_secret, so this tool sends placeholders. The payload itself is not stored — only its byte count lands in the rate counter. Events sent to the validation server never appear in any report.
Limits worth knowing: the reserved names, size caps and recommended parameters follow the published reference and can change without notice. Recommended-parameter lists are curated for the common events, so an unknown event name draws no recommendation rather than a false one. Whether a property actually collects a parameter depends on its custom dimension setup, which no payload can show.