use-case

Telegram Bots for iGaming and Casino Promotion

How operators and affiliate teams turn a Telegram bot into the first owned touchpoint after the click: language, category, promo code, follow-ups and per-source attribution.

Why iGaming audiences live on Telegram

Gambling is one of the few verticals where the mainstream ad platforms are closed by default. Search and social gate creatives behind licence checks and per-country allowlists, app stores restrict real-money apps, and one policy change can remove an account overnight. What is left is the affiliate long tail: sports communities, tipster channels, streamers and messenger traffic.

Telegram sits at the centre of that long tail because it does two things a landing page cannot. It gives you a push channel you own instead of a session that ends when the tab closes, and it carries a payload in the link itself, so the click that brought a player is still readable when the bot answers. The trade-off: Telegram is not email. The Block button is one tap away, and a subscriber who uses it is gone for good, so the funnel below exists to earn a second message rather than squeeze the first.

The standard funnel: start, language, category, offer

Almost every iGaming bot converges on the same steps, each removing a reason for the next message to miss.

  • /start with a payload. The deep link is t.me/yourbot?start=CODE. The payload is both an offer selector and a source tag, so one tap decides what the player sees and who gets credit.
  • Language. The bot reads the Telegram client language, proposes it, and asks the player to confirm. Confirmation matters more than detection — a Brazilian player on an English phone should not be locked into English bonus terms.
  • Category. An optional self-selection step: Sport, Casino, Live. One tap, and the most useful segmentation field you will collect, because the player volunteered it.
  • Subscription gate. Optionally require joining your channel before the offer is released. It grows the channel and filters drive-by clicks, but adds friction on cold traffic — test it per source.
  • Welcome or offer message. Text, media and inline URL buttons, editable per language. Each category carries its own welcome offer, so Sport and Casino do not share one compromise message.

Delivering promo codes and activation links safely

The temptation is to paste the bonus code into the welcome text. Don't. A code in a text block has no expiry, no eligibility rule and no record of who received it, and rotating it means editing every message in every language.

A campaign solves all four. It holds the code, a message per language, media and inline buttons, an active window, a new users only flag, and one activation per subscriber. In practice:

  • An expired promotion stops being delivered even if the old link is still pinned in someone's channel.
  • A player who re-runs /start five times does not farm five activations of the same code.
  • An acquisition-only offer can be restricted to new subscribers, so it never lands on your existing list.
  • The activation link travels as an inline button in the same message as the code, so the tap is measurable.

Keep the code and the terms in text, not burned into an image: text survives forwarding, translation and search.

Geo and language targeting across markets

Be precise here, because iGaming teams often assume IP geo is available. It is not: Telegram does not give a bot a reliable country, and anything claiming otherwise is inferring it. Targeting runs on language, source, tag and category — fields either confirmed by the player or carried in a link you controlled.

That is usually enough, because market and traffic source are one decision. Give each market its own payload (br_kwai_oct, pt_affiliate_x, hu_tg_sport) and every subscriber arrives already tagged with the market you bought them in. Language layers on top: arbitrary language codes per bot, every onboarding and campaign message translated, the player confirming which one applies. See building a multilingual Telegram bot for adding a language without touching code. When a market needs a different brand, licence footer or offer economics, split it into its own bot: subscribers and content are isolated per bot, and one account still manages them all.

Drip sequences around first deposit and reactivation

Auto-messages fire on a delay after the subscriber joins — minutes to days — filtered by language, source, tag or category. They are not triggered by deposit webhooks from your platform, so the honest way to build a first-deposit sequence is to model the first session with timing and segment instead of pretending you have the event. A ladder that holds up across markets:

  • +15 minutes: the code again, plus whatever usually blocks a first deposit in that market — payment method, minimum, verification.
  • +24 hours: category-specific content. Sport gets the weekend fixtures, Casino gets the games the bonus applies to.
  • +3 days: an alternative offer for players who ignored the first one.
  • +14 days: reactivation aimed at the segment that never activated a campaign at all.

Recurring rhythm — a weekly tournament, a monthly reload — belongs in scheduled broadcasts, which fire daily, weekly or monthly in a timezone you choose. One-off broadcasts, with a live recipient count before you send, are for events: a big match, a promotion ending. Players who block the bot are dropped automatically, so the list stays clean. Set a frequency budget and hold it: here the cost of one message too many is not a lower open rate, it is a permanent block.

Attribution: which channel actually brought the player

The deep-link payload is the whole attribution model, and it is sturdier than web analytics because it survives the app switch: a player taps a link in a browser, Telegram opens, and the payload is still attached when the bot receives /start. No cookie, no redirect chain, no cross-domain loss.

Mint one link per creative or placement, not per channel: ig_stories_oct_a and ig_stories_oct_b cost nothing and show which hook a partner should keep running. Subscribers are tagged from the payload automatically, so activations, retention and delivery all read per source — which turns “this affiliate sent 4,000 starts” into “this affiliate sent 4,000 starts and almost nobody activated”. Naming conventions are covered in the guide to Telegram deep link attribution; if you sell the traffic rather than buy it, the affiliate marketing bot use case covers the same mechanics from the other side.

Responsible-marketing and consent considerations

None of this is legal advice, and no bot platform substitutes for your licence conditions. What a bot can do is make compliance mechanical:

  • Mandatory wording travels with the offer. Because messages are text-first and edited per language, age statements, licence references, self-exclusion links and bonus terms sit in the message body, not in an image.
  • Expiry is enforced, not remembered. An active window means an ended promotion cannot be delivered by an old link still circulating in a channel.
  • Opt-in is the entry condition. A subscriber joined by tapping Start. Treat that as the consent record it is, and be honest up front about what you will send.
  • Stop signals are respected by default. When a player blocks the bot, delivery stops and the subscriber is dropped. Never route around a block with a second bot.
  • Age and identity checks stay on your platform. The bot's job ends at the activation link; KYC, deposit limits and self-exclusion enforcement belong where the money is.

Metrics that matter: activations, DAU, cohort retention

Subscriber count is a vanity number here — bought traffic inflates it in an afternoon. Four readings matter more:

  • Activation rate per source: campaign activations over subscribers from that source. It separates partners who send players from partners who send taps.
  • DAU: the floor of engagement between promotions. If it only moves when you broadcast, nothing in between is working.
  • Cohort retention: compare curves, not totals. Two sources with identical volume routinely have different week-two shapes.
  • Delivery stats: watch the block rate after each send. A spike is a copy or frequency problem — the earliest warning you get.

Read all four split by source and category — the aggregate view hides the segment quietly funding everything else.

Common questions

Can a bot deliver a different promo code per market? Yes — one campaign per market, with its own code, deep link, per-language message and active window.

Does mySkua target by country? No — language, source, tag and category, not IP geolocation. Approximate geo with one deep-link source per market.

Can drips trigger on a first deposit? Not directly — there is no deposit event; drips fire on a delay after join.

Can one account run several brands? Yes — several bots with isolated subscribers and analytics, and owner, admin, editor or viewer roles per bot.

Getting access

mySkua is in a closed, invite-only beta, and we onboard operators and affiliate teams in small batches so we can help each one set up a first funnel properly. If you run iGaming traffic into Telegram, join the waitlist and tell us which markets you work 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