Score a scraped snippet's relevance before it reaches copy
Adds a QA gate between scraping and writing: every snippet gets a 1–5 usability score, the single best fact extracted, and a reason. Gating your first-line prompt on score 4+ is the difference between personalization built on real research and confident emails built on cookie banners.
You are a quality-control gate running inside an enrichment pipeline, positioned between research scraping and copy generation. Your job is to score whether one scraped snippet is actually usable for cold email personalization — before a writing step wastes it or, worse, builds a confident email on garbage. You are the skeptic in the pipeline: scrapes return cookie banners, 404 text, competitor pages, and boilerplate constantly, and your score is what keeps that out of prospects' inboxes.
You will be given: the scraped snippet, and the company name and domain it is supposed to be about.
Score the snippet 1–5:
- 5: Specific, current, clearly about this company, contains a fact worth referencing (a number, a named thing, a stated change).
- 4: Clearly about this company with a usable fact, but generic phrasing or unclear recency.
- 3: About this company but only boilerplate (mission statements, service lists any competitor could publish).
- 2: Ambiguous — might be about a different company, might be navigation text, partial sentences, or template content.
- 1: Unusable — error pages, cookie notices, lorem ipsum, wrong company, empty marketing filler, or non-content.
Scoring rules:
- Verify the snippet actually concerns the named company; wrong-company content caps the score at 2 regardless of quality.
- A long snippet with one great fact scores on the fact, not the padding.
- Judge only what is present. Do not imagine what the full page probably said.
OUTPUT CONTRACT — follow exactly:
Return a single JSON object:
{"score": <integer 1–5>, "best_fact": "<the single most usable fact from the snippet, under 20 words, or empty string if score is 2 or below>", "reason": "<under 15 words>"}
- Return ONLY the JSON. No markdown fences, no commentary.
- If no snippet is provided, return exactly: {"score": 1, "best_fact": "", "reason": "no snippet provided"}
- Never inflate a score to be helpful. A false 4 costs a prospect; a false 2 costs nothing.How to use it
- 1
Copy the prompt into Claude, ChatGPT, or any LLM — or into a Clay AI column.
- 2
In Clay, map three inputs: the scraped-snippet column, company name, and domain — the name and domain power the wrong-company check.
- 3
Set your writing column to run only when score is 4 or higher; route 3s to a boilerplate-tolerant generic line and 1–2s straight to fallback.
- 4
Review a weekly sample of 5s and 2s to calibrate — then feed best_fact, not the raw snippet, into your first-line prompt.
Best practices
Feed best_fact downstream instead of the raw snippet — the writer prompt gets a pre-distilled input and output quality jumps.
Track the score distribution per data source; a source averaging under 3 is costing more in wasted sends than it saves in credits.
Resist lowering the gate to 3+ to boost volume — score-3 boilerplate lines are precisely the ones prospects screenshot as AI slop.
Example: what this looks like in practice
An outbound operation scrapes 10,000 homepages for a fintech campaign, then runs this gate before line-writing. Distribution: 22% score 5, 31% score 4, 28% score 3, 19% score 1–2 — including 400 cookie-consent pages and 130 domains that now redirect to acquirers' sites, which the wrong-company rule caught at score 2. Only the 5,300 rows scoring 4+ reach the first-line prompt, fed by best_fact strings like 'processes payroll for 2,200 restaurants'. The team estimates the gate saved 1,900 would-be nonsense emails, and their spam-complaint rate on the campaign stays at zero.
Best fit
This prompt is one gear in a bigger machine. We orchestrate 35+ tools into outbound systems our clients own , and re-earn the results every month.
Book your free ICP review → →Frequently asked questions
How do I QA scraped data before using it in cold emails?
Insert a scoring gate between scraping and writing: an AI column that rates each snippet's usability on a defined 1–5 rubric, checks it's about the right company, and extracts the best fact. Then condition your writing step on the score. It costs a fraction of a credit per row and catches the failures that make AI outbound infamous.
What's the most common garbage that web scrapes return?
Cookie banners, navigation menus, 404 and 'we've moved' pages, JS-required placeholders, and — most dangerous — the wrong company entirely, via redirects, acquisitions, and parked domains. The last one is why this prompt requires the company name and domain as inputs and caps wrong-company content at score 2 no matter how good it looks.
Why extract a best_fact during scoring instead of in the writing prompt?
Separation of concerns makes both steps better. The scorer reads skeptically and distills one verified fact; the writer then works from a clean, short input instead of hunting through padding. It also gives you an auditable middle layer — when a line goes wrong, you can see whether scoring or writing failed.
More personalization at scale (clay & claygents) prompts
Generate a cold email first line from scraped research data
The workhorse of AI-personalized outbound: converts whatever research your enrichment waterfall produced into one 12–22-word observation-led first line per row. The swap-test rule and fact-invention ban are what separate lines that read researched from the AI slop prospects now delete on sight.
Turn a Claygent website scrape into a personalized one-liner
Produces a sub-25-word, website-specific opening line for every row in a Clay table — no human in the loop. The output contract forces plain text only and a NOT_FOUND fallback, so unreachable sites and thin homepages return a filterable sentinel instead of a hallucinated compliment that ends up in a prospect's inbox.
Analyze a pricing page for sales-relevant intelligence
Extracts a structured pricing profile from any pricing page: model, tier count, exact displayed prices, free-offer type, and a one-line read on their sales motion. At scale it segments prospect lists by how companies charge — which predicts budget, buying process, and which of your angles will land.