Smart Content Swap Pro for HubSpot

One landing page. Infinite intent-matched variants. Swap headline, subhead, hero image, CTAs and inline form by UTM parameters, referring domain, country, or HubSpot list — without duplicating pages.

Try the personalization — append any of these to the URL
?utm_source=google ?utm_source=linkedin ?utm_source=facebook ?utm_campaign=enterprise ?utm_campaign=smb ?industry=saas ?industry=ecom ?utm_source=g2 ?scsdebug=1 (show debug panel) Reset

Each click reloads this page with a different URL parameter. Each demo evaluates its own rules against that parameter and swaps content live. Append &scsdebug=1 to any URL to see the rule-evaluation panel.


Demo 1 · Maison Éditoriale · Cormorant Garamond 220 px italic · Gold on warm-black · Full bleed

Couture-grade serif at 220 px display

Atelier-Noire-grade luxury. Italic Cormorant at 220 px display, weight 300, near-zero leading. Gold capitalised eyebrow letter-tracked at 0.32 em. Solid gold pill CTAs on warm-black. Edge-to-edge cinematic stage. Three UTM-driven variants flip the headline.

Maison Numérique · Édition 04 · MMXXVI

One landing page. Infinite variants.

Swap headline, subhead, hero image, CTAs and the inline form on the same URL — by UTM, referrer, country, or HubSpot list. Without ever duplicating a page.


Demo 2 · Product LP · Indigo→violet gradient · Brand wordmark logo · Form on right · No bg image

SaaS landing page with branded gradient and form

A clean SaaS LP — no bg image, no clipping. A brand wordmark sits above the eyebrow so the page reads as a real product hero. Saturated indigo→violet gradient, Manrope 800 at 76 px. The white form panel sits on a tinted gradient surface (never on top of an image — that's the rule). ?utm_campaign=enterprise / =smb swaps heading + form pitch.

Free 30-day trial · No card required

Personalize landing pages without duplicating them.

Tell us a bit about your team. We'll spin up a tailored workspace in your HubSpot portal in under 24 hours — no card required.

Spin up your trial

Tell us your stack. We'll show you how it would feel.


Demo 3 · Apple Newsroom peach · Fraunces 100 px italic · Image left · 40 px section radius · Country rule

Soft warm-cream editorial — image left, italic serif right

A daylight counterpoint to Demo 1's noir. Soft peach→cream gradient surface, large 4:5 portrait image on the LEFT (the inverse of every other demo here), Fraunces 100 px regular italic with optical-size adjusted, generous 40 px section radius. Country-driven variants for DE / RO / FR.

Trusted by 1,200+ HubSpot teams

Personalization that pays back in one campaign.

Brex saw a 29% conversion lift from industry-personalized homepages. Intent-matched landing pages convert at 11.6% vs 3.8% for generic.

Soft warm-toned interior with morning light

Demo 4 · Poster · Space Grotesk 800 at 156 px · White surface, lime accent · Square image right · Sharp 0 px corners

Magazine-poster scale on a white sheet

A bold typographic poster — white sheet, jet-black Space Grotesk 800 at 156 px, monospaced eyebrow, square image cropped to 1:1 on the right, lime-on-black CTA. Sharp 0 px corners on the section AND the image. Two referrer-driven variants for G2 — open with g2.com referrer or fake with ?utm_source=g2&utm_medium=referral.

ISSUE №04 / 60-SECOND DEMO

Stop shipping twelve duplicate landing pages.

Drop the module on any HubSpot page, define your rules in the sidebar, watch the headline change — without a dev ticket and without HubDB.

Marketing dashboard with charts and metrics

Demo 5 · Cinematic LP hero · Italiana 168 px (Vogue-grade vertical serif) · Video bg · Logo lockup · Two CTAs · Full bleed · 92 vh

A real LP hero — not a banner on a video

Full-bleed 92 vh stage, auto-playing 4K video, vignette overlay (50%), brand wordmark at the top so it reads as a real campaign hero, Italiana 168 px (a vertical Vogue-grade serif distinct from Demo 1's Cormorant), pill primary CTA + ghost secondary CTA. ?industry=saas / =ecom swaps the campaign.

Issue №05 · Spring Campaign

The personalization layer your HubSpot was missing.

Replace Mutiny / RightMessage at the segment level. One landing page, infinite intent-matched variants — no HubDB, no per-visitor fees, no monthly subscription.


Demo 6 · Inline sand banner · DM Serif Display 48 px · H3 tag · 24 px radius · Refined gold-pill CTA

Drop-in inline banner — refined sand, smaller scale

Not every personalised module is a hero. Drop this contained 48 px serif banner into the middle of an article or pillar — H3 tag (so it doesn't compete with your real H1), 24 px section radius, warm sand surface, gold pill CTA on hover. ?industry=saas / ?industry=ecom swaps the offer.

While you're reading

Take this guide with you, as a PDF.

14 personalization tools, side-by-side, in one inbox-ready PDF.


About Smart Content Swap Pro

A personalization hero for HubSpot CMS that swaps headline, subhead, hero image / video, CTAs and inline form on the same URL based on UTM parameters, referring domain, country, HubSpot list membership, custom URL parameters or cookies. One module, infinite intent-matched variants — no duplicate pages, no Mutiny / RightMessage subscription. Works on CMS Starter.

How it works

Layouts

Brand logo (new)

Each variant has an optional logo image field that renders above the eyebrow. Use it on LP-style heroes (Demo 2, Demo 5) so the page reads as a proper campaign hero instead of a generic content block. The logo height + the gap between the logo and the eyebrow are both editable in the Style tab.

Backgrounds

Typography

Each module instance picks its own heading and body font from the HubSpot font picker. The six demos here are intentionally disjoint — different fonts, different scales, different layouts, different colour worlds — to show the breadth of the same module:

Heading tag

Each variant picks its own tag from H1 / H2 / H3 / H4. Use H1 when the module is the page hero.

Style controls (every value editable)

Privacy & compliance

Append ?scsdebug=1 to any URL

Shows a fixed debug panel in the bottom-right of the page that logs every rule evaluation per module instance — the rule type, operator, expected value, the actual context value the JS read, and whether it matched.