10 visitor types, one atom library

Spectare in action

One page, with its personalised sections filled differently for every visitor. Here is exactly what Spectare reads, how it classifies intent, and what each visitor sees.

Automatic

5 scenarios

Spectare reads signals present in the request (referrer, UTM parameters, page context) and classifies intent without any setup beyond the script tag.

Developer from GitHub

Referrer: github.com

Intent classified as

Developer/Awareness

Atoms assembled

Integration depth, Next.js setup atom, performance benchmarks

How it works

A developer clicks a link in a README or GitHub discussion. Spectare reads the referrer, classifies them as a technical evaluator at exploration stage, and serves content about the integration: how the script tag works, how atoms are structured, how fast content arrives.

Manager from LinkedIn ad

utm_source=linkedin

Intent classified as

Manager/Consideration

Atoms assembled

Personalise without engineering, campaign without dev tickets, comparison vs A/B testing

How it works

Someone who writes the campaigns clicks a sponsored LinkedIn post. Spectare reads utm_source=linkedin and routes them into the marketing-delivery audience. They see outcome-focused content: how content teams can run personalisation without opening a developer ticket, and how Spectare compares to the A/B testing they already run.

Executive from email newsletter

utm_medium=email

Intent classified as

Executive/Consideration

Atoms assembled

What marketing leaders see in 90 days, business case for personalisation, enterprise plan

How it works

A VP of Marketing clicks a link in a newsletter. utm_medium=email signals a warmer, deliberate visit. Spectare serves outcome-level content: what the first 90 days look like, the ROI case, and what the Enterprise plan includes, pitched at someone who will need to justify the spend.

Buyer from Google Ads

utm_medium=cpc

Intent classified as

Manager/Decision

Atoms assembled

Which plan fits your team, day one trial walkthrough, case study

How it works

Someone searching for "website personalisation tool" clicks a paid result. CPC traffic signals high intent to buy. Spectare serves decision-stage content: a plan comparison, what happens on day one of the trial, and a case study showing a team that went live in a weekend.

Cold direct visit

No signals

Intent classified as

Any/Awareness

Atoms assembled

Default atoms: your best general-purpose content

How it works

Someone types spectare.ai directly with no UTM, no referrer, no visit history. Spectare sets confidence to zero and serves your designated default atoms: the content that works for any visitor regardless of where they came from. Every visitor sees something relevant, never a blank slot.

Behavioural

2 scenarios

Visit history stored in the visitor's own browser builds a picture of their journey over time. Stage upgrades automatically as they explore more of your site.

Returning visitor (browsed /pricing a few days ago)

localStorage visit history

Intent classified as

Manager/Decision

Atoms assembled

Which plan fits, day one trial, SaaS case study

How it works

A visitor comes back a few days after first arriving from a LinkedIn ad. They browsed /pricing on their first visit. Spectare reads the visit log stored in their browser localStorage and passes /pricing to the classifier as a signal, and this visitor reads as decision rather than consideration. This visit has no UTM and no external referrer. They see the content that closes, not the content that introduces.

The visit log decides whether personalisation happens at all

With no visit log and no UTM or referrer, this visitor classifies at confidence 0, which routes them to the cold path and your default atoms. With /pricing in the history they classify at 0.9 and get a real assembly. The log is not only shifting which content appears, it is the difference between a personalised page and a default one.

What counts as a visit

The last five distinct paths, most recent first, with the page they are on excluded. Kept for 30 days, up to ten visits, in the visitor’s own browser. Nothing is stored on our side, and it does not follow them to another device or another browser.

Client side by default

The log lives in localStorage, so only something running in the browser can read it. The script tag and the React component both do. Server rendered zones classify from the request headers instead, so out of the box a visitor personalised entirely by zones looks new on every visit. WordPress site owners can opt in to a first-party cookie that mirrors the log to their server, and then zones recognise return visits too. It is off by default and stays on the site’s own domain.

In-session: browsed /compare then /pricing

Page context + visit log

Intent classified as

Manager/Decision

Atoms assembled

Trial CTA, plan guide, case study

How it works

A visitor spends time on the Compare page, then navigates to Pricing, then returns to the homepage. Each page visit is logged to localStorage during the session. When they return to the homepage, Spectare reads the accumulated path: compare then pricing signals an active buyer. The assembly reflects where they are now, not where they started.

Programmatic

3 scenarios

Your team, or an AI assistant that found your llms.txt, calls the qualify API directly to pre-set intent with explicit context, then shares the returned link. Used for ABM, 1:1 outreach, and AI assistant referrals.

ABM target account

qualify API + ?ctx= link

Intent classified as

Executive/Decision

Atoms assembled

Content written for their specific role, company size, and pain point

How it works

The sales team calls the qualify API with account context (role, company, use case) and receives a personalised URL. That URL goes into an Outreach sequence or a LinkedIn message. When the prospect clicks it, the personalised sections are filled for exactly who they are. No IP lookup, no firmographic database. One API call per record in your CRM.

POST /api/qualify/your-org
{
  "summary": "Head of Marketing at Acme Corp, 200-person B2B SaaS, evaluating personalisation for their demand gen landing pages, currently using Unbounce variants"
}

→ returns { url: "https://yoursite.com/landing?ctx=<token>" }

1:1 outreach prospect

qualify API per recipient

Intent classified as

Any/Decision

Atoms assembled

Content chosen for them specifically: their role, their pain point, their stage

How it works

A BDR generates a unique URL for each prospect before sending. The qualify API takes a plain-English description of who the prospect is and what they care about, and returns a signed URL. Every person on the outreach list clicks a different link. What they read is different every time. One page, with its personalised sections filled ten thousand different ways.

// Generate one URL per prospect before sending
const res = await fetch('/api/qualify/your-org', {
  method: 'POST',
  body: JSON.stringify({
    summary: "Sarah Chen, CTO at a 50-person e-commerce brand, wants personalisation without a data science team"
  })
});
const { url } = await res.json();
// Drop url into your email or LinkedIn message

Visitor referred by an AI assistant

llms.txt + qualify API

Intent classified as

Any/Any

Atoms assembled

Content chosen for whatever the assistant described

How it works

A user's assistant, connected to Spectare's MCP server or pointed at spectare.ai, reads spectare.ai/llms.txt, which documents the public qualify endpoint and invites agents to use it, no API key required. It calls qualify with a plain-language summary of what the user is after, gets back a ready-to-use URL, and shares it in the conversation. The user clicks and lands on a page whose personalised sections match their intent, without anyone writing a rule or building a landing-page variant.

// An AI assistant reads spectare.ai/llms.txt, which documents the public
// qualify endpoint (no API key), then calls it on the user's behalf:
POST /api/qualify/spectare
{
  "summary": "Developer building a Next.js marketing site, wants personalisation that works without a data warehouse"
}

→ returns { url: "https://spectare.ai/landing?ctx=<token>" }
// The assistant shares that URL; the user clicks and the page is personalised for them.

And every one of these is measured

Each scenario on this page feeds the same learning loop: what was shown, whether the visitor continued, and whether they converted, all counted against a live holdout that sees the default page. Winners are called only when the statistics clear a real bar, and every rule Spectare proposes shows you the evidence first. Curious what it read about you just now? See how it works, or turn on the x-ray from there and watch this page explain itself.

See it on your site

Start a free trial. Spectare generates your first ten atoms automatically and goes live the same afternoon.