TL;DR
A B2B site does not “collect leads” by existing-it pairs SEO traffic (problems and services) with a conversion funnel: clear offer → proof → low-friction form → fast follow-up. Goal: qualification (role, budget, timeline), not raw submit count. Money pages rank for commercial intent; the blog warms demand. Form: 4–7 fields, Server Actions, Postgres write (Branchly), Slack/CRM notify. Host and deploy on DevStudioIT Cloud. Below: funnel architecture, proof checklist, offer patterns, and metrics.
Who this is for
- B2B service firms (software, consulting, agencies, engineering)
- Marketing and sales with organic traffic but weak MQL→SQL
- Next.js teams building forms without a WordPress black box
- Owners who want one coherent funnel across pl/en/de
Keywords (SEO)
B2B leads from website, B2B contact form, service site conversion, SEO sales funnel, B2B social proof, qualified leads 2026
The on-site B2B funnel (not paid media)
Discovery (SEO / referral)
→ Education (blog, comparisons, checklists)
→ Offer evaluation (money page, pricing signals, case)
→ Conversion (form / brief / call)
→ Qualification (CRM, scoring)
→ OpportunitySEO without conversion = vanity traffic. Forms without proof = empty leads. Proof without an offer = “nice site, unclear what to buy”.
| Stage | Site job | KPI |
|---|---|---|
| Discovery | rank + snippet CTR | impressions, clicks |
| Education | time, scroll, internal click to service | engaged sessions |
| Evaluation | case, FAQ, scope comparison | CTR to form |
| Conversion | submit rate | form CVR |
| Qualification | complete fields, fit score | MQL%, SQL% |
An offer buyers can “buy from the web”
B2B buyers scan in ~10 seconds: who it’s for, what they get, how to start, how long / what it costs (range).
Money-page building blocks:
- H1 + subtitle, service + outcome (“Next.js + SEO + maintenance”, not “we are passionate”)
- Scope bullets, in / out of scope
- Process, 3–5 steps (brief → design → build → launch)
- Price signal, ranges, fixed/T&M, or “from X” plus what drives cost
- Primary CTA, “Request a quote” / “Book 30 min”
- Secondary CTA, case PDF, checklist, demo
Avoid one mega-page for every service. Hub + dedicated URLs per service = better SEO and a clearer offer.
Social proof that works in B2B
| Proof type | When | Notes |
|---|---|---|
| Case study with metric | after process section | “−40% LCP”, “+28% form CVR” |
| Client logos | above the fold (carefully) | permission only |
| Quote with role | near CTA | name + title + company |
| Stack / compliance | IT / regulated industries | GDPR, SLA, EU hosting |
| Process numbers | “median reply in 1 business day” | measurable, not fluff |
Fake stars and “500 happy clients” without a verification path hurt trust and risk Google rating policy issues.
B2B forms: friction vs qualification
Too short (email only) = spam and no context. Too long (15 fields) = abandonment.
A proven set:
| Field | Why |
|---|---|
| Name | personalized reply |
| Work email | optional Gmail filter |
| Company | scoring |
| Phone (optional) | faster close |
| Role / department | decision maker |
| Budget band or “unknown” | qualify without scaring |
| Need description | brief context |
| GDPR consent | required |
Next.js sketch:
'use server';
import { z } from 'zod';
import { db } from '@/lib/db'; // Postgres → Branchly
const LeadSchema = z.object({
name: z.string().min(2).max(80),
email: z.string().email(),
company: z.string().min(2).max(120),
role: z.string().optional(),
budget: z.enum(['lt20k', '20-50k', '50k+', 'unknown']),
message: z.string().min(20).max(4000),
consent: z.literal(true),
});
export async function submitB2BLead(formData: FormData) {
const parsed = LeadSchema.safeParse(Object.fromEntries(formData));
if (!parsed.success) return { ok: false, error: 'validation' };
await db.lead.create({
data: { ...parsed.data, source: 'website', locale: 'en' },
});
// webhook → CRM / Slack
return { ok: true };
}Leads land in Branchly; the app runs on DevStudioIT Cloud. Rate limit + honeypot/reCAPTCHA v3 cut bots without UX hell.
SEO + conversion: one strategy, two jobs
- Blog targets pre-purchase questions → CTA to money page, not a naked “contact us”
- Money page targets “service + industry / price / implementation”
- Internal links from blog: descriptive anchors (“B2B lead form on Next.js”)
- Paid landings can be thinner; organic money pages need substance + proof
Do not optimize only for Lighthouse-if form INP is terrible, you lose leads on “Submit” (see the dedicated INP article).
Metrics worth a dashboard
| Metric | Rough B2B service target |
|---|---|
| Form CVR (money-page sessions → submit) | 2–8% depending on offer |
| % leads with work email | >70% |
| Time to first reply | <1 business day |
| MQL → SQL | measure in CRM, not only GA |
| Organic share of leads | grow QoQ with solid SEO |
GA4 generate_lead with service, locale, budget_band. Full event setup is a separate topic-here, fire one consistent event on Server Action success.
Mistakes that kill B2B leads
- “Contact” CTA with no offer context on the page
- No price signal → endless “write us for a quote”
- Case studies gated behind a form too early
- Form only on
/contact, zero CTAs on money pages - No follow-up SLA, lead dies in the inbox
- Multilingual bug: EN form hardcodes
locale=pl
FAQ
How many form fields are optimal in B2B?
Usually 5–7 plus consent. Budget and need raise quality; keep phone optional if call is not the only channel.
Does chat replace the form?
As a complement-yes (FAQ, light qualification). As the only enterprise B2B channel-rarely. Save transcripts to CRM like leads.
Can a site without a blog generate SEO leads?
Yes if money pages cover commercial long-tails. A blog speeds informational coverage and internal links-not mandatory on day one, helpful to scale.
“Book a meeting” instead of a form?
Works for short cycles and clear offers. For complex projects prefer brief + async quote; calendar as secondary CTA.
Want a B2B funnel on your site?
- Contact us, offers, proof, forms, and lead storage (Next.js + Branchly)
- Form conversion optimization, UX and validation
- Lead scoring and pipeline, from submit to SQL
About the author
We build fast websites, web/mobile apps, AI chatbots and hosting setups — with a focus on SEO and conversion.
Recommended links
From theory to production — Branchly, our hosting stack and shipped work.
