A marketing director opens her inbox on a Monday. Nine cold emails from SEO agencies are stacked at the top, all with subject lines that begin "quick question" or "noticed some issues." She archives eight in about four seconds each. The one she opens says "your /pricing page has no H1 and takes 4.9 seconds to paint on mobile." She reads it twice, forwards it to her cofounder, and books a call by lunch. This piece is about the difference between those two subject lines.
Look at the difference in specificity. "Quick question about your SEO" is a template a browser plugin could write. "Your /pricing page has no H1 and paints at 4.9 seconds on mobile" is a number pulled from Chrome DevTools thirty seconds before the send. If the first sentence of your email could plausibly have come from any of the 400 agencies that sent something last week, it will not be read. Every template in this piece is built to force the second kind of first sentence.
How does the signal-to-template pipeline work?
Workflow
Signal-to-template pipeline
Step 01
1. Spot signal
CWV, schema, thin content, sitemap, backlinks
Step 02
2. Pick template
One per signal type
Step 03
3. Personalize
Insert the exact number/URL
Step 04
4. Send
From warmed domain, with SPF/DKIM/DMARC
Step 05
5. Route replies
Stop-on-reply cadence
Step 01
1. Spot signal
CWV, schema, thin content, sitemap, backlinks
Step 02
2. Pick template
One per signal type
Step 03
3. Personalize
Insert the exact number/URL
Step 04
4. Send
From warmed domain, with SPF/DKIM/DMARC
Step 05
5. Route replies
Stop-on-reply cadence
Which Core Web Vitals thresholds should you quote?
Field data is the ranking signal
Half of the templates below reference specific Core Web Vitals numbers. Get them right. Google publishes exact thresholds on web.dev and treats these as ranking-relevant page-experience signals.
| Metric | Good | Needs improvement | Poor |
|---|---|---|---|
| LCP (Largest Contentful Paint) | ≤ 2.5s | 2.5s - 4.0s | > 4.0s |
| INP (Interaction to Next Paint) | ≤ 200ms | 200ms - 500ms | > 500ms |
| CLS (Cumulative Layout Shift) | ≤ 0.1 | 0.1 - 0.25 | > 0.25 |
- Metric
- LCP (Largest Contentful Paint)
- Good
- ≤ 2.5s
- Needs improvement
- 2.5s - 4.0s
- Poor
- > 4.0s
- Metric
- INP (Interaction to Next Paint)
- Good
- ≤ 200ms
- Needs improvement
- 200ms - 500ms
- Poor
- > 500ms
- Metric
- CLS (Cumulative Layout Shift)
- Good
- ≤ 0.1
- Needs improvement
- 0.1 - 0.25
- Poor
- > 0.25
web.dev Core Web Vitals web.dev: Web Vitals.
web.dev LCP thresholds web.dev: LCP.
web.dev INP thresholds web.dev: INP.
web.dev CLS thresholds web.dev: CLS.
Template 1: how do you pitch poor Core Web Vitals?
Signal: their LCP or INP is in the "poor" band per CrUX. Pull it from PageSpeed Insights, screenshot for evidence.
Worked example
Template 1, worked (Loomstack, Austin SaaS on WordPress)
Subject: your LCP is 4.9s on mobile, Google's threshold is 2.5s Hi Sarah, ran the Loomstack homepage through PageSpeed Insights this morning. Your mobile LCP is 4.9 seconds. Google's "good" threshold is 2.5 seconds per web.dev, and pages that stay in the "poor" band (over 4s) are demonstrably down-weighted in mobile rankings. The typical culprit on WordPress sites is a hero image that is not preloaded, and yours is loading a 1.4 MB PNG below the fold-blocking scripts. 20 minute call this week to walk you through the fix list?
Blank template
Template 1 (signal: poor CWV)
Subject: your LCP is {X.Xs} on mobile, Google's threshold is 2.5s Hi {name}, ran your homepage through PageSpeed Insights this morning. Your mobile LCP is {X.X seconds}. Google's "good" threshold is 2.5 seconds per web.dev, and pages that stay in the "poor" band (over 4s) are demonstrably down-weighted in mobile rankings. The typical culprit on {CMS} sites is {hero image not preloaded / third-party script}. 20 minute call this week to walk you through the fix list?
Template 2: how do you flag missing schema?
Signal: their product, article, or local business pages are missing the appropriate schema.org markup. Verify with the Rich Results Test.
Worked example
Template 2, worked (Northshore Cycles, Manchester e-commerce)
Subject: your product pages are missing schema Google actually uses Hi James, I looked at northshorecycles.co.uk/products/trailhawk-29 through the Rich Results Test and it is not returning any structured data. For e-commerce, Product markup is what unlocks rich results (stars, price, availability) in the SERP. Your top three competitors (Rutland Cycling, Leisure Lakes, Tredz) all have it. Rough estimate: adding Product schema to your top 20 pages is 4-6 hours of work and typically moves CTR 10-15%. Worth a look?
Blank template
Template 2 (signal: missing schema)
Subject: your {product/article} pages are missing schema Google actually uses Hi {name}, I looked at {specific URL} through the Rich Results Test and it is not returning any structured data. For {vertical}, {schema type} markup is what unlocks rich results ({stars, price, FAQ}) in the SERP. Your top three competitors ({names}) all have it. Rough estimate: adding {schema type} to your top 20 pages is 4-6 hours of work and typically moves CTR 10-15%. Worth a look?
Google Rich Results Test Rich Results Test.
Template 3: how do you call out thin content?
Signal: category or service pages under 300 words with no unique substance. This maps directly to Google's "helpful content" guidance.
Worked example
Template 3, worked (Verdant Home Cleaning, Melbourne)
Subject: your end-of-lease cleaning page is 180 words, top competitor is 1,800 Hi Amelia, your verdanthomecleaning.com.au/services/end-of-lease page clocks in at ~180 words with mostly navigation. sparklecleanmelbourne.com.au/end-of-lease-cleaning is at ~1,800 words with FAQ, pricing signals, and internal links. Google's helpful content system explicitly rewards depth on commercial-intent queries. We could rewrite that page against the top three ranking pages for "end of lease cleaning Melbourne" and hand it back in a week. No lock-in on the trial page.
Blank template
Template 3 (signal: thin content)
Subject: your {category} page is 180 words, top competitor is 1,800 Hi {name}, your {URL} clocks in at {~180 words} with mostly navigation. {Competitor URL} is at {~1,800 words} with FAQ, pricing signals, and internal links. Google's helpful content system explicitly rewards depth on commercial-intent queries. We could rewrite that page against the top three ranking pages for the target query and hand it back in a week. No lock-in on the trial page.
Google helpful content guidance Google Search Central: helpful content.
Template 4: Broken sitemap
Signal: their sitemap.xml is missing, returns non-200, includes noindex pages, or is not referenced in robots.txt.
Worked example
Template 4, worked (Brightlane Legal, Chicago)
Subject: your sitemap is returning 404 Hi Marcus, hit brightlanelegal.com/sitemap.xml this morning. It 404s. That is one of the most common reasons Google Search Console shows "crawled - currently not indexed" for otherwise fine pages. Free fix, and I can send you the exact steps if you want, or we can pick it up as part of a broader technical audit. Either way, worth pulling into Search Console before your next Googlebot crawl.
Blank template
Template 4 (signal: broken or missing sitemap)
Subject: your sitemap is {returning 404 / referencing noindex pages} Hi {name}, hit {domain}/sitemap.xml this morning. {It 404s / It references pages that noindex}. That is one of the most common reasons Google Search Console shows "crawled - currently not indexed" for otherwise fine pages. Free fix, and I can send you the exact steps if you want, or we can pick it up as part of a broader technical audit. Either way, worth pulling into Search Console before your next Googlebot crawl.
Google sitemaps documentation Google Search Central: sitemaps.
Template 5: Weak backlink profile
Signal: their referring domain count is materially lower than the top three ranking competitors for their target keyword. Pull from Ahrefs, Semrush, or Moz.
Worked example
Template 5, worked (Kettlebrook Coffee Roasters, Portland)
Subject: your competitors rank on 340 referring domains, you have 62 Hi Priya, checked the top three results for "specialty coffee subscription" this week. They average 340 referring domains (Trade Coffee, Atlas Coffee Club, Angels' Cup). Kettlebrook is at 62, which is why you are stuck on page 2 despite better content. We run a digital PR loop that lands 3-5 real editorial mentions per month, no PBNs. Worth showing you the last three campaigns we ran for Ridgeline Roasters?
Blank template
Template 5 (signal: weak backlinks vs. SERP top 3)
Subject: your competitors rank on {X} referring domains, you have {Y} Hi {name}, checked the top three results for "{target keyword}" this week. They average {X} referring domains ({competitor sites}). Your site is at {Y}, which is why you are stuck on page 2 despite better content. We run a digital PR loop that lands 3-5 real editorial mentions per month, no PBNs. Worth showing you the last three campaigns we ran for {peer}?
Rules of the road
Pair every template with the follow-up cadence
- Every template above must include a real number or URL specific to the recipient. Placeholders in the actual send are a tell.
- Send from a domain with SPF, DKIM, and DMARC configured, and with recent warm-up traffic. Cold-inbox sends from a fresh domain get filtered before they reach human eyes.
- Pair every template with the stop-on-reply cadence. See the linked framework post.
- If a prospect writes back with "how did you get my email," answer honestly. Public data, and you can point at the specific site page that produced the signal.
FAQ
Do I need Ahrefs or Semrush to send template 5?
For serious referring-domain analysis, yes. For a first-pass filter, Google's own "link:" operator is largely dead but a free tool like Moz Link Explorer gives usable directional data.
How do I verify CWV for template 1?
PageSpeed Insights, which reads from the Chrome User Experience Report (CrUX) for real-world field data. That is the data Google itself uses for ranking signals; lab tools are directional only.
Is it fine to send screenshots in a cold email?
Text-only in the first message; screenshots make attachments and inline images which some filters penalize. Offer the screenshot in the reply.
How many of these templates should one prospect see?
One. Pick the strongest signal and lead with it. Additional signals go into follow-ups only if there is no reply.