Johnen & Holevoet Law Offices
A single landing page for a Wisconsin criminal defence practice, written for people who have just been charged and are working out what a lawyer costs.

What they came with
An enquiry here arrives at the worst hour of someone's week, usually on a phone, usually from a paid click, and usually before the person has decided they can afford to make it. The page gets one pass: hold attention long enough to take a name and a number, or get the call placed. Cost is the first question and the hardest to answer in a headline, because the fee moves with the charge. And the page has to double as a test bed, because with one URL and one audience the only way to learn which framing pulls is to run two versions of it against each other.
What the build had to do
Three capture routes, one page
A consultation form opens the page and a second one closes it, a tel link sits in the hero bullet list, and a chat widget runs alongside both. Someone who will type, someone who will tap to call and someone who will only chat each need a route that does not block the other two.
Long-form copy in short lines
The argument runs as a sequence of one-line paragraphs addressed to a single reader, then hardens into a numbered list of what the firm does at each stage of a case. Setting that so the rhythm survives both a wide desktop measure and a 390-wide phone is most of the typographic work.
Two layouts, not one responsive grid
Instapage composes each band as a section of absolutely positioned widgets with separate desktop and mobile arrangements, switched at 767px. Every element is therefore placed twice, and a copy edit has to be made in both places or the two layouts stop agreeing.
Chat intake beside the form
An Intaker widget opens on load with a practice-area chip and takes the enquiry conversationally. It is a third intake path with its own vendor and its own transcript, running on the same page as two Instapage forms that post somewhere else entirely.
Trust marks pulled from Avvo
The rating and review badges load from Avvo's own assets and link back to the profile, so the proof updates without anyone republishing the page. That buys currency at the cost of a third-party request inside a section people actually stop on.
Technical detail
Signed form config, inline confirmation
Both forms post asynchronously and each carries a signed configuration token holding the field list, the page and variation ids, the form id and the lead-notification integration, so the field contract cannot be edited from the client. Validation and the confirmation state both render in place, which means no thank-you URL to maintain and no redirect that could drop attribution. The failure path matters: a rejected post has to surface the inline error box rather than quietly reading as a success.
Variation identity carried into analytics
The page declares itself one named variation of a linked pair and reports to Instapage's own metrics endpoint. The same name is passed into the GA4 config as a `page_variation_name` parameter, so behaviour can be read per variation in Analytics even though both versions share one address. Without that parameter the test is only measurable inside the page builder.
Hashed bundles and deferred assets
Scripts arrive as content-hashed bundles from a shared CDN and are preloaded rather than blocking, the webfont is fetched with a print-media swap plus a noscript fallback, and images are declared with `data-src` and swapped in by the LazyImage bundle. Behind that, an openresty origin sits under a Google load balancer and Cloudflare, so a republish is a fresh render of one document rather than a purge across many URLs.
The stack
Platform
Capture
Measurement
Assets
- Sector
- Criminal defence, Wisconsin
- Audience
- People facing criminal charges
- Shape
- Single page, paid traffic
- Platform
- Instapage, live A/B variation



Something like this to build?
Tell us what runs today and where it hurts. An engineer reads it and replies.