Astro landing + lead scoring for B2B SaaS: 1.8% → 4.6% demo conversion
A Seed-stage B2B SaaS (AI for lawyers, 8 people) sat on Tilda with demo conversion at 1.8%, and 70% of its leads outside the target customer profile. Switching to Astro 5 + Tailwind v4 with a multi-step form and A/B/C/D lead scoring via n8n + Dadata + SPARK lifted conversion 2.5× and cut CPL by 2.7×.
70% of demos with the wrong companies, sales spend 14 hours a week
B2B SaaS with AI for lawyers: a serious product. The target customer (ICP) is a law firm of 20+ people, or an in-house legal department at a large company. Deal cycle — 6-12 weeks, average ticket — ₽450k/year.
The landing was on Tilda. Demo conversion — 1.8% of traffic. That would be fine, but 70% of demos were with the wrong companies: freelancers, students, solo lawyers — anyone who saw "AI for lawyers" and thought "I'll try the free version." The sales team (2 people) spent 14 hours a week on qualification calls just to work out whether a lead was a fit at all.
Meanwhile there was no visibility of the sales pipeline in CRM: amoCRM received a lead as "Name + Email + Phone + message" — without company revenue, headcount, or industry. Decisions were made on intuition.
Astro 5 + Tailwind v4 + auto-scoring by tax ID
New landing on Astro 5 + Tailwind v4 — SSG, LCP 0.9s, Lighthouse 100/100/100/100. Multi-step form collects company tax ID + contact. n8n enriches: Dadata (name, OKVED code, headcount) + SPARK (revenue, registration year, activity). A language-model classifier assigns A/B/C/D score. Score ≥ B goes to sales via amoCRM + Slack; D — auto-decline with soft routing to self-service.
Tailwind v4, Lighthouse 100/100, LCP 0.9s — no client-side JS on the critical path
Tax ID + phone + company size + what they need it for — five short clicks
Parallel enrichment: name, OKVED, headcount, revenue, entity activity
Rules: fit to the target profile, revenue, headcount, industry, liquidation flag
A/B → amoCRM + Slack alert to sales; C → nurture sequence; D → auto-decline
Astro 5 + Tailwind v4 — Lighthouse 100 without compromise
Tilda gave LCP 3.5-4.5s even on good hosting — lots of unused JS, heavy fonts, inefficient images. Astro 5 with static output gives LCP 0.9s, CLS 0, Lighthouse 100/100/100/100. This is direct input into SEO and into the user's thinking speed. A corporate lawyer opens the landing — they either see the value in 3 seconds or close.
Multi-step form increases conversion
Counter-intuitively: a 5-step form (tax ID → phone → headcount → what they need it for → consent) works better than "Name + Email". A contract lawyer who reaches the fifth step is a qualified lead, not "I'll try free". The filter form works for us, screening out noise before it reaches sales.
Dadata + SPARK = rich lead profile
After tax ID entry n8n calls Dadata (entity name, OKVED, headcount, region) and SPARK (2-year revenue, registration year, activity/liquidation flag) in parallel. In 8-12 seconds we have a company profile at the level of "we know more than the lead wrote in the form". That's the data scoring then runs on.
A/B/C/D scoring with transparent rules
Scoring rests on clear rules: fit to the target profile (law firm / corporate lawyer) × revenue (≥₽100M/year) × headcount (≥20 people) × entity activity × industry (priority for sectors with high compliance load). Output — a letter A/B/C/D. Each score is a committed response time: A — 2 hours, B — 24 hours, C — nurture, D — auto-decline with soft routing to self-service docs.
amoCRM with rich context
The lead arrives in amoCRM as a full card: company, revenue, headcount, OKVED, score, recommended talk track. Sales opens the card and immediately knows how to engage. A Slack alert arrives in parallel for A-leads — sales reacts within an hour.
Modern SSG + Russian data sources
SSG framework: zero-JS by default, multi-framework support, Islands Architecture
New engine: config in CSS, very fast hot reloads, native cascade layers
Orchestrator: form webhook, parallel API calls, scoring, routing
Tax ID enrichment: entity name, OKVED, headcount, region, contacts
Financial data: revenue, profit, taxes, entity activity status
Lead card with rich context, score tags, next-step recommendation
Instant notification to sales on A and B leads, with a direct link to the amoCRM card
Payment channel for self-checkout on subscription tiers
landing + n8n + scoring + amoCRM integration
hosting + Dadata + SPARK + maintenance
from saved sales time and faster deals
What changed over the quarter
+2.5× thanks to pre-built static pages and the multi-step form
of demos now with real target customers
on qualification — the rest is now handled automatically
₽ — cost per qualified lead
The headline number is 11 sales hours per week freed up. These hours went into working with already qualified leads, and deals closed faster. Deal cycle time dropped from 8 to 5 weeks.
Bonus we didn't bake into the KPI: after the move from Tilda to Astro, Search Console showed organic growth on B2B queries — Lighthouse 100 and fast loading delivered +18% impressions over the quarter without SEO-strategy changes.
Where else the same combo fits
Universal pattern — "fast landing + multi-step form + auto-enrichment by tax ID + scoring + routing". Fits anywhere a B2B deal goes through demo/call and where it makes sense to filter leads before sales contact:
- → Other B2B SaaS with a defined target customer — HR-tech, fintech, legaltech, medtech
- → Consulting firms — filtering by revenue and industry before a free audit
- → Marketing agencies — screening out small clients and freelancers before a proposal
- → IT development — separating "try and build it" from real projects with budget
- → Financial services — banks, leasing, factoring with pre-qualification by SPARK
- Astro 5 + Tailwind v4 — a landing-page scaffold with Lighthouse 100 and accessibility built in
- Multi-step form with progress bar and validation — adapted to any target profile in a day
- An n8n workflow that queries Dadata and SPARK at once, fills in the company data and scores the lead
- amoCRM lead card with full context, and Slack notifications on priority leads
If sales spend hours on qualification — it can be automated
Astro 5 + multi-step form + tax-ID auto-enrichment — 4-6 weeks from kickoff to production. Payback is typically 5-8 weeks from saved sales time and a more qualified pipeline.
Related cases
Apollo + Clay + Instantly pipeline: 50 qualified leads/week
4-stage pipeline: 1.2M ICP base from Apollo → Clay enrichment (SPARK + RSS + BuiltWith) → GPT personalization…
Keitaro + CAPI: conversion attribution 62% → 96%
Keitaro tracker as single source of truth. CAPI Gateway via nginx + Lua dedup. Server-side fan-out with…
Speech-to-Creative: speech recognition + language swap + lip-sync
Whisper transcribes speech → GPT-4o translates into 5+ languages and rewrites the lines for the on-screen…
The 9,900 ₽ audit — with a concrete report and quote
I'll tell you what to deploy in your business first, what the payback looks like, and whether you need AI for the task at all (sometimes you don't).
Or just send your question — I reply within 2 hours