# Audience adaptation in writing: how it is scored and how to change it

> Audience adaptation (audience_adaptation) is a yes or no reading of whether your register shifts depending on who you're writing for.

Canonical: https://scriptgrain.com/attributes/audience-adaptation

# Audience adaptation in writing

*By Jack Stovell · published 2026-09-24*

Audience adaptation (audience_adaptation) is a yes or no reading of whether your register shifts depending on who you're writing for. A ScriptGrain voice profile stores it as true or false, judged by a model from your samples. It is one of six tone and register attributes, and it never moves the voice match score.

## Analyse your audience adaptation free

Your free voice profile measures audience adaptation among all 45 attributes, from a sample of your own writing. No card needed.

[Try the six-signal check first](https://scriptgrain.com/#sg-measure)

## At a glance

- API field: **audience_adaptation**
- How it is measured: **Judged by an AI model**
- Group: **Tone and register** (ScriptGrain voice profile, 45 attributes in 8 groups)
- Scale: **yes or no: does the register shift by audience** (ScriptGrain attribute definitions)
- Voice match: **Not scored** (ScriptGrain voice-match engine (published method))

## What audience adaptation measures

Audience adaptation measures a single thing: does your tone change with the audience, yes or no. That's the app's own definition, word for word: "whether the register shifts depending on the audience." No sliding scale and no shades of grey. Either your writing to a client sounds different from your writing to a mate, or it doesn't.

It is easy to get this wrong about yourself. A writer who swears their voice never changes can still shift vocabulary, sentence length and hedging between a formal report and a Slack message without noticing. A self-declared chameleon can write the same three sentence patterns everywhere, just with the swearing removed for polite company. It sits in the [tone and register group](https://scriptgrain.com/attributes/tone-and-register) alongside formality score and humour register as a companion reading: a yes here says your register moves, and formality says where it sits.

## How audience adaptation is scored

Audience adaptation does not move your voice match score, full stop. The voice-match engine has no comparator for it, so it can't be polished toward and it can't drag a score down. That's different from most of the 45 attributes; 28 of them can move the score, and this isn't one of them.

So how does ScriptGrain get the value, if nothing's counted? An extraction model (Claude Sonnet 5) reads your writing samples in two passes. Pass one goes sample by sample. Pass two synthesises everything into one profile, and that's where your answer to the Profile page's calibration question, "Does your tone change with the audience?", is fed in when the profile is re-extracted. The model judges the rest, and the result is stored as true or false. The [voice measurement framework](https://scriptgrain.com/reference/voice-measurement-framework) sets out what does move a score, and [voice match](https://scriptgrain.com/glossary/voice-match) explains the score itself.

## How to analyse audience adaptation in your own writing

You can check this by hand, no tool required. Here's how:

1. Pull two writing samples from different contexts, say a client email and a personal blog post.
2. Read them back to back and note vocabulary: are you using simpler words, or the same words, in both?
3. Check sentence length. Formal writing tends to run longer; casual writing runs shorter and blunter.
4. Look at contraction use. Dropping "don't" for "do not" is one of the clearest tells that register has shifted.
5. Check hedging. Do you qualify claims more in one context and state them flatly in the other?
6. Write down a plain yes or no. Resist "a bit of both": it isn't an available answer.

ScriptGrain's free voice profile reads audience adaptation from your writing samples among all 45 attributes.

## Examples of audience adaptation in real writing

Example: a writer emails a colleague "can't make the call, will send notes after" and posts on LinkedIn the same day "I wasn't able to join today's session, but I'll circulate a summary shortly." Same fact, two registers. That's adaptation.

Example: a technical writer explains a database migration to engineers using terms like "schema" and "rollback", then explains the same migration to executives as "we moved the data safely and can undo it if needed." Register shifted, substance didn't.

Example: a founder writes the investor update and the team newsletter in the same short, direct sentences, with the same contractions and the same jokes. Two readers, one register. That's a no, and a perfectly good answer.

## How to make AI adapt to each audience

If you want an AI assistant to shift register convincingly, give it the context, not just the topic. Steps:

1. Tell it who the reader is and what they already know, every single time you ask for a draft.
2. In ScriptGrain, set the register override per piece (Formal, Professional, Conversational, Casual) and keep the underlying profile fixed.
3. Give it a sample written for the same audience as the new piece, so it has something concrete to match rather than a vague brief.

When ScriptGrain writes from your profile, the full attribute set goes into the system prompt as a JSON block of hard constraints, and the register override, set on the Generate page or in the API's register field, sits on top as the per-piece lever for a different reader. The profile itself reaches ChatGPT, Claude and other tools through the API and the MCP server.

## How to make AI keep one voice for every audience

If your voice genuinely doesn't change, the fix is to say so and then stop fiddling. Steps:

1. State plainly that your voice does not change with the audience, in whatever brief or instruction you're giving the model.
2. Leave the register override unset. Drafts then follow the profile's own baseline register instead of drifting toward a per-piece setting.
3. Ask explicitly for consistent vocabulary and sentence habits across every version you request.

To check, score each version against the same profile: formality and [confidence vs hedging](https://scriptgrain.com/attributes/confidence-vs-hedging) are judged when each version is scored, so a version whose register drifted scores lower. [Contraction rate](https://scriptgrain.com/attributes/contraction-rate) is the other habit to hold steady, though it never moves the score.

## Questions

### Does my tone change with audience?

Only a comparison will tell you. Put two pieces written for different readers side by side and compare vocabulary, sentence length, contractions and hedging; if they read the same, the answer is no. A ScriptGrain voice profile records a yes or no from your samples, and your answer to the Profile page's question "Does your tone change with the audience?" feeds the next re-extraction.

### How is audience adaptation measured?

No code counts it. An extraction model (Claude Sonnet 5) judges it across two passes, with your answer to a calibration question on the Profile page feeding the synthesis pass when you re-extract. The result is stored as a boolean: true or false, the register shifts or it doesn't. It never moves the voice match score, because the scoring engine has no comparator for it.

### How do I adapt my writing to a specific audience?

Start with who's reading and what they already know, not with the topic itself. Adjust vocabulary, sentence length and how much you hedge claims, based on that reader's context. In ScriptGrain, the register override (Formal, Professional, Conversational, Casual) does this per piece while your underlying voice profile stays fixed, so tone shifts without your actual voice getting lost.

### How do I make AI write for a specific audience?

Give it explicit context about the reader, every time, rather than assuming the model infers it. Provide a sample written for that same audience if you have one; it gives the model something concrete to match. ScriptGrain sends your full voice profile as a hard constraint in the system prompt, with a per-piece register override layered on top for exactly this purpose.

### How do I make ChatGPT change tone for different audiences?

State the audience and the register you want in each request rather than trusting it to infer the reader, and give it a sample written for that audience if you have one. A ScriptGrain profile reaches ChatGPT through the API or MCP server with your baseline voice, so the shift for each audience starts from how you actually write.

## Related

- [Tone and register attributes](https://scriptgrain.com/attributes/tone-and-register)
- [Formality score](https://scriptgrain.com/attributes/formality-score)
- [Humour register](https://scriptgrain.com/attributes/humour-register)
- [Emotional expressiveness](https://scriptgrain.com/attributes/emotional-expressiveness)
- [Tone and register, measured: the attributes behind 'that sounds like us'](https://scriptgrain.com/reference/tone-and-register)

## Sources

- [How ScriptGrain scores voice match](https://scriptgrain.com/reference/voice-measurement-framework)
