Measurement
How to measure Telegram bot and mini app campaigns beyond clicks
A campaign can produce plenty of clicks and very little product use. It can also look expensive on clicks while bringing users who return and pay. You need a measurement path that connects the ad to the action your product exists to deliver.
In this guide
- Define the events before choosing the dashboard
- Carry a source identifier into the product
- Separate new users from returning users
- Compare cohorts over the same observation window
- Treat rewarded and ordinary traffic separately
- Reconcile cost with verified outcomes
- Use campaign reports and product analytics together
For Telegram bots and mini apps, start by keeping each stage separate: ad interaction, product entry, useful action, return visit and payment.
Define the events before choosing the dashboard
Use names that describe observed behaviour. “Bot started” should mean that the relevant start event was recorded. “Activated” should mean a specific useful action was completed. “Paid customer” should require a successful payment and a rule for distinguishing first-time customers.
For a translation bot, activation could be the first completed translation. For a job tool, it could be viewing a relevant vacancy. For a game, it could be completing the first session. Pick the event that reflects value in your product; do not adopt an event merely because it is easy to count.
Carry a source identifier into the product
Telegram bot links support a start parameter. The bot can read the value when the corresponding start command arrives. A short source code can connect that entry to the campaign record. Opening the link alone is not proof that the user completed onboarding.
Telegram mini apps have supported direct-link mechanisms, including startapp parameters in applicable links. The exact link depends on how the mini app is configured. Test the actual destination on the clients your audience uses.
Use these mechanisms only in placements that allow them. Official Telegram Ads has its own destination and format rules; do not assume that every campaign type accepts the same attribution link.
Keep personal details out of public campaign links. A short opaque campaign code is usually enough to find the corresponding record in your own system.
Separate new users from returning users
If an existing user returns through an ad, that can be valuable, but it is not a new acquisition. Store the first observed product entry separately from subsequent campaign touches and state your attribution rule.
Deduplicate the outcome you are comparing. Repeated bot starts, page opens or payment attempts should not become multiple acquired customers. Where identity cannot be matched reliably, report the limitation rather than forcing a match.
Compare cohorts over the same observation window
A campaign launched yesterday has had less time to produce payments than one launched a month ago. Compare groups at a similar age, using a window that fits your buying cycle.
Keep campaign delivery dates, the cohort window and the report update time visible. Publisher impressions and your backend events may update on different schedules. Record both sources instead of presenting them as one continuous live feed.
For each source, inspect activation rate, return behaviour and successful payments. When sample sizes are small, show the counts alongside the percentages. Two payments out of ten users and two hundred out of a thousand have the same rate but provide very different amounts of evidence.
Treat rewarded and ordinary traffic separately
An incentive changes the reason someone interacts with an ad. Tag rewarded placements where they are used and compare their downstream behaviour with a suitable group.
Measure whether people complete the useful action and return after the immediate incentive. Report the incentive cost when it is part of the campaign economics. A rewarded action should not be presented as an ordinary purchase or a self-motivated product registration.
Reconcile cost with verified outcomes
Combine actual media spend with deduplicated product events from the same campaign and window. Calculate separate costs for entries, activations and first-time paying customers. State whether fees, incentives and creative costs are included.
If payment attribution is incomplete, say so. You can still use activation and retention to learn, but you cannot use an incomplete payment record to claim a reliable return on ad spend.
Before increasing the budget, check the whole chain: the ad was delivered, source identifiers arrived, the intended action was recorded and the commercial outcome is supported by your own data.
Use campaign reports and product analytics together
In Telegrow, prepare the audience, creative, destination and budget for a bot or mini app campaign. Available placement reports belong alongside your own product analytics when you evaluate the result.