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

BlockJobLength
HookStop the scroll, name the situation1–2 lines
Recognition”That’s me” — describe the pain better than they could2–4 lines
MechanismHow you solve it and why that works3–6 lines
ProofNumbers, process shots, a named client, a screenshot2–4 lines
OfferWhat exactly, for whom, on what terms2–4 lines
One actionWhat to do now and what happens next1–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:

  1. Anomalous number: “26 of our 40 inbound leads last month came from one post. Here’s what was in it.”
  2. Direct pain: “Your Shopify checkout loses 40% of mobile carts for one boring reason.”
  3. The mistake: “Three clauses in a freelance contract that make you pay for the client’s mistakes.”
  4. Counter-intuitive: “We raised prices 30% and got more inquiries. Here’s what we fixed first.”
  5. Honest refusal: “We don’t take rush jobs anymore. Explaining why that’s in your interest.”
  6. Qualifying question: “If you have 200 SKUs and run inventory in a spreadsheet, keep reading.”
  7. Micro case: “Dental clinic, 4 chairs, bookings by phone only. Six weeks later: 38% repeat visits.”
  8. Price up front: “A landing page for $3,000 — the line-by-line breakdown.”
  9. Cost comparison: “An in-house social manager at $4,500/month or a $79 tool — let’s do the math.”
  10. List of questions: “Six questions to ask an agency before you sign, not after.”
  11. Personal admission: “We lost a $40,000 client last quarter. Here’s the process change that came out of it.”
  12. 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

NetworkText limitVisible before “more”How to ask
Instagram2,200 characters in captions~125 charactersCaption links aren’t clickable — ask for a DM keyword or route via bio and Stories
Telegram4,096 in a post, 1,024 in a media captionAlmost the whole postClickable links, buttons, bots
X280 characters, up to 25,000 on PremiumEverythingOne idea plus a link; save threads for teardowns, not offers
Threads500 charactersEverythingConversational tone, links allowed and clickable
LinkedIn3,000 characters~200 charactersMany accounts move the link to the first comment
FacebookEffectively unlimited~80 charactersLinks 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.