When should you use No unfilled merge tags?
email-no-placeholder-text · functional · required
When should you use this check?
Run this on every personalised send, and treat it as mandatory on cold outreach, where one unresolved `{{firstName}}` destroys the premise of the entire message. It reads the delivered message, which is the only place the answer exists — a preview populates from test data and will happily show a name that a real recipient's record does not have. It is a source-level check with no model call, so there is no reason to leave it out of a set.
When should you not?
Skip it on mail that legitimately shows token-like syntax as content: developer documentation sent by email, a release note quoting template code, an internal message about the templates themselves. It is also not a check on whether the personalisation is *correct* — a tag that resolved to the wrong person's name passes, because the token is gone and nothing in the source says the value was wrong. That failure needs data review, not pattern matching.
What does it inspect?
Scan subject, first 200 chars of text/plain (preheader proxy), and HTML body text against placeholderPatterns.
What does a failure mean?
A failure means unresolved token syntax or template filler is in the delivered message, and it quotes what it found. This is among the most visible email failures there is, because a recipient reads it instantly as automation that went wrong. The cause is usually a data gap rather than a template error — the field exists in the template and is empty or unmapped for that segment — so the finding points at your list as often as at your HTML.
What are the Standard defaults — and why?
One parameter carries the check: `placeholderPatterns`, a list of regular expressions. Its Standard default covers the four common ESP token styles — double braces, double percent signs, asterisk-pipe delimiters — plus `lorem ipsum` and the specific bracketed merge fields `[FIRST NAME]`, `[LAST NAME]`, `[COMPANY]` and `[DATE]`. Those bracketed entries are specific for a measured reason: a generic bracket pattern flagged ordinary subject tags such as `[Webinar Today]` and `[Video]` across thousands of real emails, so the named fields carry the check instead.
How does an agent call it?
{
"type": "email",
"validations": [
"email-no-placeholder-text"
]
}
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