When are custom thresholds worth it for Tracking parameters intact?
When are custom thresholds warranted?
Turn on `enforceGa4Channels` when GA4 really is your analytics and you want every value judged by where Google will actually file it — measured over a large marketing corpus, 9.7% of tagged links land outside the Email channel, concentrated in house conventions rather than scattered typos. Set `allowedUtmSources` and `allowedUtmMediums` when you have a documented taxonomy, and `allowedCustomUtmParams` when you deliberately ship `utm_`-prefixed names outside Google's nine. Set `trackedLinkDomains` when you want the strictness layer scoped to the domains you actually own.
When should you stay on Standard?
Leave `enforceGa4Channels` off if you use Matomo, Plausible, Fathom, Umami or anything else that reports the value verbatim, because those tools have no channel taxonomy and your tagging is correct as written. Keep the taxonomy lists empty until your scheme is genuinely documented — a list invented during an audit will fail correct links and be relaxed within a week. Note that declaring `allowedUtmMediums` also switches the GA4 rules off, on the reasoning that whoever wrote down their approved mediums knows which tool they run.
What do you trade away?
Enforcing GA4 channels imports another vendor's opinion into your verdicts, and its precedence rules are unpublished — the classifier returns the set of matching definitions and never predicts a winner, and the four channels whose rules test against site lists Google does not publish are declared unevaluable rather than guessed. Setting `trackedLinkDomains` enables fetching, which registers clicks on those domains and can pollute your own analytics if you point it carelessly. Taxonomy lists are maintenance: each addition is a value the check will never question again, and a stale list fails a legitimate new campaign type.
Community Standard vs org Custom
The zero-config behaviour is deliberately vendor-neutral, because there is no standard for UTM — the parameters predate the company whose rules are most often quoted about them. Enabling GA4 enforcement is a statement about your analytics stack and should be recorded as such, so a later reader knows why a value was failed. The privacy checks are not configurable in the same way and should not be treated as taxonomy: they are link-integrity rules that apply to every parameter, and a finding there belongs to whoever owns data protection rather than to campaign operations.
Worked override examples
A GA4 shop with a documented scheme sets `enforceGa4Channels` to `true` and `allowedUtmMediums` to `["email"]`, narrowing an already-enforced field to the single value its taxonomy permits. A Matomo user leaves GA4 enforcement off and sets `allowedUtmSources` to its own source list, getting taxonomy enforcement without importing channel rules its analytics never applies. A sender shipping deliberate house parameters sets `allowedCustomUtmParams` to those names, so its intentional scheme stops being reported while genuinely unrecognised parameters still are.
How does an agent call it with parameters?
{
"type": "email",
"validations": [
{
"id": "email-tracking-integrity",
"parameters": {
"trackedLinkDomains": [],
"requiredTrackingParams": [],
"requiredUtmMedium": "",
"requiredLinkPattern": "",
"requiredTrackingPixelPattern": "",
"enforceGa4Channels": false,
"allowedCustomUtmParams": [],
"allowedUtmSources": [],
"allowedUtmMediums": []
}
}
]
}