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.
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.
Almost every iGaming bot converges on the same steps, each removing a reason for the next message to miss.
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.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:
/start five times does not farm five activations of the same code.Keep the code and the terms in text, not burned into an image: text survives forwarding, translation and search.
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.
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:
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.
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.
None of this is legal advice, and no bot platform substitutes for your licence conditions. What a bot can do is make compliance mechanical:
Subscriber count is a vanity number here — bought traffic inflates it in an afternoon. Four readings matter more:
Read all four split by source and category — the aggregate view hides the segment quietly funding everything else.
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.
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