TL;DR
Strona B2B nie „zbiera leadów” sama z siebie, łączy ruch SEO (problemy i usługi) z lejekiem konwersji: jasna oferta → dowód → niski tarcia formularz → szybka follow-up. Klucz: kwalifikacja (rola, budżet, termin), nie liczba wypełnień. Money pages rankują na intencję komercyjną; blog dogrzewa. Formularz: 4–7 pól, Server Actions, zapis do PostgreSQL (Branchly), powiadomienie Slack/CRM. Hosting i deploy na DevStudioIT Cloud. Poniżej: architektura lejka, checklista proof, wzorce ofert i metryki.
Dla kogo to jest
- Firm usługowych B2B (software, consulting, agencje, engineering)
- Marketingu i sprzedaży, które mają ruch organiczny, ale słabe MQL→SQL
- Zespołów Next.js budujących formularze bez „black box” WordPress
- Ownerów, którzy chcą jeden spójny lejek pl/en/de
Fraza (SEO)
B2B leady ze strony www, formularz kontaktowy B2B, konwersja strony usługowej, SEO lejek sprzedażowy, social proof B2B, kwalifikowane leady 2026
Jak wygląda lejek B2B na stronie (nie w Ads)
Odkrycie (SEO / referral)
→ Edukacja (blog, porównania, checklisty)
→ Ocena oferty (money page, pricing signals, case)
→ Konwersja (formularz / brief / call)
→ Kwalifikacja (CRM, scoring)
→ OpportunitySEO bez konwersji = vanity traffic. Formularz bez dowodu = puste leady. Proof bez oferty = „ładna strona, nie wiadomo co kupić”.
| Etap | Zadanie strony | KPI |
|---|---|---|
| Discovery | rank + CTR snippet | impressions, clicks |
| Education | czas, scroll, internal click do usługi | engaged sessions |
| Evaluation | case, FAQ, porównanie zakresu | CTR do formularza |
| Conversion | submit rate | form CVR |
| Qualification | complete fields, fit score | MQL%, SQL% |
Oferta, którą da się „kupić z WWW”
B2B kupujący skanuje w 10 sekund: dla kogo, co dostaje, jak zaczyna, ile trwa / kosztuje (zakres).
Elementy money page:
- H1 + podtytuł, usługa + outcome („Next.js + SEO + utrzymanie”, nie „jesteśmy pasjonatami”)
- Zakres w bulletach, in / out of scope
- Proces, 3–5 kroków (brief → projekt → build → launch)
- Sygnał ceny, widełki, model fixed/T&M, albo „od X” + co wpływa na wycenę
- CTA primary, „Poproś o wycenę” / „Umów 30 min”
- CTA secondary, case PDF, checklista, demo
Unikaj jednej mega-strony „wszystkie usługi”. Hub + osobne URL per usługa = lepsze SEO i jaśniejsza oferta.
Social proof, który działa w B2B
| Typ dowodu | Kiedy użyć | Uwagi |
|---|---|---|
| Case study z metryką | po opisie procesu | „−40% LCP”, „+28% CVR formularza” |
| Logo klientów | above the fold (ostrożnie) | tylko za zgodą |
| Cytat z rolą | obok CTA | imię + stanowisko + firma |
| Stack / compliance | IT / regulowane branże | RODO, SLA, hosting UE |
| Liczby procesu | „średni czas odpowiedzi 1 dzień roboczy” | mierzalne, nie marketingowe |
Fałszywe gwiazdki i „500 zadowolonych klientów” bez ścieżki weryfikacji szkodzą zaufaniu i ryzykiem policy Google przy schema rating.
Formularz B2B: tarcia vs kwalifikacja
Zbyt krótki (tylko email) = spam i brak kontekstu. Zbyt długi (15 pól) = porzucenie.
Sprawdzony zestaw:
| Pole | Po co |
|---|---|
| Imię | personalizacja odpowiedzi |
| Firmowy email | filtrow Gmail-only opcjonalnie |
| Firma | scoring |
| Telefon (opcjonalny) | przyspiesza close |
| Rola / dział | kto decyduje |
| Budżet widełki lub „nie wiem” | kwalifikacja bez odstraszania |
| Opis potrzeby (textarea) | kontekst briefu |
| Consent RODO | obowiązek |
Technicznie w Next.js:
'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: 'pl' },
});
// webhook → CRM / Slack
return { ok: true };
}Lead ląduje w Branchly; aplikacja na DevStudioIT Cloud. Rate limit + honeypot/reCAPTCHA v3 ograniczają boty bez UX piekła.
SEO + konwersja: jedna strategia, dwa cele
- Blog targetuje pytania przed zakupem → CTA do money page, nie „napisz do nas” w próżni
- Money page targetuje „usługa + branża / cena / wdrożenie”
- Internal links z bloga: opisowe anchory („wdrożenie formularza B2B w Next.js”)
- Landing z Ads może być cieńszy, ale organiczne money pages potrzebują treści + proof
Nie optymalizuj tylko pod Lighthouse, jeśli INP formularza jest fatalne, tracisz leady w momencie kliknięcia „Wyślij” (osobny artykuł: INP).
Metryki, które warto mieć na dashboardzie
| Metryka | Cel orientacyjny (B2B usługi) |
|---|---|
| Form CVR (sesje money page → submit) | 2–8% zależnie od oferty |
| % leadów z firmowym emailem | >70% |
| Czas pierwszej odpowiedzi | <1 dzień roboczy |
| MQL → SQL | mierz w CRM, nie tylko w GA |
| Organic share of leads | rośnie QoQ przy dobrym SEO |
GA4 event generate_lead + parametry service, locale, budget_band. Pełna konfiguracja eventów to osobny temat, tu wystarczy spójny event przy sukcesie Server Action.
Typowe błędy, które zabijają leady B2B
- CTA „Kontakt” bez kontekstu oferty na stronie
- Brak sygnału ceny → niekończące się „napisz, wycenimy”
- Case studies schowane w PDF za formularzem (zbyt wczesny gate)
- Formularz tylko na
/kontakt, zero CTA na money pages - Brak follow-up SLA, lead stygnie w skrzynce
- Wielojęzyczność: EN formularz zapisuje
locale=plprzez hardcode
FAQ
Ile pól formularza jest optimum w B2B?
Zwykle 5–7 + consent. Budżet i opis potrzeby podnoszą jakość; telefon zostaw opcjonalny, jeśli call nie jest jedynym kanałem.
Czy chat / chatbot zastępuje formularz?
Jako uzupełnienie, tak (FAQ, kwalifikacja). Jako jedyny kanał B2B enterprise, rzadko. Zapisuj transkrypt do CRM jak lead.
Czy strona bez bloga może generować leady SEO?
Tak, jeśli money pages pokrywają long-taile komercyjne. Blog przyspiesza pokrycie informacyjne i linki wewnętrzne, nie jest obowiązkowy day-one, ale pomaga skalować.
Co z „Book a meeting” (Calendly) zamiast formularza?
Działa przy krótkim cyklu i jasnej ofercie. Przy złożonych projektach lepiej brief + async wycena; kalendarz jako secondary CTA.
Chcesz lejek B2B na swojej stronie?
- Skontaktuj się z nami, zaprojektujemy oferty, proof, formularze i zapis leadów (Next.js + Branchly)
- Optymalizacja formularzy konwersji, UX i walidacja
- Lead scoring i pipeline, od submitu do SQL
O autorze
Budujemy szybkie strony WWW, aplikacje web/mobile, chatboty AI i hosting — z naciskiem na SEO i konwersję.
Przydatne linki
Od teorii do produkcji — Branchly, hosting i realizacje.
