Guide

Telegram Drip Campaigns That Actually Convert

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.

What makes a drip different from a broadcast

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.

Choosing delays: minutes, hours or days after join

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.

How many messages before fatigue sets in

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.

Targeting by language, source, tag and category

Auto-messages can be targeted by language, source, tag or category, and each of those is a different kind of lever:

  • Language — the bot detects the Telegram client language, the subscriber confirms it, and everything afterwards is served in that language. Write one sequence per language. Never stack three translations into a single message and hope.
  • Source — a deep-link payload tags the subscriber with where they came from. Someone who arrived from a paid placement needs a different opening line than someone who came from your own channel, because they have wildly different context about who you are.
  • Category — subscribers self-select an interest during onboarding, each category can carry its own welcome offer, and drips can target a category directly. This is the highest-signal split you have, because the subscriber chose it themselves.
  • Tag — for everything else you want to segment on after the fact.

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.

Writing message one so the rest get read

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.

Placing the offer without burning trust

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:

  • Step 1 — orient, deliver one small useful thing.
  • Step 2 — the specific situation your product solves, told concretely.
  • Step 3 — the offer, with a campaign deep link and a real deadline.
  • Step 4 — the objection you hear most, answered plainly.
  • Step 5 — last call, tied to the date the campaign actually closes.

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.

Handling blocks, failures and retries

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.

Measuring per-step drop-off

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.

Iterating: what to change first when it underperforms

Work down this list in order, because the items at the top swamp the items below them:

  • Targeting. The wrong audience defeats any copy. Check whether one source or category is dragging the average down, and split it out.
  • Step one. Everything downstream is gated on whether people open it.
  • The first delay. Moving it from days to minutes often moves more than a rewrite does.
  • Where the offer sits. Too early reads as a pitch, too late and the audience has cooled.
  • Middle-message copy. Last, and per language — a translation problem is not a copy problem.

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.

Getting access

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