Guide

Fan Chatting Scripts: What to Write, and How to Test It

What belongs in a fan chatting script, stage by stage, how to keep it personal, and how to test one version against another on your own real threads.

Published 28 July 2026

6stages in the script map below, from opening to follow-upstructure of this guide
6th messagepitch before it and conversion drops by roughly a third; the optimum sits after about ten exchangesour data
3closing behaviours measured as costly: ellipsis endings, closed questions at the close, personal callbacks at the pitchour data
1.5Mmessages analysed across 42,852 conversationsour data

Most agencies have something they call a script. Usually it is a document of ready-made lines that new chatters paste for a week and then abandon, because real conversations do not arrive in the order the document assumed. That version of a script is worth very little.

A script that survives is a different thing entirely: a map of stages, each with a purpose and an exit condition, plus a few ways of saying each thing in the creator’s voice. It tells a writer where they are and what has to happen next. It does not tell them the sentence.

What is a fan chatting script, and what is it not?

It is the operating instructions for a conversation, written once per creator and used by everyone who touches her inbox.

  • It is not a message bank. Ready-made lines age fast and read as copy-paste the moment two fans compare them.
  • It is not a voice guide. The voice guide says who she sounds like and what she will never say. The script says what happens in what order. You need both, and only the creator can write the first one.
  • It is not a price list. The floor price lives in its own document, because it changes on a different schedule.
  • It is a shared reference point. Two chatters on one account without a script will contradict each other inside a week: one has already offered what the other is building towards.

What goes into a script that survives a real shift?

Five components. Anything else you add will be skipped.

Component What it answers Failure if missing
Stage map Where am I in this conversation? Chatters pitch on message three
Exit condition per stage What has to be true before I move on? Everyone advances at a different speed
Two or three phrasings per stage How do I say this as her? Copy-paste, identical across fans
Never-dos What must I never do? Repeated, measurable losses
Hand-off triggers When do I stop and escalate? Refunds and distress handled by a junior

The never-do row is the cheapest to write and the most valuable. Three items belong there in every script, all measured across 1.5 million messages:

  1. Never end a sales message with an ellipsis. It is the worst-performing closer in the corpus; how to end a sales message covers what to put there instead.
  2. Never close on a closed question. A yes/no at the moment of the offer costs several points of conversion. It hands the fan a one-word way out.
  3. Never place a personal callback at the exact moment of the pitch. It costs points, and it is the most counter-intuitive finding we have; personalising a sales message sets out where the callback goes instead.

How do you break a conversation into stages?

Six stages cover almost every thread. Write the exit condition, not the script line.

Stage Purpose Exit condition
Opening Acknowledge, set the register Fan has replied in their own words
Qualifying Learn what they are here for You know one specific thing about them
Warming Build enough exchange to earn an offer Depth reached, interest signalled
Offer Make one clear, priced proposal Answer received, of any kind
Objection or refusal Keep the relationship, hold the price Fan re-engaged or thread parked
Follow-up Reopen later without pressure Bought, or capped and rested

The exit condition between warming and offer is the one that pays. Our data is unambiguous: pitching before the sixth message drops conversion by roughly a third, and the optimum sits after about ten exchanges. So the rule in the script should read as a floor plus signals (“not before the sixth message, and not until they have asked something of you”), never as a message number alone. When to pitch a sale sets out the signals worth writing into that line.

How do you keep it personal without rewriting it per fan?

By writing slots, not sentences. A stage line with one variable slot produces a different message for every thread while staying inside the voice.

  • The reference slot. One concrete thing the fan told you: their city, their shift pattern, the reason they subscribed. Generic warmth reads as a broadcast, because it is one.
  • The purchase slot. What they last bought, and at what price tier. A fan re-offered something they already own stops reading everything you send.
  • The refusal slot. What they have already turned down. This is the record chatters forget and the one fans remember.
  • The teaser slot. What is actually available today, in her words, not last month’s list.

Fill those four from the thread history rather than from memory, and the same script produces messages no two fans would recognise as the same message.

What do you write for a refusal, or for silence?

Write both, explicitly, because these are the stages people improvise and improvisation is where the price floor goes.

For a refusal: acknowledge it once, do not re-pitch in the same message, and never discount on the spot. A discount offered the moment a fan pushes back tells them the first number was invented, and you cannot take that back. The script should give one line that keeps the door open and moves the conversation somewhere else.

For silence: cap it. Two attempts, spaced, referencing something specific, then the thread rests or moves to a win-back sequence weeks later. Schedule those for late afternoon and the hours before your evening block opens: your peak belongs to live threads, and our data shows the 2am-6am window collapses conversion, so nothing should land there either.

How do you test a script and know which version wins?

One line, one alternative, threads at the same stage, logged. Anything looser produces opinions.

Field Example entry
What changed Offer line: statement close vs question close
Stage tested Offer only
Population New subscribers, first offer
Run length Until neither version can be swung by a single sale
Outcome measured Reply rate, then conversion
Decision Adopt, revert, or run longer

Same stage, one line, enough volume that a single high-spending fan cannot decide it: how to test what works in fan conversations sets out the assignment rules that decide most agency tests before the first message goes out.

What will a script never fix?

Four things, and mistaking them for script problems wastes months.

  • An unstaffed evening. No wording recovers a message answered the next morning.
  • A creator with no written voice. The script has nothing to speak in.
  • A team paid on activity. Pay per message or per pitch and you manufacture the early pitch, whatever the script says.
  • A broken record of the thread. If nobody knows what this fan already refused, every stage after the first is a guess.

Start with one page: the six stages, one exit condition each, and the three never-dos. That page is already more than most agencies have written down, and it is the part that the data says moves the number. Everything else (the phrasings, the slots, the test log) can be added a week at a time. If you also route part of the inbox automatically, automating fan messages sets out which stages hold up without a person and which do not.

Frequently asked questions

Won't a script make every fan get the same messages?

Only if you wrote wording instead of structure. A script that specifies the goal of a stage and its exit condition produces different sentences from every chatter; a script that specifies the sentence produces copy-paste. If two fans could compare notes and find identical text, you wrote the wrong document.

How long should a script be?

Short enough that a chatter can hold it in their head after a week. Anything longer gets skimmed once during training and never opened again. If it will not fit on a couple of screens, you have written a manual, and manuals do not get consulted mid-shift.

Can I reuse one script across several creators?

The stage map, yes. The wording, no. The sequence of what has to happen before an offer is broadly the same trade over; the register, the boundaries and the price floor are specific to one person and belong in her voice guide, not in a shared template.

Should the script tell chatters exactly when to pitch?

It should tell them what has to be true before they can, which is stronger than naming a moment. Two conditions do most of the work: the fan has asked something of you rather than only answered you, and the warming stage has reached the depth it exists to reach. A chatter watching a counter pitches on the count; a chatter watching the two signals pitches on the thread.

What do I do about a fan who never buys?

Write a stage for it and cap it. Two follow-up attempts, then the thread rests or moves to a win-back sequence weeks later. Endless nudging costs you the subscription, and the script should say so explicitly, because instinct says keep going.

How do I know a new script version is actually better?

Compare like with like: threads at the same stage, over enough conversations that a single whale cannot swing the result, changing one line at a time. If you change three things at once, you learn nothing about any of them.

See what it looks like in practice

The justonedash chatbot holds the conversations, keeps each creator’s voice and works around the clock.