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 20+ tools into outbound systems our clients own — and guarantee the results.
Apply for a Pilot Spot → →Frequently asked questions
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.
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.