RL
Senior Web Platform Engineer
RLRodney L. Lewis
All case studies

One domain, one funnel, no handoff

There is a standard shape to B2B demand gen: the marketing site lives on one domain, the campaign landing pages live on a marketing automation subdomain, and prospects cross between them at the exact moment they are most likely to convert. It is an architecture chosen for the marketing team's convenience, and the visitor pays for it.

Challenge

The conversion path crossed a domain boundary. Sending prospects from the marketing site to a separate landing page system split the funnel in two: tracking continuity broke at the handoff, the visual experience changed underneath the visitor, and the pages that earned the most intent lived off the domain accruing the SEO value.

Solution

Rather than run a separate demand gen subdomain, I embedded custom Marketo forms directly into native Webflow pages and component symbols, so the form was part of the page instead of a destination the visitor was sent to. Marketo email templates were rebuilt to match the brand system, so what arrived in the inbox after a submission looked like the page that produced it. Marketing kept its native Marketo data; the visitor never left the site.

Outcome

The funnel stayed on one domain end to end. Tracking held together across the whole path instead of resetting at a handoff, the pages carrying the most intent kept contributing to the domain's SEO position, and marketing lost nothing on the data side because the forms were Marketo forms.

The conventional split funnel compared with the one-domain funnel that replaced itTwo diagrams of equal width. The upper one, labelled “Conventional: two domains”, runs from a Marketing site box across a dashed line marked “domain boundary” to a Landing page subdomain box and on to Marketo; the tracking line beneath it is severed at the boundary. The lower one, labelled “Built: one domain”, has no boundary: a single Marketing site box contains an embedded Marketo form and connects directly to Marketo, and the tracking line beneath it runs unbroken across the full width.Conventional: two domainsdomain boundaryMarketing siteLanding page subdomainMarketoBuilt: one domainMarketing siteMarketo formMarketo
Above, the visitor crosses a domain boundary at the moment they are most likely to convert, and tracking resets with them. The intent, and the SEO value it earns, lands off the main domain. Below, the form is embedded in the page and the funnel never leaves the site: one unbroken path, with Marketo still owning the record. Both panels are drawn to the same width, so the difference is the thing missing from the lower one.

The build

At Carrot we went the other way. Instead of standing up a separate landing page system, I embedded custom Marketo forms directly into the native Webflow site — into pages and into reusable component symbols, so a form could be dropped into any layout and behave the same way. From the visitor's side there is no transition: the form is part of the page they were already reading, in the same type, on the same domain, at the same speed.

Keeping the funnel on one domain fixes three problems at once, and they are usually treated as three separate teams' problems. Tracking stops resetting at a boundary, so the path from first touch to submission is one continuous story rather than two fragments someone has to stitch together. The visual experience never breaks, so the trust built by the page carries into the moment of conversion. And the pages that attract the most intent keep contributing their authority to the domain instead of donating it to a subdomain.

None of that would have been acceptable if it cost the marketing team their data. The forms are real Marketo forms, not a custom collector that syncs later, so lead records, programs, and campaign attribution behave exactly as marketing ops expects. The integration was engineered so the marketing automation platform still owns the record — the only thing that changed is where the form is rendered.

I extended the same logic downstream by rebuilding the Marketo email templates against the brand system. A submission that produces a confirmation email in a different visual language undoes some of what the page just built. Matching the templates to the site made the whole sequence — page, form, inbox — read as one experience rather than as three systems introducing themselves in turn.

The general principle: the seams between marketing systems are where conversion, measurement, and trust leak out. Most of the engineering value on a marketing site is in removing seams the visitor should never have been asked to cross.

Archived screenshot of the Carrot "For employers" page: a sage-green hero with a heading, a Request a demo button and a flat vector illustration, above a four-column section of icons with labels and short paragraphs.
An employer-facing page on the main domain, September 2021. Conversion happens here rather than on a separate landing page subdomain.
Archived screenshot of the Carrot open-roles page: a pale-blue hero headed "Open Roles" above a two-column layout with a Departments filter rail on the left and a job list grouped under department headings on the right, each listing showing a role title and a Learn More link.
The careers section, May 2022. Every role on this page renders from the Greenhouse API, so there is no step where the site can drift from the ATS.

Built with

  • Webflow Enterprise CMS
  • Marketo
  • JavaScript
Contact

If you're hiring a platform owner, let's talk.

Currently open to senior roles owning marketing web platforms, Bay Area or remote. I reply within one business day.

Reach out

Other ways to connect