Book a demo without leaving the article

Any demo button on a marketing page opens the real form right there — it never dumps the reader back on the homepage.

What it is

A context provider wrapping the blog and feature-page chrome, exposing an open() call to every CTA underneath it. The modal collects name, company, email and phone, carries the two consent checkboxes with their exact filed wording, posts to the same endpoint as the main marketing site, and shows a confirmation that changes depending on whether SMS consent was given.

Also called: demo modal · in-page form · book a demo popup

See it
Book a demo without leaving the article
New lead 3
Marlin Hoover
$22k
Delia Yoder
$32k
Sutter Kline
$28k
Contacted 2
Sutter Kline
$43k
Ronan Petsch
$44k
Estimate 3
Ivy Brubaker
$34k
Gideon Alt
$61k
Sold 3
Marlin Hoover
$77k
Delia Yoder
$69k
Sutter Kline
$76k
The modal over a dimmed article: four fields, the two consent checkboxes with their full wording, and the Book my demo button. Sample data — no customer information appears here.
How it works
  1. 1DemoModalProvider holds the form state and renders the overlay; useDemoModal() gives any child an open() call.
  2. 2DemoButton takes an event name so every CTA is tracked separately by the analytics beacon.
  3. 3Email is validated client-side before submission with a plain-English message.
  4. 4The submission posts the same payload shape as the marketing site form, including the verbatim consent text and the page URL.
  5. 5A failure tells the reader the direct email address rather than swallowing the error.
Why we built it

Stated in the component: "'Book a demo' on a blog page opens the actual form right here — it must never dump the reader on the homepage." The consent detail is not cosmetic: it posts "with the SAME verbatim consent wording (that text is the A2P consent record; it has to match what we filed)." A second, subtly different consent string on the blog would break the messaging compliance record.

The problem
  • CTAs on content pages navigated away from the content.
  • A second form risks a second, non-matching consent wording.
Sound familiar?
What you get
The reader converts from where they are
One consent record wording across every page
Every CTA is tracked by its own event name

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →