A client asks for “a selling post”. An hour later there is a caption that opens with “Exciting news!” and closes with a four-line price list and two phone numbers. Reach is normal, inquiries are zero. The conclusion drawn is the wrong one: “social doesn’t sell, let’s put the money into ads.”
The mirror failure is more common. An account is run carefully — tips, useful threads, friendly replies. People enjoy it, follow for two years, and still have no idea what you sell or what it costs. Both cases come down to the same thing: a post sells because it hits a problem someone hasn’t solved yet and makes the next step obvious, not because of exclamation marks or good manners.
Below: the structure block by block, hooks you can copy and adapt, an offer formula with before/after rewrites, the character limits that actually shape your text, and an honest list of situations where a selling post won’t save you.
Why most “selling posts” don’t sell
- The offer is vague. “Professional web design at affordable prices” describes forty agencies. Nothing to compare, nothing to decide on.
- It talks to everyone. A post written “for anyone who needs marketing help” is recognised by nobody. One post, one situation: “if you run a Shopify store doing $30–80k a month and your email list is dead.”
- There is no single action. “DM us, call us, book a call, or check the site” loses conversion with every extra option. Four doors means no door.
- Price with no frame of reference. “$2,400” is neither expensive nor cheap on its own. “$2,400 for a 12-week retainer where a senior, not an intern, writes every post” is comparable to something.
The six blocks
| Block | Job | Length |
|---|---|---|
| Hook | Stop the scroll, name the situation | 1–2 lines |
| Recognition | ”That’s me” — describe the pain better than they could | 2–4 lines |
| Mechanism | How you solve it and why that works | 3–6 lines |
| Proof | Numbers, process shots, a named client, a screenshot | 2–4 lines |
| Offer | What exactly, for whom, on what terms | 2–4 lines |
| One action | What to do now and what happens next | 1–2 lines |
The order isn’t sacred. For a warm audience the offer can sit in line two — recognition happened months ago. For cold traffic from Reels it flips: three quarters of the post goes to recognition and mechanism, or the offer lands on people who don’t yet know why they’d want it.
Handle one objection, not five — the single line that comes up in every sales conversation, with an answer attached: “Worried about being locked in? Month-to-month, cancel with 14 days’ notice, you keep every asset.”
12 hooks that earn the second line
The first ~125 characters on Instagram and ~200 on LinkedIn are all you get before the “more” cut. Types that work, with sample first lines:
- Anomalous number: “26 of our 40 inbound leads last month came from one post. Here’s what was in it.”
- Direct pain: “Your Shopify checkout loses 40% of mobile carts for one boring reason.”
- The mistake: “Three clauses in a freelance contract that make you pay for the client’s mistakes.”
- Counter-intuitive: “We raised prices 30% and got more inquiries. Here’s what we fixed first.”
- Honest refusal: “We don’t take rush jobs anymore. Explaining why that’s in your interest.”
- Qualifying question: “If you have 200 SKUs and run inventory in a spreadsheet, keep reading.”
- Micro case: “Dental clinic, 4 chairs, bookings by phone only. Six weeks later: 38% repeat visits.”
- Price up front: “A landing page for $3,000 — the line-by-line breakdown.”
- Cost comparison: “An in-house social manager at $4,500/month or a $79 tool — let’s do the math.”
- List of questions: “Six questions to ask an agency before you sign, not after.”
- Personal admission: “We lost a $40,000 client last quarter. Here’s the process change that came out of it.”
- A deadline that exists: “Four seats in the October cohort” — only if it’s true and you can’t repeat it next week.
Not hooks: “Hi everyone!”, “In today’s fast-paced world”, “We’re excited to announce”, “Don’t miss out!” Readers learned to filter those years ago.
The offer formula
Who it’s for + what they get + on what terms + what happens next.
- Before: “Professional social media audit, affordable rates.” After: “I’ll go through your Instagram and LinkedIn, send 10 fixes in a shared doc and a 30-minute call. $400, delivered in 3 working days, 3 slots a week.”
- Before: “20% off everything until the end of the month.” After: “Until 30 September, a first session with our newest stylist is $30 instead of $60. The honest reason: her morning slots are empty.”
- Before: “Learn social media from zero to pro.” After: “For owners of small retail shops: in 5 weeks you’ll have a content plan and be shooting Reels on your phone. Two evening sessions a week, 12 people per group.”
Discounts are the weakest offer type: they explain no value, devalue your price list and train people to wait for the next sale. Stronger levers are real scarcity (“3 projects a month”), a bonus (“free audit if you start this week”) and risk removal (“don’t like week one, we refund it”).
CTAs and the mechanics per network
| Network | Text limit | Visible before “more” | How to ask |
|---|---|---|---|
| 2,200 characters in captions | ~125 characters | Caption links aren’t clickable — ask for a DM keyword or route via bio and Stories | |
| Telegram | 4,096 in a post, 1,024 in a media caption | Almost the whole post | Clickable links, buttons, bots |
| X | 280 characters, up to 25,000 on Premium | Everything | One idea plus a link; save threads for teardowns, not offers |
| Threads | 500 characters | Everything | Conversational tone, links allowed and clickable |
| 3,000 characters | ~200 characters | Many accounts move the link to the first comment | |
| Effectively unlimited | ~80 characters | Links are clickable but link posts usually get fewer impressions |
Rewrites that change the numbers:
- “DM us” → “DM the word quote and I’ll send three open slots this week.”
- “More on our website” → “Prices and turnaround are in the pricing section, with a calculator.”
- “Fill in the form” → “Four fields in the form, reply within one working day, no sales call unless you ask.”
The action has to be free, fast and predictable. “Book a consultation” reads as “give up 90 minutes for something unclear”. “Send me your account link and get three fixes” reads as an exchange.
How often to sell
The ratio that holds for most small brands: out of 10 posts, 2 are a direct offer, 3 are proof (case, process, review, teardown) and 5 are pure usefulness. A soft closing line — “if you want this done for you, here’s how” — is fine almost anywhere, but hard selling posts stay rare on purpose: contrast is where their power comes from.
Repeat your offer. One post reaches 20–40% of a Telegram channel and far less of an Instagram following, so restating the same thing differently two weeks later isn’t spam, it’s delivery. Put those slots in the calendar in advance — the content plan template reserves fixed positions for direct offers so selling stops being a panic move.
Keep the voice consistent. If your useful posts sound human and your offers switch to “we provide comprehensive end-to-end solutions”, readers feel the swap. Fixing that once, including in AI drafts, is what tone of voice is for.
When a selling post won’t work
- No demand. If nobody has named the problem yet, a post won’t create the market. Educate first, offer later.
- No trust. A week-old account with 12 followers has nothing to sell from. Cases, faces, process first.
- Long B2B cycles. Nobody buys $200,000 equipment from a carousel caption. Here the post closes one step: get the spec sheet, book the demo.
- No traffic. 200 readers with three in your target segment won’t produce leads regardless of structure. Reach comes first — Reels, collaborations, channel growth.
- The product isn’t ready. A good selling post on top of broken delivery accelerates complaints, not revenue.
If your selling posts only happen when revenue dips, the fix isn’t better copy — it’s a system where the offer, the numbers and the slots live in one place. In Repost21 your product facts sit in the brand knowledge base, Luna drafts per-network variants from them, and the calendar keeps offers and useful posts in a sane rhythm — the free plan is enough to try it.