Skip to content
Back to Academia

Copywriting: how to write ads and messages people believe

05.03Content and creatives
On this page

An online coffee shop has just received a new Ethiopia from a different farm. The owner messages you on WhatsApp: "I need an ad, a description for the site and a message to regulars. Here's my version, make it sell":

Meet our premium Ethiopia! An incredible taste that will win you over from the first sip. The freshest roast and fast delivery. The best coffee in Kazakhstan, only here! 🔥🔥🔥

It is loud, and it says almost nothing about the coffee: no taste, no roast date, no price, no delivery time. "The best coffee in Kazakhstan" is something any shop can write about itself. Copywriting is the craft behind texts like these, the ones that get a person to take one step: an ad, a product description, a WhatsApp message. Below you will rewrite three of the shop's texts, and then one promise you will be tempted to make yourself once you start selling your own services.

It is the same shop as in the lessons on brand voice and the brand as an asset: freshly roasted beans, 15,000 ₸ a kilo, delivery across Kazakhstan in 2-5 days. The names and numbers are made up.

Start with the customers' words

A text starts with how customers talk about the business in chats, comments and 2GIS reviews. The shop has that material. Regulars write on WhatsApp that they buy here because of the date on the bag and because the beans reach their city quickly. And in a comment under an Instagram post, a customer wrote about the Kenya: "sour as a lemon". Put those words next to the owner's draft:

What customers writeIn the draftIn the new text
"Date on the bag, you can see when it was roasted""The freshest roast""Roasted on Monday, date on the bag"
"Got to Karaganda in three days""Fast delivery""Delivered anywhere in Kazakhstan in 2-5 days"
About the Kenya: "sour as a lemon""An incredible taste""Berry-sweet, like blueberry jam"

Customers describe the shop through things you can see and taste: a date, a delivery time, a flavour. The draft describes it through judgements. A judgement has to be taken on trust. Readers can check a fact themselves: open the parcel and look at the date. Keep adding to a table like this from the chats on every project, and you will not run out of wording.

A fact instead of an adjective

"Premium", "incredible", "freshest", "best" are judgements, and readers skip them because anyone can write them about themselves. The test from the lesson on what marketing is: swap the shop's name for a competitor's. If the sentence is still true, it tells the reader nothing about your offer. "The freshest roast" fits any coffee shop in town; "roasted on Monday, date on the bag" fits only the one that prints the date.

An excited tone also gets in the way of reading. In a 1997 Nielsen Norman Group experiment, a version of a Nebraska tourism website with the boastful claims replaced by neutral wording was 27% more usable than the promotional one, and the neutral version also did better on all four measures (time on tasks, errors, recall, understanding of the site's structure) (How Users Read on the Web). That was a website, not an Instagram ad, but the authors' explanation fits here too: readers have to filter out the promotional claims before they get to the facts.

Look for the fact behind every adjective: "premium" meaning which farm and harvest, "fast" meaning how many days, "freshest" meaning roasted on what date. If there is no fact, cross out the word together with the promise.

The picture shows the same edit for a payout reconciliation service: instead of general words, an action, an object and a way to check that the service does what it says.

The phrase "Comprehensive solutions for your business" is crossed out and replaced with "Reconcile your payouts with your orders", labelled "Action" and "Object", plus the line "View a sample report with discrepancies", labelled "Check".
The phrase "Comprehensive solutions for your business" is crossed out and replaced with "Reconcile your payouts with your orders", labelled "Action" and "Object", plus the line "View a sample report with discrepancies", labelled "Check".

Three texts for the new Ethiopia

The new Ethiopia will appear in three places, and each place has a different reader:

WhereWho reads itWhat they should do
Instagram adSomeone who has never heard of the shop and is scrolling the feedGo to the coffee's page and order
Product page on the siteSomeone already choosing beansAdd it to the cart, or see that they need something else
WhatsApp messageA regular customer who knows the shopReply "yes"

The ad doesn't have to say everything, but it does have to fit the length Meta shows without cutting it off. The product page works the other way round and answers every question that would otherwise go to a manager. And a regular only needs to see what is on offer and what to reply.

The ad

The ad takes one idea from the draft, the new coffee, and adds three things customers mention on their own:

New Ethiopia: berry-sweet, like blueberry jam. Roast date on the bag. 15,000 ₸ a kilo, delivered in 2-5 days.

The headline: "New Ethiopia, roasted this week". The taste is described through something people have eaten, the roast date is what customers write about unprompted, and the price and delivery time answer two questions that would otherwise land in DMs. No fire emojis and no exclamation marks: under its voice rules the shop speaks in facts.

The product page

The draft description read: "Premium Ethiopia. A refined taste with bright acidity and a complex finish. Ideal for connoisseurs." The reader doesn't know who counts as a connoisseur and can't tell whether this is meant for them. The new description:

Ethiopia, a new harvest from a different farm. Berry-sweet, closest to blueberry jam. It has some sourness, but softer than the Kenya. Good for a pour-over, a French press or an espresso machine. If you brew in a cezve and don't like sourness, take the Brazil instead. Roasted every week, date on the bag. 15,000 ₸ a kilo, delivered anywhere in Kazakhstan in 2-5 days.

The most useful line is the one that talks people out of it: this way the shop loses an order that would have ended in a complaint, as happened with the Kenya when its sourness got only a passing mention. A limitation named before the purchase reads as advice, and one named afterwards reads as an excuse.

The message to regulars

Of the 300 regular customers, 210 agreed to receive WhatsApp messages, and only they will get this one. The owner's draft:

🔥BRAND NEW🔥 Meet our premium Ethiopia! For our favourite customers only, 10% off with the code ETHIOPIA10! Order before it's gone!!!

The new message:

Good afternoon, Aliya! A new Ethiopia has arrived, from a different farm: berry-sweet, with a softer sourness than the Kenya. We roast the first batch on Monday and are offering it to regular customers first. Shall we put a kilo aside for you?

It has her name, one sentence about the coffee, one about why she in particular is getting it, and a question that is easy to answer with "yes". There is no discount: regulars order anyway, so the shop's RFM segments show them new lots first instead of giving them discounts.

Promise what you can show

"The best coffee in Kazakhstan" made it into none of the three texts. Nothing backs it up, and advertising law, as we read it, classes any comparison with other sellers' goods as unfair advertising (Article 7(1)(1)), and the shop's voice rules forbid such comparisons.

You will face the same temptation yourself. When you write your profile bio, a post about your services or your first message to a business owner, you will want to promise "I'll grow your sales by 50%". There is no data behind that number. You don't yet know the owner's prices or how fast their managers reply, and sales depend on both.

The first workarounds that come to mind are no better. You could keep the number because a post with it will get more clicks. A high CTR only shows that the promise is intriguing; it doesn't make it true, and a month later the client will ask where their 50% went. You could replace "by 50%" with "guaranteed sales growth". The number is gone, the promise is the same, and it is still stronger than your evidence.

Write the benefit you can back up, and the conditions under which you will deliver it:

I'll set up Instagram ads and order tracking with UTM tags. In four weeks I'll show you what each new customer's order cost and which ad brought it in. For that I need access to your ad account and an export of orders once a week.

The client can check every line. A contract for a first project is built the same way: you guarantee the work and how it will be checked, not the number of sales.

If "I'll grow your sales by 50%" sits in your profile bio or in an ad, that is, as we read it, advertising. The law "On advertising" (as amended up to 17 May 2026) classes as unreliable any advertising with untrue information about expected results (Article 7(2)(6)), and on our reading the one answerable for the content is the advertiser, which means you (Article 20(1)). More on timers and "75%" in the lesson on Cialdini. This is not legal advice.

How to judge a text before and after launch

Before launch:

  1. Read the text aloud the way a manager would say it to a customer on the phone. Cross out any phrase that is awkward to say out loud ("will win you over from the first sip").
  2. Check every promise against the site using the promise table for creatives.
  3. Give the text to someone from the audience and ask them to retell it: what is on offer, what it costs, what to do next. If the retelling differs from what you meant, fix the text, not the person.

After launch, a text is judged by the step it was written for: the ad by orders with its utm_content in the CRM, the message to regulars by "yes" replies and orders. Ad versions are compared on orders, and the shop gets only a handful of those a week. A winner is picked once the difference rests on more than one or two orders, and until then you read the chats.

Exercise: three texts for your own project

Take the business you ran the week 2 test campaign for in the Start track, or any business that writes to its customers.

If the text got half as long once the judgements were replaced, that is how it should be: it had fewer facts than words. If a judgement has nothing to replace it, say the business has never measured its delivery times, that is a question for the owner: until the times are measured, there is nothing to say about speed.

A limitation in the description works if someone the product doesn't suit reads the line and picks something else. "Not for everyone" fails this test, because it never says for whom.

In your profile bio, look at the verbs. "I'll grow", "I'll boost", "I guarantee" promise a result that doesn't depend on you alone, while "I'll set up", "I'll calculate", "I'll show" promise work the client can check. A sentence that survives the swap to a competitor's name is about the market, not about you.

Video: what copywriting is for

Copywriting: what it is and how much a copywriter earns - Mark Nikolaev (in Russian)

Need help applying this to your analytics? Discuss your project with Goodlabs →