When should you use Every link goes where it should?
email-link-integrity · functional · recommended
When should you use this check?
Run this on every send that contains links, because a dead link in a send cannot be recalled — the mail is already in the inbox and the traffic you paid for lands on a 404. Every link gets clicked by machine before a human clicks it, redirects and all, which is the only way to know a shortener or tracking wrapper still resolves. It is especially worth running when landing pages have been moved or retired, since that is how a campaign built from a proven template starts pointing at nothing.
When should you not?
Be deliberate about running it on mail whose links act on an account. Unsubscribe and account-action links are never fetched by default, precisely because in real transactional email most messages carry a link that acts the moment something requests it — a confirmation, a cancellation, a one-click opt-out. It is also not a page-quality check: a link that resolves to a live page passes even if the page is the wrong one, and a wall that blocks bots never fails a link, so a failure means broken for everyone rather than merely awkward for us.
What does it inspect?
Every link in the email must parse as a valid absolute URL with a legitimate scheme, resolve over HTTP (redirect chains followed and recorded), and land on an approved destination when a domain list is configured. Bot-protected links are reported unverifiable, never failed. See docs/EMAIL-LINK-INTEGRITY.md.
What does a failure mean?
A failure means a link did not behave: it resolved to an error, exceeded the redirect limit, used a scheme you did not allow, or landed outside your approved destinations. The first two are functional defects with immediate revenue cost on any campaign driving clicks. A destination outside your list is a policy finding instead — the link may work perfectly and still be sending your recipients somewhere you did not intend, which is how tracking-domain and agency misconfigurations surface.
What are the Standard defaults — and why?
Four parameters carry the check. `approvedLinkDomains` is empty by default, meaning no destination restriction while broken-link checking always runs. `allowedSchemes` defaults to `https`, `http`, `mailto` and `tel` — the four a marketing email legitimately uses. `maxRedirectHops` defaults to `20`, which is the Fetch specification's cap, so beyond it no browser follows either. `fetchAccountActionLinks` defaults to `false`, because the safe reading must be the one you get by saying nothing.
How does an agent call it?
{
"type": "email",
"validations": [
"email-link-integrity"
]
}
Who governs the Standard?
Schemafirst.org publishes community-governed standards for digital QA. ArbiterQA is a sponsor and commercial licensee of those standards; citation does not mean Schemafirst operates ArbiterQA.
Author ArbiterQA · Reviewed by ArbiterQA · 2026-08-14