If you’ve ever sat in a “customer insights” meeting, you know the pattern:
Classic persona work has three big issues:
Large language models (LLMs) change the game. With well‑designed prompts, you can:
The result is prompt‑powered personas: reproducible, data‑backed, and cheap enough to refresh monthly instead of once a year.
The rest of this piece walks through the full pipeline:
Use it as a playbook for your marketing, product, or data team.
Let’s define our terms before we start throwing prompts at everything.
A prompt‑powered user persona is:
Compared with a slide‑deck persona, you get three clear advantages:
For persona work, you rarely need fancy agents. You mostly need three families of prompts, used in sequence:
| Prompt type | What it does | Typical input | Typical output | |----|----|----|----| | Data‑parsing | Clean and condense raw logs | Support chats, reviews, survey text | A concise per‑user summary | | Label‑generation | Turn that summary into reusable tags | “User summary” text | Attribute, behaviour, need, and preference labels | | Persona‑synthesis | Turn labels into readable paragraphs or tables | Labels + key stats | Human‑friendly persona docs |
We’ll use all three in the five‑step workflow.
Under the hood, persona prompts lean on three capabilities:
price‑sensitive).If you don’t design your prompts to tap these explicitly, you’ll either get fluffy essays or brittle outputs you can’t aggregate.
You only need three things to get started: data, a model, and a few helper tools.
You don’t need a full CDP rollout. Start with three data types and a manageable sample size (e.g. 30–50 users).
| Data type | Examples | Why it matters | Typical source | |----|----|----|----| | Structured | Transactions, AOV, product categories, device, geography, age band | Stable backbone: spend, frequency, core attributes | CRM / data warehouse / analytics | | Semi‑structured | Form fields, survey answers, delivery notes (“leave in parcel locker”) | Explicit needs and constraints | Survey tools, checkout forms | | Unstructured | Support chats, product reviews, email threads, forum posts | Hidden pain points, tone, expectations | Helpdesk, app reviews, social listening |
Two boring but important rules:
Pick the smallest thing that gets the job done:
A nice pattern:
We’ll walk through a concrete example: a UK e‑commerce brand selling baby products.
Meet User ID: M‑1045. Here’s the raw data you’ve pulled together:
Now we’ll turn that into a usable persona.
Your first prompt bundles all raw fields into a single, compact “user packet”.
You are helping me analyse one customer. Task: 1. Combine the raw data below into a short "user data summary" with four sections: - Basic profile - Shopping behaviour - Product feedback - Support questions 2. Remove filler text and duplicates. Keep only information that could be useful for later analysis. 3. Use neutral, concise language. Do not speculate beyond the data. Raw data: - Demographics: 29-year-old woman, Manchester. - Orders Jan–Apr: newborn nappies, anti-colic bottle set, fragrance-free baby laundry liquid. Average order value £32. - Review: "The anti-colic bottles are brilliant — baby no longer throws up, but the teats feel a bit hard. Had to swap to a softer size. Customer service were lovely and walked me through sterilising them." - Support chat: "Can this laundry liquid be used on muslins and bibs? My baby's skin is quite sensitive. Also, do you do smaller travel-size bottles? We visit grandparents a lot and don’t want to carry the big one."
Typical output:
# User M‑1045 — Data Summary - Basic profile: 29-year-old woman living in Manchester; has a young baby. - Shopping behaviour: Bought newborn nappies, anti-colic bottle set and fragrance-free baby laundry liquid between Jan–Apr; average order value around £32. - Product feedback: Anti-colic bottles reduce baby’s vomiting; current teats feel hard, needed to change to softer size; positive experience with customer service and sterilisation guidance. - Support questions: Asked whether laundry liquid is suitable for muslins/bibs and sensitive skin; asked for travel-size packaging for visiting grandparents.
You can run this in bulk: one row in your dataset → one “data summary” text blob.
Next, we ask the model to lift structure out of the narrative.
From the following "user data summary", extract key information in four groups: 1. User attributes — age band, gender, location, family role if evident. 2. Shopping behaviour — product categories, frequency, typical order value, decision drivers. 3. Core needs — explicit or implied needs about products, packaging, and usage scenarios. 4. Service feedback — attitude towards support or post-sale experience. Return a bullet list for each group. If something is not stated, say "not stated" instead of guessing. User data summary: [PASTE SUMMARY HERE]
Example output (trimmed):
1. User attributes - Age band: late 20s - Gender: female - Location: Manchester (UK) - Family role: parent of a young baby 2. Shopping behaviour - Categories: baby hygiene (nappies, laundry liquid), feeding (anti-colic bottles) - Frequency: several purchases over 3–4 months - AOV: ~£32 - Decision drivers: reduce colic, gentle on sensitive skin 3. Core needs - Product function: anti-colic performance; gentle, fragrance-free cleaning products suitable for baby items. - Product fit: softer bottle teats. - Packaging: smaller travel-size laundry liquid for trips to grandparents. 4. Service feedback - Positive sentiment: found customer service helpful and friendly. - Value: appreciated practical guidance on sterilising bottles.
This structured view is what we’ll turn into tags.
Labels are how personas become queryable and combinable with the rest of your data stack.
We’ll define four buckets: attributes, behaviours, needs, and preferences.
You are a data strategist creating standardised user labels. Using the extracted facts below, generate labels in four groups: 1. Attribute labels — basic characteristics, format "Dimension:Value" e.g. "AgeBand:25–34". 2. Behaviour labels — shopping or product-usage patterns, format "Behaviour:Description". 3. Need labels — explicit requirements or problems to solve, format "Need:Description". 4. Preference labels — inferred but grounded preferences, format "Pref:Description". Rules: - Keep each label under 8 words. - Avoid duplicates; normalise similar ideas under one canonical label. - For each preference label, include a short "(based on ...)" note with the evidence. Facts: [PASTE EXTRACTED FACTS HERE]
Example output:
Attribute labels - AgeBand:25–34 - Gender:Female - Location:Manchester - FamilyRole:NewParent Behaviour labels - CategoryBabyHygiene:ActiveBuyer - CategoryFeeding:ActiveBuyer - PurchaseFrequency:Monthly-ish - AOV:£25–40 - DecisionDriver:FunctionOverAesthetics Need labels - Need:GentleLaundryForSensitiveSkin - Need:TravelSizeBabyLaundryLiquid - Need:SofterBottleTeats - Need:ReliableAntiColicPerformance Preference labels - Pref:ValuesHelpfulCustomerService (based on positive review) - Pref:WantsPracticalHowToGuidance (based on sterilising advice) - Pref:PortableBabyCareSetup (based on travel-size request)
At this point you already have something useful: you can drop these labels into a warehouse table and start filtering:
Need:TravelSizeBabyLaundryLiquid and Pref:PortableBabyCareSetup.”For busy stakeholders you want two views:
Act as a UX researcher. Using the labels and facts below, write a concise "living persona" with the following sections: 1. Core identity — 2–3 sentences. 2. Shopping pattern — 2–3 sentences on what, how often, and why they buy. 3. Core needs — 3–5 bullet points. 4. Service expectations — 2–3 bullet points. 5. Potential value — 2–3 bullet points; for each, state the evidence. Use plain British English, write in the third person, and do not invent details that are not supported by the data. [PASTE LABELS + KEY FACTS]
Example output:
### Persona: “Portable‑Planning New Parent” (User M‑1045) **Core identity** A woman in her late twenties living in Manchester, parenting a young baby. She’s in the thick of newborn life and wants products that quietly work without fuss. **Shopping pattern** Buys core baby categories – nappies, feeding equipment and cleaning products – roughly monthly, with orders of around £30. She prioritises functional benefits like anti‑colic performance and gentle formulas over fancy packaging. **Core needs** - Laundry products that are safe on sensitive baby skin and fabrics - Anti‑colic bottles that actually reduce vomiting - Softer, more comfortable bottle teats - Smaller, travel‑friendly packs for frequent visits to grandparents **Service expectations** - Friendly, responsive support - Clear, practical “how to” guidance (e.g. sterilising) - Easy swaps when something like teat softness isn’t quite right **Potential value (inferred, with evidence)** - Strong repeat‑purchase potential in baby hygiene and feeding _(based on several purchases over multiple months)_ - High sensitivity to practical pain points — ideal candidate for product testing or feedback loops _(based on detailed reviews and proactive support chat)_ - Likely to recommend brands that “look after her” _(based on positive comments about customer service)_
Summarise this persona as a table with three columns: "Dimension", "Detail", "Source". Dimensions must include: - Basic attributes - Shopping behaviour - Product needs - Service preferences - Potential value Mark each row's source as "structured data", "unstructured text", or "inferred from evidence".
You’ll get something like:
| Dimension | Detail | Source | |----|----|----| | Basic attributes | Late‑20s female, lives in Manchester, parent of a young baby | Structured + inferred | | Shopping behaviour | Buys baby hygiene and feeding products monthly, AOV ~£32 | Structured data | | Product needs | Gentle laundry, softer teats, travel‑size packaging | Unstructured text | | Service prefs | Friendly support, clear how‑to guidance, easy exchanges | Unstructured text | | Potential value | Strong repeat and advocacy potential | Inferred from evidence |
LLMs are great at sounding right. Your last step is a “reviewer” prompt that checks your own work.
You are reviewing a generated user persona. Given: - The original raw data - The extracted facts and labels - The final persona text Evaluate the persona on three dimensions: 1. Completeness — does it cover all important facts from the data? List any missing items. 2. Accuracy — are any statements wrong or overstated compared with the data? 3. Reasonableness of inferences — for each inferred claim, list the evidence or say "no direct support". Flag anything that should be removed or softened. Return a short report with "Findings" and "Suggested edits".
You can even automate this: persona generation → reviewer prompt → automatically apply safe edits (e.g. delete inferences with “no direct support”).
The five‑step flow stays the same, but the labels and emphasis change per industry.
Beauty brands care about:
Prompt idea — label generation
You are labelling a skincare shopper. From the review + transaction data below, create labels in three groups: 1. Skin & concern labels — e.g. "SkinType:Dry", "Concern:Redness". 2. Spend & channel labels — e.g. "PriceBand:MidHigh", "Channel:LiveStream". 3. Repeat-purchase potential — single label like "Repurchase:High/Medium/Low" with a one-sentence explanation. Only use information that is directly stated or clearly implied.
Example facts:
Likely key labels:
SkinType:DryConcern:WinterDehydrationPriceBand:MidHighChannel:BrandSiteRepurchase:High (bought 3x in 5 months and mentions stocking up)For an online tutoring company, personas pivot around:
Prompt idea — narrative persona
Create a short parent persona from the consultation notes below. Include: - Child profile — year group, subject focus, current level. - Learning pain points — 3 bullet points. - Parent goals — 2–3 bullet points. - Budget & format preferences. Write 2–3 short paragraphs in plain English as if summarising for a sales advisor.
Given notes like:
…you get a persona that tells your sales or product teams exactly which programme to recommend.
A card issuer cares about:
Prompt idea — table persona
Summarise this cardholder as a table with: - Basic info (income band proxy if possible) - Spend pattern (top categories and share) - Repayment behaviour (full, partial, late) - Credit appetite (interest in instalments, loans) - Value levers (what benefits they engage with) Do not guess income; only infer rough bands if the spend profile clearly justifies it.
Feed in a month of anonymised statement data plus on‑site behaviour like “clicked but did not apply for travel instalment plan”, and you can quickly identify segments like:
Again: same pipeline, different labels.
Symptom: You get both price‑sensitive and wants things cheaper for the same user.
Fix — add normalisation rules into the prompt
When creating labels, normalise synonyms to a single canonical label. Examples: - "too expensive", "wish it were cheaper" → PriceSensitive - "buys often", "orders several times a month" → HighFrequencyBuyer
Symptom: From “buys shampoo”, the model infers “likes Korean skincare”.
Fix — explicitly restrict inference
You may only infer a preference if there is a clear, direct signal. For each inferred label, include a short "(based on ...)" explanation. If you cannot state the evidence in one short phrase, do not create the label.
Symptom: You paste 3,000 words of interview transcript and the model forgets key points.
Fix — chunk + module prompts
Symptom: Persona A has “region” and “service expectations”; Persona B doesn’t.
Fix — hard‑require dimensions
For every user, you must output values for these dimensions: - Age band - Gender (or "not stated") - Core need (at least one) - Purchase frequency (or "not stated") Optional dimensions: - Region - Brand preference - Service feedback If a required dimension is missing from the data, set its value to "unknown" instead of dropping it.
Symptom: Labels, explanations, and sections all blur into one paragraph.
Fix — lock the output structure
Follow this exact structure and headings: ## 1. Required labels - [Label] — [one-line explanation] ## 2. Optional labels - [Label] — [one-line explanation] Do not add, remove or rename headings.
Symptom: You paste one user at a time into ChatGPT.
Fix — batch prompts with placeholders
For each user in the list below, create 1–2 core need labels. Output one line per user using the format: [UserID] — [Label 1]; [Label 2] Users: 1. U001 — [raw data here] 2. U002 — [raw data here] 3. U003 — [raw data here]
Pair this with a spreadsheet or small script and you can process hundreds of users per run.
Personas are only useful if they change decisions. Prompt‑powered ones make it much easier to plug into real workflows.
Add a final instruction to your persona prompt:
Based on this persona, write three short marketing messages for a push notification campaign. Each message should clearly connect a specific product benefit to a stated need.
Example for our “Portable‑Planning New Parent”:
Prompt:
From the need and preference labels across this segment, suggest 3 product or UX improvements. For each improvement, include: - Which labels it addresses - A one-sentence rationale - How you might A/B test it
The model will often surface very mechanical but high‑ROI changes:
Prompt:
Using the service feedback and expectations for this persona, propose one change to our customer support journey that would reduce effort for the user and for the support team.
For M‑1045, you’ll likely see ideas like “proactive help articles and videos linked from order confirmation emails”, which your CX team can run with.
If you want to make this article stick, try these with your own data — or adapt the examples below.
You’re given this (fictional) customer:
Task: Write an extraction prompt that would pull out:
Then, using that prompt, jot down what an LLM should return.
Using your answer from Exercise 1, design a label‑generation prompt and produce:
Make sure you add at least one normalisation rule (e.g. any complaint about size → Need:AccurateSizing).
Turn your labels into:
The constraint: every sentence must be traceable back to data or a clearly explained inference. No vibes‑based fiction allowed.
Prompt‑powered personas are not magic. They won’t fix bad tracking, missing data, or a team that never talks to real customers.
But they do give you a realistic path to:
If you treat personas as living artefacts, re‑generated every quarter (or even every sprint) from fresh data, they stop being wallpaper and start becoming a genuine decision tool.
The tech is already here. The bottleneck is whether your team is willing to ship the first scrappy version, refine the prompts, and let the personas evolve with your users.
That part is on us, not the model.
\


