Scoring 3,544 DACH companies without turning a cold campaign into an embarrassment — our lead pipeline in detail
'Dear Ms/Mr Auto' is the email greeting you get for Car Den KFZ Repair when you trust free-mail domains as a name source. On a few thousand sends, that's fatal. So we built a 4-layer filter pipeline that turns a self-crawled DACH raw list into 3,544 verified, mobile-unfriendly companies — clean enough for automated sending.
Our cold launch on July 14 targets DACH SMBs with non-mobile-friendly websites. Target list: 3,544 companies with verified websites, clean names, correct salutations, and a score that tells us which 500 to address first. Before the first email went out, the set needed three iterations — each one exposed a failure mode that would have been invisible at 5 prospects and fatal at 3,544.
This post describes the 4 filter layers, why each exists, and what we were thinking.
Layer 1: tech detection instead of "all DE companies"
Simplest filter would be "give me all DE companies in industry X". Result would be 60–70 % unaddressable, because many already have a modern website and our offer is irrelevant. We only want companies with a visible website deficit.
Our crawler checks four signals per candidate: PageSpeed Insights mobile score (> 80 → out), CMS detection (WordPress ≥ 6.5 with modern theme → out), viewport meta tag (missing → definitely not mobile-friendly), HTTPS redirect chain (if HTTP → HTTPS doesn't resolve, site is operationally neglected — bonus for our offer).
Initial raw list of 42,000 candidates drops to ~8,500 after layer 1.
Layer 2: company names and salutation rendering
This is where we first failed. Naïvely we derived the company name from the email domain — [email protected] → "Car Den KFZ", ok. But [email protected] → "gmx" — not the company name.
Fails on prospects with free-mail addresses as primary contact. German SMBs with old websites often only have [email protected] — company name is in the impressum, not the mail. Our initial run produced "Dear Ms/Mr Auto" emails, because the name extractor picked the wrong field for "Auto Ludwig GmbH".
Fix: free-mail domains are treated as a signal, not as address data. Company name comes from impressum structured data, salutation is explicitly marked "non-personalised" when no LinkedIn person or clear contact person is found. Those companies get an impersonal greeting.
~6,200 companies remain after layer 2.
Layer 3: enterprise + public sector auto-out
Two company classes are structurally wrong for our offer (redesign packages €1,890–€6,900):
- Enterprises with > 250 employees. They have internal web teams. Cold outreach lands in their marketing filter and burns our deliverability.
- Public sector. Can't accept cold offers without a tender. No deal possible.
Filter: extract handelsregister + legal form + employee range from impressum. Legal forms e.V., GmbH with government seat, or web domains on .gov.de etc. → out. Employees > 250 → out.
~3,850 companies remain.
Layer 4: verification ping and score
The most expensive layer (API calls, rate limits), but also the most helpful:
- Live PageSpeed Insights call. Layer 1 filtered on a 3-week-old snapshot; layer 4 re-runs shortly before send.
- HTTPS live check. In case the site was relaunched between crawl and send.
- DNS MX check on target email. Are MX records reachable? Pointing at an established provider?
- Score computation. Weighted combination of PageSpeed delta, industry match, contact quality.
3,544 companies remain. Score distribution: 512 A-tier, 1,104 B-tier, 1,928 C-tier. Send A-tier first, then B staggered over 4 weeks. C-tier held for later.
What we saved ourselves
Without these layers, the cold launch would have started with ~40,000 "Dear Ms/Mr Auto" emails. Google Workspace and Outlook would have flagged us as spam senders in 3–5 days, the cold domains would have been burned for 12 months. Recovery: new domains, new warmup, ~4 weeks of paused campaign.
The 4 layers cost ~15 person-days. A burned cold-domain setup is 4 weeks recovery plus the meta-question whether cold outreach is even a sensible growth channel. Cost ratio checks out.
Meta-lesson
Cold outreach sounds simple: address list, offer, SMTP access. Reality: every wrong name extract, every inaccurate PageSpeed score, every message to a government agency is a signal that puts you in the spam class.
The only metric that matters: how many sends can you do before your sender score collapses. Answer is proportional to list quality, not list size.
If you're planning your own cold pipeline and want a second look at your filter setup — [email protected], first 30 minutes free. This setup is one of ZER0ONE Studio engineering services.