AI Guides › Playbooks
By Nigel Guy · 7 min read
The usual way to write ad copy is to sit with a blank page, or a chatbot, and brainstorm. You end up with lines like "Effortless results, every time" and "The smarter way to bake", because that is how businesses describe themselves. It feels productive because the list is long and every line is grammatical. The problem is that none of it sounds like your customer. People don't search for "effortless results". They type the exact, slightly embarrassing sentence that describes their problem, and plenty of them have already written that sentence on Reddit.
Asking AI to "write ad copy using Reddit language" doesn't fix this on its own. The model paraphrases, smooths things over and quietly slips back into brochure-speak. You need something in between: a record of what real people actually said, which the AI has to work from and you can check its output against.
The rule: every line of copy has to point back to a phrase you copied word for word from a real thread and saw more than once. If you can't point to the phrase, it's a brainstorm with extra steps.
A brainstorm gives you back your own vocabulary. Reddit threads give you three things you can't easily make up: the trigger (what happened that made someone go looking for help), the failed fix (what they already tried that didn't work), and the words they use for the outcome they want. Those map neatly onto a headline, a "why this is different" line and a call to action.
Reddit's ad guidance points the same way. Its copy best-practice page recommends a conversational tone, first- and second-person pronouns, questions, and reading the headline aloud to check it sounds like something a real person would say.
The Phrase Ledger is a single table, kept in a spreadsheet, with one row per phrase. It sits between your reading and the AI's writing.
| Column | What goes in it | Why it matters |
|---|---|---|
| Verbatim | The exact words, copied and pasted, typos included | Paraphrasing is where the voice goes missing |
| Type | Trigger / Failed fix / Pain / Desired outcome / Objection | Tells you where in the ad the phrase belongs |
| Thread | Link to the post or comment | Lets you (or a reviewer) check the context later |
| Repeats | How many different people said something close to it, across how many threads | Separates a pattern from one loud person |
| Status | Candidate / Use / Park | Only "Use" rows go to the AI |
Leave out usernames. You don't need them to write copy, and UK GDPR's data minimisation principle says to keep only the personal data you actually need.
Search Reddit for the problem, not for your product. "Sourdough starter" gets you hobbyist chat. "Starter smells weird" or "why is my loaf dense" gets you people with the problem. Sort by top or by most comments, and read the comments as well as the post: that's usually where the failed fixes turn up.
If you want to keep watching a topic, Reddit Pro is a free business toolkit with a Trends tab. You add keywords and it shows where and when they're being discussed. It helps you find threads. It doesn't replace reading them.
Paste the exact words into the Verbatim column. Don't use a summary as your source. That includes Reddit's own AI search (formerly Reddit Answers, now merged into Reddit search), which builds answers from posts and comments. A summary is already a paraphrase, and the phrases you want are the ones a summariser would tidy away.
Do this reading yourself in a browser. Reddit's User Agreement (effective 1 July 2026 at time of writing) says scraping the service without Reddit's prior written consent is prohibited, and bars commercial exploitation of its content without a written agreement. A hand-kept ledger of short phrases that you use as research is a very different thing from a bot copying threads in bulk. Don't build the bot.
A phrase only moves from Candidate to Use once at least three different people have said something close to it, across at least two threads. That's a working threshold, not a statistic, so raise it if your niche is busy. The aim is to stop one vivid comment from becoming your whole campaign.
Give the model only the Use rows, plus your offer and the platform limits. Pasting whole threads invites it to summarise. Here's a prompt you can adapt:
You are writing ad copy for [product] for [audience]. Below is a table of phrases real customers used, copied verbatim, each labelled by type. Write [number] headlines and [number] descriptions. Rules: each line must reuse wording from at least one row, and you must cite that row's number after the line in brackets. Do not invent problems, results or numbers that are not in the table. Do not use the words "effortless", "seamless", "revolutionary" or "game-changing". Keep headlines under [limit] characters. If a row cannot be used honestly for this product, say so instead of forcing it.
The citation requirement is what makes this work. Any line without a row number gets deleted, however good it sounds.
The trap is drift. Somewhere around the tenth headline the model swaps "my starter smells like nail polish remover" for "say goodbye to starter troubles". Read each line next to the row it cites. If the customer's words are gone, the line goes too.
The second trap is legal, not stylistic. A Reddit comment is not a testimonial for your product. Under the CAP Code, as the ASA's guidance sets out, testimonials have to be genuine, relate to the product being advertised, not be edited misleadingly, and generally need permission (with an exception for accurate quotes from published sources). The ASA renumbered parts of this guidance recently, so check the current rule numbers on its page. Use Reddit phrases to describe the problem in your own ad voice. Never put them in quotation marks as if a customer were endorsing you.
Run the ledger-based lines against your existing brainstormed copy in the same campaign, and judge them on the result you actually care about. The ledger tells you what to test. It doesn't tell you what will win.
A small bakery in Leeds sells a beginner sourdough kit online. The owner's brainstormed headline was "Artisan bread made simple". She spends an evening reading threads and her ledger ends up with these Use rows (illustrative phrases, not real quotes):
| # | Verbatim | Type | Repeats |
|---|---|---|---|
| 1 | "my starter smells like nail polish remover" | Pain | 5 people, 3 threads |
| 2 | "binned my third starter" | Failed fix | 4 people, 2 threads |
| 3 | "every loaf comes out flat and dense" | Pain | 6 people, 4 threads |
| 4 | "I just want one loaf that actually rises" | Desired outcome | 3 people, 2 threads |
She asks for Google responsive search ad headlines, which are capped at 30 characters each (up to 15 headlines and 4 descriptions of up to 90 characters, per Google's help page). Lines that survive the check:
Lines that get deleted: "Master artisan sourdough" (no row) and "Rated 5 stars by home bakers" (no row, and an unsupported claim).