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.
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.
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.
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:
ig_nov or as specific as one creative.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.
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:
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.
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:
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:
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.
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.
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.
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:
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.
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