Skip to Content
Lead Capture WidgetOverview

WhatsApp Lead Capture Widget

A floating WhatsApp bubble you embed on your website. Visitors fill a short form (name + phone + optional message), the contact is auto- created in your Splashify Pro CRM, and they’re redirected to WhatsApp with their message prefilled — landing the conversation in your team inbox already linked to the new contact.

What you get

  • One-line embed — paste a <script> tag in your site and the bubble appears at the bottom of every page.
  • Customizable bubble + form — theme color, position (bottom-right or bottom-left), headline, subheadline, button label, prefilled WhatsApp message, optional name/message fields.
  • Auto-CRM — every submission creates a contact tagged lead-widget with attribution metadata (page URL, referrer, widget ID).
  • Inbox routing — when the visitor sends their first WhatsApp message, it lands in /messages already linked to the contact you captured.
  • Spam protection — domain allowlist (Origin header check), per-IP rate limit (10 captures/hour), optional Cloudflare Turnstile.
  • Shadow DOM — the widget runs in an isolated CSS scope so it never collides with your site’s styles, even on heavy frameworks like React, Vue, or jQuery.

Plan requirements

  • Growth or Business plan (or active free trial).
  • A connected WhatsApp Business number — visitors will be redirected to chat with this number.

Quick start

  1. Open Settings → Lead Widget in Splashify Pro.
  2. Add the domains you’ll embed on (e.g. acme.com, www.acme.com).
  3. Customise the bubble (theme color, headline, button text) — preview updates live.
  4. Copy the <script> snippet from the Embed section.
  5. Paste it into the <body> of every page on your site.

That’s it. The bubble appears at the bottom of every page within seconds. Captured leads show up in Settings → Lead Widget → Captures and in your main Contacts list with the lead-widget tag.

How it works

Visitor on your site ↓ clicks bubble → small form opens (name, phone, message) ↓ submits → POST /widget/<id>/capture ↓ origin check (must match allowed_domains) ↓ rate limit check (10/hour per IP) ↓ optional Turnstile verification ↓ creates app_contacts row + tag = "lead-widget" ↓ creates conversation linked to contact ↓ returns wa.me deep-link ↓ same-tab redirect to wa.me ↓ WhatsApp app/web opens with message prefilled ↓ visitor sends → conversation lands in /messages

The contact and conversation exist before the visitor even sends their first message — so you can run automations, send templates, or assign to a team member as soon as the form lands.

Continue reading