Website Headline Personalization: What It Is and How It Works
2026-09-13
Your homepage headline is a compromise. One sentence, trying to speak to the paid-search visitor, the LinkedIn click, the returning customer, and the person who typed your URL from a conference badge — all at once. It can't do all four jobs. So it does none of them well.
Website headline personalization fixes that. Same page, same layout. A different headline for each visitor, chosen at the moment they arrive, based on what you can tell about why they're there.
What it actually is
When a visitor loads your page, a personalization tool reads a small set of context signals — where they came from, what campaign sent them, whether they've been here before, rough location — and rewrites the headline (and optionally the subcopy and call to action) to match. The page structure doesn't change. The URL doesn't change. Only the words change.
This is not A/B testing. An A/B test shows two versions to two groups, measures which wins, and then you pick a winner. Personalization never picks a winner. It keeps rewriting, visitor by visitor, indefinitely. There is no "winning headline" — there is the right headline for this visitor right now.
Prept does not do A/B testing. That's a deliberate choice, and worth saying plainly: if you want statistical test results with confidence intervals, use a testing tool. If you want every visitor to see copy written for their situation, use personalization.
How it works, mechanically
Prept's implementation is a JavaScript snippet. Here's the full sequence:
You paste one snippet before
. That's the entire install. No build step, no CMS plugin, no server changes.
You tag the elements you want rewritten:
Plan your week in one place.
,
One shared calendar for your whole team.
, Start free. Three tag types exist: headline, subcopy, cta. The original text inside the tag is the fallback. Prept never shows a blank element — if anything goes wrong, or if there's no better variant for this visitor, the visitor sees exactly what you wrote.
On each visit, Prept reads the visitor's context. The page renders first with your original copy. Then Prept evaluates the context signals and swaps in the matched variant. The headline's layout space is reserved during the swap, so the page doesn't jump — no layout shift.
A control holdout stays on the original. Ten percent of visitors always see your original copy, no matter what. This isn't configurable. It exists so you can see the difference personalization makes instead of taking our word for it.
The signals, concretely
Prept reads privacy-safe visitor context. No PII — no names, no emails, nothing that identifies a person. The signals are: Referrer (Google, LinkedIn, partner site, direct); Campaign / UTM parameters (utm_source, utm_medium, utm_campaign — the richest signal for paid traffic); New vs. returning (first-time visitors need orientation; returning visitors need a reason to come back); Geo (country or region level); Company-level enrichment (firmographic — "a 200-person software company" — never personal data). Prept doesn't build a profile of the individual, doesn't track people across sites, and doesn't store anything tying a visit to a named human.
Before and after: five visitors, one SaaS page
Fictional example: Slotwise, a team meeting-scheduling tool. Original headline: "Schedule meetings in seconds."
Visitor 1 — Google search "scheduling tool for remote teams": after → "Scheduling that works across every time zone."
Visitor 2 — LinkedIn ad targeting operations managers: after → "One calendar view for your whole ops team."
Visitor 3 — Returning visitor (been here twice, didn't sign up): after → "Still deciding? Take the 2-minute tour." CTA after: "See how it works."
Visitor 4 — Retargeting (visited pricing, didn't convert): after → "Plans from $8 a seat. See it on your own calendar."
Visitor 5 — Direct traffic, no signal: after → "Schedule meetings in seconds." — the original, unchanged. When there's no signal, the fallback is the headline you wrote. That's the correct behavior.
None of these variants is clever. That's the point. Personalization wins by being relevant, not by being witty.
What it costs: real math
Prept charges credits per visit: 1 credit per new-visitor rewrite; 0.25 per returning-visitor rewrite; 0.1 for passive identify (no rewrite); 25 per deep-enrichment profile. Packs: 10,000 credits for $29, 50,000 for $129, 100,000 for $249.
A site with 60,000 visits/month — 40,000 new, 20,000 returning: new 40,000 × 1 = 40,000; returning 20,000 × 0.25 = 5,000; total 45,000 credits/month. The 50,000-credit pack at $129 covers it — about $0.0022 per visit. Watch deep enrichment at 25 credits a pop: enrich 1,000 visits and that's 25,000 credits. Use it on high-intent pages, not sitewide.
Honest tradeoffs
It's a third-party script (one more request; measure if your performance budget is tight). The rewrite happens after paint (words change; layout doesn't shift; server-side rendering is the no-flicker alternative). Ten percent of visitors never see personalization (the control holdout — how you know it's working). It can't fix a bad offer. Company enrichment is company-level, not person-level.
Getting started
Paste the snippet, tag your headline, and map your two or three biggest traffic sources to variants. Three good ones — paid search, one social channel, returning visitors — will teach you more than a spreadsheet of hypotheticals.