use-case

Telegram Bots for Ecommerce Stores

How an online store runs a Telegram bot as an owned marketing channel — capturing opt-ins from ads and packaging, segmenting by product interest, and sending promo campaigns and drip sequences that arrive where people actually read.

Most stores own two marketing channels: email and SMS. Email lands in a promotions tab nobody opens on a Tuesday; SMS costs money per send and spends goodwill fast. A Telegram bot sits in a third place — the same inbox as messages from friends — and where your customers already use Telegram, it is the cheapest owned list you will build.

Telegram as an owned channel next to email

A Telegram subscriber is someone who pressed a button in an app they already had open, not an address you hope survives a spam filter. The practical differences matter as much as the philosophical one.

  • Opt-in is one tap. No typed address, no typo, no confirmation email that never arrives.
  • Delivery is binary. A message is delivered or the person blocked the bot. No soft-bounce purgatory, no inbox-placement guesswork.
  • Blocking is the unsubscribe. Instant and permanent from the user side, which makes send discipline a hard constraint, not a best practice.
  • Rich messages are native. A product photo or short video with two inline buttons is the default format, not a template that breaks in Outlook.

Use it as a complement: email keeps receipts and editorial, Telegram takes the time-boxed things — a drop going live, a size restocked, a code that expires Sunday.

Capturing opt-ins from ads, packaging and your site

Every entry point is a deep link shaped like t.me/yourbot?start=CODE. The payload after start= travels with the subscriber into the bot, so one link carries both the offer and the attribution. Make one per placement:

  • Paid social. Point the ad at the deep link instead of a landing page. The payload can be as coarse as ig_nov or as specific as one creative.
  • Packaging inserts. A QR code on the thank-you card is the highest-intent opt-in a store can collect — the person is holding the product.
  • Site placements. Order-confirmation page, back-in-stock request, footer bar; each with its own payload so you can tell which converts.

Payloads do not have to be promo codes. A plain one like packaging_2026_q1 just tags the subscriber with a source and runs the normal welcome flow, so you can label traffic without inventing a campaign per placement. The opt-in glossary entry covers what counts as consent in a messaging channel.

Onboarding itself is configurable per bot: language confirmation, optional interest category, optional channel-subscription gate, welcome offer. That gate earns its friction only if you really publish to a channel — otherwise it stands between an ad click and a discount code.

Product-interest categories and what they unlock

Ecommerce lists rot when everyone gets everything: a running-shoe buyer who receives three handbag promos does not unsubscribe politely, they block the bot. Categories fix that at the front door. The subscriber self-selects an interest during onboarding — Running / Gym / Outdoor, say — and that choice becomes a targeting dimension for everything after:

  • The welcome offer changes. Each category can carry its own welcome message, so the first thing a subscriber sees is about the thing they picked.
  • Later automation inherits the segment. Campaigns, drips and broadcasts can all target a category, so one question keeps paying off months later.

Keep it to three to five options. Every extra choice lowers completion, and a category with fifty subscribers is a rounding error you now write copy for.

Promo campaigns with codes, media and buttons

A campaign bundles what a promotion needs into one object: a deep-link code, a per-language message, media, inline URL buttons, an active window. Activation is one-time per subscriber, so a code cannot be farmed by re-pressing the link. Two patterns cover most of ecommerce:

  • Acquisition. The ad points at the campaign link; the new subscriber presses Start and gets the code plus a Shop now button in one message. The new users only flag stops a welcome discount from being harvested by people already on your list.
  • Reactivation. The same link goes to existing subscribers in a broadcast. The active window closes the offer when the sale ends, so a screenshot forwarded to a deal forum next month resolves to nothing.

Post-purchase and win-back drip sequences

Drip messages send a set delay after the subscriber joins — minutes, hours or days — targeted by language, source, tag or category. One detail decides the whole design: the clock starts at the join, not at the order.

So engineer the join to happen when you want the clock to start. Put the QR code on the packaging insert or the order-confirmation page with its own source payload, and everyone arriving through it is a recent buyer. The delays then map onto the post-purchase journey:

  • Day 0: welcome, plus care instructions or a setup tip for what they bought.
  • Day 3: a get-more-from-it message with a photo or short video.
  • Day 10: a review request with a direct button.
  • Day 30: replenishment or cross-sell, targeted to their category.

Win-back is the same mechanism from a different door: a dormant-customer link sent by email, tagged as its own source, with a short ladder behind it. Failed sends retry a bounded number of times and blockers are dropped, so nothing grinds against dead accounts. More detail in Telegram drip automation and, step by step, in the guide to building Telegram drip campaigns.

Seasonal broadcasts and scheduling across time zones

Drips handle the evergreen journey; broadcasts handle the calendar. A one-off broadcast shows a live recipient count as you narrow the targeting — the fastest sanity check there is. If a Black Friday message is about to hit the whole list instead of your intended segment, the number says so before the send does.

Scheduled broadcasts run daily, weekly or monthly with an explicit timezone — across several markets, the difference between a drop announcement landing at 10am local and at 3am.

Attribution from ad click to bot activation

The payload is the attribution key and it survives the journey. On Start it is resolved: a real campaign code activates that campaign, and any payload tags the subscriber with its source. From then on the source is attached to the person, not a session, so you can target and count it weeks later.

Analytics then give you subscriber growth, daily active users, retention cohorts, campaign activations and per-send delivery stats — so the usual paid-social question becomes answerable: not how many clicks a creative bought, but how many became subscribers still opening messages a month later. Give each creative its own payload, named readably enough to survive six months in a table.

Frequency rules that protect your subscriber list

Telegram has no promotions tab to absorb your enthusiasm. Every message is a notification, and the cost of one too many is not a lower open rate — it is a block. A workable set of rules:

  • One broadcast a week is a ceiling, not a target. A second should need a reason, like a sale ending.
  • Count drips against the same budget. Someone mid-ladder already hears from you; check the drip calendar before scheduling into that window.
  • Target narrower rather than sending wider. A tighter send to the right category or source usually wins, and costs fewer blocks.
  • Watch blocks as a metric. A spike after one message is a content problem; a slow climb across weeks is a frequency problem.
  • Earn the notification. Would a subscriber be annoyed to have missed it? Restocks, drops and expiring codes pass; newsletters usually do not.

Common questions

Do I need a separate bot per store? One account manages several bots, each with its own subscribers, texts, categories and campaigns. Separate brands should be separate bots; separate markets inside one brand are better handled with languages and categories.

How do languages work? You define the codes a bot supports. The bot detects the Telegram client language, the subscriber confirms it during onboarding, and later messages are served in it.

Who on my team gets access? Each bot supports multiple admins with owner, admin, editor and viewer roles, so a freelancer can draft without holding the keys to your sends.

Getting access

mySkua is in a closed, invite-only beta — accounts are opened by hand, and we onboard stores in small batches so we can help each one build its first funnel properly. If you run a store and your customers already use Telegram, join the waitlist and tell us what you sell, which markets you ship to and how large your list is. That is what we use to decide who joins next.

Related: Drip automation · Drip campaign guide · Opt-in.

Want this on your own bots?

mySkua is in a closed beta and accounts are opened in small batches. Tell us what you run and we will come back to you.

Request access