Insights2026年5月30日7 min read

Your contact form has a 1% fill rate because it's a contact form.

What Helio's conversational lead capture taught us — and why "swap the form for a chatbot" is a structural change, not a UX tweak.

A faded contact form with empty fields fading into the background, and a chat thread brightening into focus over it — the chat showing a friendly opener, the user's reply, an intent menu.

Marketing sites for services firms convert at single digits. The instinct is better copy, better hero, better social proof. The structural answer is usually different — the form itself is what's killing the funnel.

We built Helio's marketing site for an APAC IT consultancy. The brief, plainly: replace the contact form. The marketing lead's hypothesis was that the form was the actual bottleneck, and she was right.

People don't fill out forms when they're partway through deciding. They ask a question, and the friction of typing it into a structured form — pick a topic from a dropdown, fill in a budget range, write a message body — kills the intent before it lands. The form converts the committed leads. It does not convert the curious ones. And on a services-firm site, the curious is most of the funnel.

Why third-party widgets are the wrong shortcut

The lazy version of this fix is to embed Intercom, Crisp, or any other off-the-shelf chat widget. Drop the script, ship it. We thought hard about this. We didn't.

Third-party widgets solve a related problem (customer support) and are tuned for it. They want to route the visitor to a human, log the conversation against a CRM, surface canned responses. None of that is the marketing job we needed. The marketing job is a qualification flow — open, capture intent, capture contact, hand off to sales. That's a five-state machine, not a customer-support inbox.

Owning the chatbot as code also means we can debug it, extend it, and version-control it. A new intent path is a state extension, deployed with the rest of the site. A new question is a guard on a transition. Adding behavior doesn't require waiting for a vendor's roadmap or paying for a tier we don't need.

The five-state machine that replaced the form

Welcome → name → intent → info collection → hand-off. That's the whole machine.

Welcome: the bot opens with a single short question — "Are you here to scope a project, get a quote, or just say hi?" Three buttons. The visitor can also type freely; the bot routes based on intent classification.

Name: a soft ask. "Cool — who am I chatting with?" Optional, but most visitors fill it. The act of typing a name is the first commitment, and it's a smaller one than typing an email.

Intent: a structured branch. Cloud migration vs. internal tools vs. something else. Each branch tunes the next two questions. We're not building an estimator; we're building a qualifier.

Info collection: now we ask for email. By this point the visitor has invested four exchanges and a name. The fill rate on email at this point is dramatically higher than on a cold form.

Hand-off: a single structured payload posts to the firm's CRM with the conversation transcript, the intent classification, and the contact details. Sales gets the lead with full context. The bot says "someone will be in touch within one business day." Done.

A state-machine diagram with five nodes — welcome, name, intent, info, handoff — and typed transitions between them, with the intent node branching into three sub-paths.
Five states, typed transitions. Adding a new intent path is a state extension, not a redesign.

What changed in the funnel

Hand-off rate went up materially over the old form's fill rate. Lead quality also went up — sales reports that the leads arriving via the chatbot have already self-qualified by the time they reach a human. The intent classification is wrong sometimes; the structured branch surfaces what the visitor is really there for in a way the old form's free-text "message" field never did.

The non-obvious gain is what happens to the rest of the marketing site. Once the chatbot is the conversion surface, the static surfaces — hero, services grid, case studies — can stop trying to convert. They can do their actual job: educate, build trust, signal register. The CTA is always "talk to us" and "talk to us" is always one click.

Once the chatbot is the conversion surface, the rest of the marketing site can stop trying to convert. It can do its actual job.

On the consequence of moving the funnel

What we'd start with on day one

Own the chatbot. Build it as a typed state machine with explicit transitions, not as a series of conditional renders inside one component. Hand off to the CRM with structured payload. And don't try to be helpful in too many directions — five states is enough, and adding a sixth without clear value adds cognitive overhead with no funnel return.

Your contact form is the bottleneck. The chatbot is not a gimmick. It is the funnel.

Helio is live. We can scope a conversational marketing site with a typed-state-machine chatbot for any services firm whose funnel is being killed by a form.