Thinking · Newsletter
Using a language model to write ad scripts, without producing slop
The tools are genuinely useful for this and the default output is unusable. The gap is entirely in how you prompt.
This piece is now part of a longer guide: Hooks and creative briefs: the complete guide.
Ask a model for a script and you get something competent, generic and instantly recognisable. That is not a limitation of the tool, it is a description of what you asked for.
Why the default is bad
Because "write me an ad script for X" contains no constraint, and without constraint the model returns the average of everything it has seen. The average ad is bad.
What changes the output
Give it the objection, not the product. "Write to someone who thinks this is overpriced" produces something with a spine.
Give it a voice sample. Paste three real comments from real customers and ask it to write in that register.
Constrain the structure. "First line is a question. No product mention until second five. End on a decision, not a CTA."
Ask for the bad versions too. Requesting five and asking which one it would cut, and why, surfaces the reasoning you actually want.
What it still cannot do
Know what your buyer actually says. That comes from the comments, the reviews and the calls, and it is the input that makes the difference between a script that could be for anyone and one that could only be for you.