A drip is the only part of a Telegram funnel that keeps working after you stop buying traffic. Here is how to time it, target it, write it and read the numbers it produces.
A broadcast is anchored to the calendar: you pick a moment and everyone on the list hears from you at once. A drip is anchored to each subscriber's own clock — it fires a set interval after they joined, so a person who started the bot this morning and a person who started it three months ago receive the same message at the same point in their own journey. If the term itself is new, the drip campaign glossary entry covers the basics in a paragraph.
That difference has two practical consequences. First, a drip is comparable: because every subscriber passes through identical steps at identical offsets, per-step numbers actually mean something, whereas broadcast performance is tangled up with the day, the news cycle and whatever else was in the feed. Second, a drip spreads its sends naturally across the whole day instead of hammering the API in one burst — which matters more than people expect once a list is large. See Telegram broadcast limits for what happens when you try to reach everyone in one minute.
Your first message is not part of the drip. The onboarding flow already handles it: the subscriber picks a language, optionally picks a category, optionally passes a channel-subscription gate, and lands on a welcome or offer message. The drip starts after that, with delays measured from the moment of joining — anywhere from minutes to days.
A cadence that holds up in practice looks something like +30 minutes, +24 hours, +3 days, +7 days, +14 days. The early step exists because attention decays fast: the person who joined half an hour ago still remembers the ad they clicked. Compress your intervals relative to what you would do in email. Telegram arrives as a phone notification with your bot's name on it, not as a line in a queue someone triages on Friday.
Because delays are relative to join, an audience spread across time zones self-distributes: nobody gets a 3 a.m. message unless they joined at 3 a.m. If you genuinely need a fixed local hour — a weekly digest, a Friday reminder — that is a scheduled broadcast with a timezone, not a drip step. Do not try to force a drip into a wall-clock slot.
One rule worth enforcing: never place two steps within a few minutes of each other. Two notifications back to back read as a malfunction, and a subscriber who thinks your bot is broken blocks it.
Four to six steps is where most sequences should stop. The test is not length, it is redundancy: write the one-line job of every message — orient, prove, offer, answer, close. If two steps share a job, one of them is filler and it costs you more than it earns.
The reason to be strict is that Telegram has no soft opt-out. There is no "unsubscribe from this list" — an irritated subscriber blocks the bot, and that removes them from every future campaign, drip and broadcast you will ever run, not just this sequence. An email unsubscribe costs you one list. A Telegram block costs you the relationship.
Count total volume per person, not per sequence. Someone in week one of a five-step drip who also receives two one-off broadcasts is getting seven messages that week from the same bot. Audit the overlap before you add a step.
Auto-messages can be targeted by language, source, tag or category, and each of those is a different kind of lever:
Start with language only. Add a source or category split when that segment alone produces enough joins per week to read its per-step numbers separately. Slicing a small audience six ways does not give you six insights; it gives you six columns of noise.
Step one is not selling anything. Its only job is to establish that a notification from this bot is worth opening — because every later step depends on that judgement.
Reference why they joined. With source and category attribution this can be literal rather than generic: you know which deep link brought them in and which interest they picked. Deliver one concrete thing — an answer, a shortcut, a number. Keep it short enough to be understood from a lock screen. And close by naming what happens next and when: "tomorrow I'll send you the three setups people get wrong" turns the next notification into something expected instead of something intrusive.
Two mechanics worth using deliberately. Media — an image or video attaches to any message, but it replaces the text preview in the notification and adds load time, so use it only when the media itself is the value. Inline URL buttons — one primary button beats a raw link pasted into the body, and it keeps the tap target unambiguous.
The welcome message already carried an offer. If the drip is five restatements of it, subscribers learn that your bot has nothing else to say. Give each step its own reason to exist and put the hard ask in the middle, once the sequence has earned it:
Campaigns let that urgency be true rather than theatrical. A campaign carries a promo code, a per-language message, an active window, an optional new-users-only rule and one-time activation per subscriber — so when you say the offer closes, it closes, and a subscriber who already activated does not get nagged about it again. Fake scarcity is the fastest way to teach a list to ignore you.
Failures come in two kinds. Transient ones — a hiccup, a rate ceiling — are retried a bounded number of times automatically. Terminal ones are terminal: a subscriber who blocked the bot is dropped from further sends, because there is no delivery path back. Neither needs hand-management.
What does need your attention is where the blocks cluster. If blocks spike at one specific step, that message is the problem — wrong tone, wrong ask, or it landed too soon after the previous one. If blocks are spread evenly across every step, the message is not the problem; the cadence or the acquisition source is. Those two diagnoses lead to opposite fixes, which is why the per-step view matters more than an overall block rate.
You cannot win a blocked subscriber back from inside the bot — only they can unblock it. Treat the block rate as a leading indicator on the front of the funnel, not a recovery queue.
Because every subscriber walks the same steps at the same offsets, the sequence produces a clean funnel. Four things to read together: delivery stats per step, block rate per step, campaign activations, and retention cohorts.
Give each offer-bearing step its own campaign code and deep link. Otherwise activations attribute to "the sequence" and you learn nothing about which step actually moved someone. With separate codes you can see that step 3 produces most activations and step 5 produces almost none — which is a decision, not a curiosity.
Compare cohorts by join week, not weeks of calendar totals. A change you ship today only affects people who join after today; this week's totals still contain last month's subscribers walking through the old sequence. And be honest about volume — a step reached by sixty people has not told you anything yet.
Work down this list in order, because the items at the top swamp the items below them:
Change one variable at a time and let a full cohort pass through before you judge it. And be willing to delete: a step with no drop-off and no activations is not neutral, it is spending goodwill you will want later. More on the underlying mechanics in drip automation.
mySkua is currently in a private, invite-only beta — one account manages several bots, each with its own subscribers, languages, categories, campaigns and drips. If you run Telegram funnels and want to build sequences like the ones above, join the waitlist and request access, and we'll be in touch as we open up more places.
See also: Drip campaign · Drip automation · Telegram broadcast limits.
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