status. Exactly one code describes a request, because the checks stop at the first failure — the first thing that was wrong names the outcome.
The codes
A form submission is never refused for missing consent. A submission is an explicit action by the visitor, and form processing rests on a different lawful basis from analytics consent.
Telling unknown_source apart
One code, several causes. Use the HTTP status and the request to distinguish them.What each one means for your page
The default messages
The script writes these into your status element:
A problem the visitor can fix gets that specific message instead — “This field is required.”, “Enter a valid email address.”, and so on.
One status that never comes from the server
The script also reportserror when the request itself failed: a network error, a timeout, or a refused origin whose response carried no readable body. That isn’t a server outcome — it means the request didn’t complete.
The pipelines
Knowing the order tells you what a code rules out. Form capturerate_limited on the event side is returned before the consent check, so a throttled request tells you nothing about consent.