Skip to content
Bach.ai

How to Write Meta Ad Copy That Converts — D2C Playbook

Updated Published
Drafted with AI assistance and edited by the Bach.ai team. How we write

What makes Meta ad copy convert for a D2C brand?

Specificity, almost always. Replace adjectives with a number, a material, a timeframe or a test result — 5% niacinamide beats glowing skin, 48-hour delivery beats fast shipping. Vague praise reads as every other ad in the feed; a concrete claim is the thing a buyer can actually evaluate.

Visuals get the scroll-stop. Copy closes the click. Most D2C ads have decent visuals and weak copy — and weak copy wastes the scroll-stop the visual just bought you. Here’s the copy framework that actually moves the needle, with rewrites that show the difference.

The Three Layers of Ad Copy

Every Meta ad has three copy slots that matter:

Primary text (above the visual): the body. Only a minority of viewers read past the first line before the truncation point, which is why that first line carries the weight. Most important for cold prospecting.

Headline (below the visual): the punch. It sits under the image where the eye lands next, and it is never truncated — which is why it carries more weight than its length suggests. Most important for retargeting.

Description (small text, below headline): rarely read by mobile users. Use for compliance or trust signals only.

Optimize the headline first. Then primary text. Description is a footnote.

The Hook-Body-Offer-CTA Structure

For primary text on cold prospecting:

[Hook — 1 sentence]
[Body — 2-3 sentences]
[Offer — 1 sentence]
[CTA — 1 sentence]

Hook (Sentence 1)

The first line is the only line that matters if you don’t earn the second.

Three hook frameworks that work:

Pattern interrupt question: “What if your hair fall isn’t about your shampoo?”

Specific stat: a number you can prove, such as your own review count or delivery time. Never a health statistic you can’t source, and never one that implies you know the viewer’s condition.

Identification: “If you’ve tried 3+ shampoos and none worked, read this.”

Avoid: “Introducing our new product.” “Hi there!” “Are you tired of…”. Generic openings die on impression one.

Body (Sentences 2-4)

The case. Why this product solves the hook. Specific, concrete, no fluff.

Bad: “Our amazing formula uses advanced ingredients to nourish your hair from root to tip.”

Good: “We replaced sulfates with rice protein and Bhringraj. Six weeks in, 89% of users in our trial reported less fall in the shower drain.”

The principle: every claim should be specific enough to be falsifiable. Vague claims read as marketing. Specific claims read as truth.

Offer (Sentence 5)

What’s the trade. Price, discount, bundle, urgency.

“$19 for the 250ml bottle. Free shipping above $35. 30-day return if it doesn’t work.”

CTA (Sentence 6)

The action. Specific, low-friction.

“Tap shop now to see the trial bundle.”

Character Counts That Don’t Cut Off

Meta truncates copy on mobile feed:

  • Primary text: ~125 characters before “…See more”
  • Headline: ~40 characters before truncation
  • Mobile Reels: ~30 characters visible by default

Write your hook in the first 125 characters. Headlines in 40. Anything past that is for people already convinced enough to expand.

Headline Formulas

Five frameworks that work for D2C headlines:

Specific outcome: “Less fall in 21 days” Anchor + benefit: “$25 — pain-free underarms” Identifier + outcome: “For women over 35: visible skin firmness” Question: “Tired of greasy roots by lunchtime?” Comparison: “Half the calories. Same crunch.”

Headlines are not titles. Headlines are punches.

12 Before/After Rewrites

1. Hair Care

Before: “Introducing our new hair oil with natural ingredients!” After: “73% of women experience hair fall in their 20s. Our Bhringraj-Amla oil cut fall by 41% in 90 days. Try it for $19”

2. Skincare

Before: “Get glowing skin with our amazing serum!” After: “5% niacinamide. $24. Visible texture change in 14 days or your money back.”

3. Athleisure

Before: “Our new collection is out now! Shop today!” After: “Squat-tested by 200 athletes. $39 leggings that don’t roll down. Free returns.”

4. Coffee

Before: “Premium coffee delivered to your door.” After: “We roast on Tuesday. Ship on Wednesday. You brew Friday. $14 for 250g, single-origin.”

5. Snacks

Before: “Tasty, healthy, and delicious snacks!” After: “Roasted, not fried. 7g protein. Tastes better than the regular ones. $4 for 100g.”

6. Baby Care

Before: “Safe and gentle products for your little one.” After: “Made for newborn skin. Sulphate-free, paraben-free, lab-tested. $18 for the starter pack.”

7. Jewellery

Before: “Beautiful designs for every occasion.” After: “Silver. 925 hallmarked. $25 with free shipping. Next-day delivery in London.”

8. Home

Before: “Premium home furnishings for the modern home.” After: “We weave on handlooms in Bhagalpur. $29 cotton bedsheet. Wash 100x without fade.”

9. Pet Food

Before: “Healthy pet food made with love.” After: “Vet-formulated. No fillers. $12/kg for adult dogs. Bones healthier in 60 days per 4 vets.”

10. Supplements

Before: “Boost your health with our supplements!” After: “Magnesium glycinate, 200mg per capsule. $18 for 60 capsules. Backed by 14 peer-reviewed studies.”

11. Beauty

Before: “Our lipstick collection is perfect for every mood!” After: “Matte. 12-hour. Doesn’t bleed. $16. Tested on 50 skin tones, deepest to fairest.”

12. Tech Accessories

Before: “High-quality earbuds for everyday use.” After: “$25 wireless earbuds. 18-hour battery. IPX5 rated. 250 verified reviews, 4.6 stars.”

What These Have in Common

Every “After” version has:

  • A specific number
  • A specific timeframe or context
  • A clear price
  • A risk reversal or proof point
  • No filler words (“amazing,” “premium,” “love”)

That’s the formula.

The Local Context Layer

A few patterns that only work once you know the market you are selling into:

  • Naming the locally dominant payment or delivery promise lifts CTR — cash on delivery in India and Southeast Asia, buy-now-pay-later in the US and UK, free returns almost everywhere
  • Code-switching into the local vernacular for a word or two — Hinglish in India, Spanglish in parts of the US — lands in some categories and reads as pandering in others. Test it, do not assume it
  • Free shipping above $35 is now table stakes — call it out, but don’t lead with it
  • City-specific delivery times (“Delivers in Mumbai in 24 hours”) works for new entrants

Bach.ai Audits Your Ad Copy

Bach.ai compares your ad copy against landing page copy for coherence and surfaces low-performing copy patterns. Bach.ai is live at app.wittelsbach.ai. Connect Meta, get a full account audit, and see exactly where your spend is leaking.

Method and sources

“Specificity, almost always. Replace adjectives with a number, a material, a timeframe or a test result — 5% niacinamide beats glowing skin, 48-hour delivery beats fast shipping.”

Source: Where this guide describes platform behaviour, it follows Meta’s published advertising and Marketing API documentation, which changes without notice — verify anything load-bearing against the current version before you act on it. Every threshold the guide asks you to supply is first-party, drawn from your own account exports and commerce ledger, because no external benchmark can stand in for your own margin structure.

See what your Meta ads are really costing you.

Connect your account and Bach ranks potential revenue leaks with estimates and actions you can review. Free for 7 days, no credit card.

Start Free Audit
Start your free audit