[{"data":1,"prerenderedAt":334},["ShallowReactive",2],{"blog-post-promoting-a-telegram-mini-app":3},{"id":4,"title":5,"author":6,"body":8,"date":321,"description":322,"extension":323,"image":324,"meta":325,"navigation":326,"path":327,"seo":328,"sitemap":329,"stem":332,"__hash__":333},"blog_en_posts\u002Fblog\u002Fpromoting-a-telegram-mini-app.md","Promoting a Telegram Mini App: how to bring users in",{"name":7},"Victor Tuneev",{"type":9,"value":10,"toc":306},"minimark",[11,15,20,23,31,35,38,110,113,117,126,129,133,145,148,152,155,163,166,170,183,186,190,193,196,245,248,253,259,262,267,270,275,283,287],[12,13,14],"p",{},"Users reach a Telegram Mini App through direct links, ads, the Apps tab and partners. A link to the app can carry a start parameter that tells the app which link a user came through. Then, for each link, count the users who take a first useful action in the app, such as a purchase or a sign-up.",[16,17,19],"h2",{"id":18},"how-a-mini-app-opens-the-profile-button-the-menu-button-and-links","How a Mini App opens: the profile button, the menu button and links",[12,21,22],{},"The Open App button in the bot's profile appears once the Main Mini App is set in @BotFather. The menu button in the chat with the bot is set there too, under Bot Settings, and opens the app instead of a list of commands. A web_app button that the bot sends under its message opens the app in a private chat with the bot. A channel post can contain a direct link to the app or a URL button with that link.",[12,24,25,26,30],{},"Without a Main Mini App, a link of the form t.me\u002F",[27,28,29],"span",{},"bot_username","?startapp works as an ordinary link to the bot and only opens the chat.",[16,32,34],{"id":33},"links-with-a-start-parameter-how-to-tag-each-link","Links with a start parameter: how to tag each link",[12,36,37],{},"One bot can offer several apps with different short names. A non-empty value after startapp reaches the app in the start_param field; since Bot API 6.8 it can be up to 512 characters. Telegram does not specify which characters the value may contain, so keep to Latin letters, digits, underscores and hyphens.",[39,40,41,57],"table",{},[42,43,44],"thead",{},[45,46,47,51,54],"tr",{},[48,49,50],"th",{},"Link",[48,52,53],{},"What opens",[48,55,56],{},"Where the value goes",[58,59,60,78,95],"tbody",{},[45,61,62,72,75],{},[63,64,65,66,68,69],"td",{},"t.me\u002F",[27,67,29],{},"?startapp=",[27,70,71],{},"value",[63,73,74],{},"The Main Mini App",[63,76,77],{},"To the app, as start_param",[45,79,80,90,93],{},[63,81,65,82,84,85,68,88],{},[27,83,29],{},"\u002F",[27,86,87],{},"app_name",[27,89,71],{},[63,91,92],{},"The app with that short name",[63,94,77],{},[45,96,97,104,107],{},[63,98,65,99,101,102],{},[27,100,29],{},"?start=",[27,103,71],{},[63,105,106],{},"The chat with the bot",[63,108,109],{},"To the bot, with the \u002Fstart command, up to 64 characters; it does not reach the app's start_param",[12,111,112],{},"An opening from the profile, the Apps tab, search or the menu button carries no startapp value, while a tagged link passes its value every time it is opened. So have the app save the user's source as soon as it arrives. Whether to keep the first source or the latest when a user comes through several links is your own attribution rule.",[16,114,116],{"id":115},"telegram-ads-for-a-mini-app-when-the-ad-links-to-the-bot","Telegram Ads for a Mini App: when the ad links to the bot",[12,118,119,120,125],{},"Inside Telegram, an ad can lead to a channel or to a bot. If ",[121,122,124],"a",{"href":123},"\u002Fblog\u002Ftelegram-bot-advertising-ads-in-bots-and-promoting-your-bot","the ad links to the bot",", users can open the app from the bot's reply or profile: a web_app button under the first reply, or the Open App button in the profile.",[12,127,128],{},"Add a start parameter to the bot link in the ad, with a separate value for each ad. Configure the bot to save that value against the user's Telegram ID, and the app to take that value from the bot when the user opens it.",[16,130,132],{"id":131},"what-adstat-shows-when-an-ad-leads-to-the-apps-bot","What Adstat shows when an ad leads to the app's bot",[12,134,135,144],{},[121,136,143],{"href":137,"rel":138,"target":142},"https:\u002F\u002Fadstat.pro\u002F",[139,140,141],"nofollow","noopener","noreferrer","_blank","Adstat's platform for Telegram Ads"," works with agency and reseller ad accounts, including its own, and ads there can lead to a bot. The Adstat report shows impressions, clicks, bot starts and spend for each ad, and what a start cost.",[12,146,147],{},"When you create the ad in Adstat, give its bot link a separate start value for that ad. The spend on the ad then comes from the Adstat report, and the number of users from that ad who reached the first useful action comes from the app.",[16,149,151],{"id":150},"the-apps-tab-how-an-app-gets-into-its-popular-list","The Apps tab: how an app gets into its popular list",[12,153,154],{},"Inside Telegram, people find apps in the Apps tab of search, which Telegram calls the Mini App Store. Only bots with a Main Mini App appear there. The tab lists popular apps, with each app's avatar, name and number of monthly users.",[12,156,157,158,162],{},"Telegram names three steps that raise the chance of getting into the popular list. Enable the Main Mini App in @BotFather, upload good screenshots and videos of the app, and ",[121,159,161],{"href":160},"\u002Fblog\u002Ftelegram-payments-for-sellers","accept payments in Stars",". Screenshots and videos are uploaded per language, and each person sees them in the language of their Telegram app: in the bot's profile, in the tab and in search.",[12,164,165],{},"Which apps make the list is Telegram's own choice, based on popularity, functionality and usefulness among other factors. Telegram describes no application form, so a place on the list cannot be promised. Catalogs of Telegram apps on third-party websites do not put an app into this tab.",[16,167,169],{"id":168},"the-affiliate-program-partners-paid-for-purchases","The affiliate program: partners paid for purchases",[12,171,172,173,177,178,182],{},"A Mini App developer can open an affiliate program. Any Telegram user or channel can join it, content creators and other developers included. Partners promote the app and earn a ",[121,174,176],{"href":175},"\u002Fblog\u002Ftelegram-stars","commission in Stars"," on purchases by the people they referred. For a channel that your audience reads, this is an alternative to ",[121,179,181],{"href":180},"\u002Fblog\u002Ftop-7-telegram-ad-exchanges","a paid post",": the channel earns only when the people it brings buy something.",[12,184,185],{},"The program pays only on purchases in Stars, and digital goods and services sold in a Mini App are paid in Stars anyway. So it suits an app that sells paid content, a subscription or digital items.",[16,187,189],{"id":188},"the-first-useful-action-what-to-compare-sources-by","The first useful action: what to compare sources by",[12,191,192],{},"An opening says little: a person can open the app from the Apps tab, look around and leave. Decide on one action that means the app is being used: a person finished signing up, placed a first order, paid in Stars for the first time, saved something. Record it in the app together with the user's saved source.",[12,194,195],{},"Three counts and where to find them:",[39,197,198,211],{},[42,199,200],{},[45,201,202,205,208],{},[48,203,204],{},"Count",[48,206,207],{},"Where to look",[48,209,210],{},"What it tells you",[58,212,213,224,235],{},[45,214,215,218,221],{},[63,216,217],{},"Bot starts after a view of the ad",[63,219,220],{},"The ad statistics",[63,222,223],{},"How many people started the bot from the ad, and what a start cost",[45,225,226,229,232],{},[63,227,228],{},"Unique users who opened the app, by saved source",[63,230,231],{},"The app",[63,233,234],{},"How many users each link or ad brought",[45,236,237,240,242],{},[63,238,239],{},"First useful action by source",[63,241,231],{},[63,243,244],{},"Which sources bring people who use the app",[12,246,247],{},"Compare sources by the cost of one first action: the spend on a source, an ad or a paid placement, divided by the number of its users who took that action. Count each user once per chosen period, since one person can open the app many times. An empty start_param does not identify the source: use a source saved earlier where there is one, otherwise mark it as unknown, and keep those users as a separate group.",[249,250,252],"h3",{"id":251},"questions-and-answers","Questions and answers",[12,254,255],{},[256,257,258],"strong",{},"The ad statistics show more bot starts than the app shows openings with the ad's tag. Why?",[12,260,261],{},"These are different events, so the numbers differ even when tracking works correctly. In the ad statistics, a bot start counts after a view of the ad, while the app gets the ad's tag only from people who came to the bot through the ad's link and then opened the app. A person who starts the bot and never taps the web_app button is one of the reasons.",[12,263,264],{},[256,265,266],{},"A channel wants to promote the app: a tagged link or the affiliate program?",[12,268,269],{},"If you pay for the placement, give the channel a direct link with a separate startapp value for that channel, and count openings and first actions from it. If the channel agrees to be paid from sales, open the affiliate program and invite the channel to join.",[12,271,272],{},[256,273,274],{},"Will a bot that only opens the app pass review?",[12,276,277,278,282],{},"Mostly non-interactive bots built to redirect people elsewhere ",[121,279,281],{"href":280},"\u002Fblog\u002Ftelegram-ads-moderation-rules-checklist","are not accepted as ad destinations",". Telegram has no separate rule for a bot that only opens an app. Make the bot's answer to \u002Fstart useful on its own: say what the app does, add a command or two that answer in the chat, then the button to the app.",[16,284,286],{"id":285},"what-to-do-first","What to do first",[288,289,290,294,297,300,303],"ol",{},[291,292,293],"li",{},"Set the Main Mini App in @BotFather and upload screenshots and videos; check that the Open App button shows in the bot's profile.",[291,295,296],{},"Make the bot answer \u002Fstart usefully, saying what the app does and offering a command or two right in the chat, and send the web_app button.",[291,298,299],{},"Give a separate value to each direct app link and to each bot link in an ad. Save it with the user: the app keeps the startapp value, the bot keeps the start value, and the app then takes it from the bot.",[291,301,302],{},"Define the first useful action and record it with the source; compare ads and paid placements by the cost of that action.",[291,304,305],{},"If the app sells digital goods, take payment in Stars: it is Telegram's rule for digital goods and one of the steps towards the popular list.",{"title":307,"searchDepth":308,"depth":308,"links":309},"",2,[310,311,312,313,314,315,316,320],{"id":18,"depth":308,"text":19},{"id":33,"depth":308,"text":34},{"id":115,"depth":308,"text":116},{"id":131,"depth":308,"text":132},{"id":150,"depth":308,"text":151},{"id":168,"depth":308,"text":169},{"id":188,"depth":308,"text":189,"children":317},[318],{"id":251,"depth":319,"text":252},3,{"id":285,"depth":308,"text":286},"2026-11-09","How to bring users into a Telegram Mini App: the Launch app button and demos in the bot profile, links with a start parameter, the Apps tab and affiliate partners.","md","\u002Fimg\u002Fblog\u002Fpromoting-a-telegram-mini-app.jpg",{},{"title":5,"description":322},"\u002Fblog\u002Fpromoting-a-telegram-mini-app",{"title":5,"description":322},{"loc":327,"videos":330,"images":331},[],[],"blog\u002Fpromoting-a-telegram-mini-app","gcxccQDmvw9HjhZBO4DUBfRqP7FBTPvU79lo1ksynGU",1794217342975]