Every bad lead-vendor relationship has the same root cause: "qualified" was never defined tightly enough to check. Vague definitions guarantee disputes; checkable ones prevent them. Here is the template — copy it, fill it in, and put it in front of any vendor (or any tool) before money moves.
The template
QUALIFIED LEAD — acceptance criteria 1. ROLE: title matches one of [VP Engineering, Head of Engineering, CTO] (synonyms count; adjacent roles like "Director of IT" do NOT) 2. COMPANY: industry = [B2B SaaS]; headcount [50–500]; geo [US/Canada] 3. EXCLUSIONS: not on suppression list (customers, open opps, past opt-outs, competitors); not at a company already in our CRM 4. CONTACT: business email verified deliverable — not catch-all, not disposable, not a role address (info@/sales@) unless agreed 5. DEDUP: not a duplicate of any previously delivered lead (by email AND by person+company) 6. EVIDENCE: each lead ships with the checks it passed and their sources 7. BILLING: a lead failing ANY check above is not billable. Period.
Why each clause matters
Role synonyms are where most padding happens — name the titles that don't count. Suppression protects relationships you already have (emailing a current customer "cold" is the most expensive $10 you'll ever spend). Catch-all detection matters because a catch-all domain accepts every address — "verified" means nothing there without stronger signals. Dedup by person AND email blocks the same human arriving twice via different addresses. Evidence per lead converts arguments into lookups.
Making it enforceable
A template in a contract is good; a template in code is better. This list is literally the acceptance gate Forward runs before any charge fires — you set the values in the brief, every delivered lead carries its evidence, and a failed check means the lead never bills. However you buy leads, don't accept "trust us" where a checklist could live. Related: what a qualified lead costs in 2026.