← Back to insights

startapp and /start Are Not the Same Campaign Event

Compare Telegram Mini App direct links with bot deep links by entry point, delivered object and first observable event before joining campaign counts.

#Telegram Mini Apps#startapp#Bot Deep Links#Campaign Measurement

Signals to watch

  • The exact link family is preserved instead of reducing both values to Start
  • Mini App launch context and bot command Updates are recorded as different first events
  • Open, validated arrival and business conversion each have separate definitions

startapp and a bot’s /start parameter both carry context from Telegram links, but they are not the same entry point or the same observable event. A direct Mini App link opens the Mini App and exposes startapp through launch context. A private-chat bot deep link opens the bot conversation and delivers a /start <parameter> message to the bot. Keep those records separate before calculating one campaign total.

This distinction is for a growth analyst at a Telegram Mini App or bot platform reviewing authorised growth, founder and developer groups. The useful Signal is a team actively reconciling two launch surfaces, not any mention of the word “start.” Merging both links immediately can make the dashboard look complete while it counts unlike actions.

The noun after the click is different

Telegram’s direct Mini App documentation says a direct link can open a Mini App in the current chat. When a non-empty startapp value is present, Telegram passes it in the Mini App’s start_param field and the GET parameter tgWebAppStartParam.

Telegram’s bot deep-linking documentation describes a different route. A private-chat link in the form https://t.me/<bot_username>?start=<parameter> opens a conversation. After the user presses it, the bot receives /start <parameter>.

The shared word “start” is therefore a label, not a common event schema.

QuestionDirect Mini App startappBot private-chat start
Link destinationA main or named Mini App direct-link surfaceA private conversation with the bot
First Telegram contextMini App start_param / tgWebAppStartParamA bot message containing /start <parameter>
First application observerMini App frontend and its validated backend flowBot Update handler for the command message
Immediate factLaunch context reached the Mini App surfaceA start command reached the bot
What it does not proveValidated user session, purchase or campaign conversionCompleted onboarding, Mini App open or purchase

The table does not rank one link. It defines what object exists first.

Define four events instead of one Start column

A campaign model can use four nouns for either path:

  1. Link distributed: the exact documented link was placed in a known source.
  2. Telegram entry observed: the Mini App launch context or bot command Update appeared.
  3. Application arrival validated: the application’s trusted backend accepted and stored the relevant event.
  4. Business outcome observed: the user completed the separately defined action, such as a submitted form or confirmed order.

Only the second noun differs because Telegram delivers different objects. The third and fourth still require application design. A startapp string in a browser context does not prove the backend validated Mini App data. A /start command does not prove that a user later opened a Mini App or completed onboarding.

The analyst can publish a combined campaign view only after retaining entry_type beside a coordinated campaign key. For example, internal code partner_aug may be allowed on both link families, but the raw records should still say mini_app_startapp or bot_private_start.

Telegram documents start parameters for bot deep links as up to 64 characters and limited to A-Z, a-z, 0-9, underscore and hyphen, recommending base64url for binary or other data. That constraint belongs to the bot-link design.

The direct Mini App documentation shows startapp on main and named Mini App link forms and explains where it appears in launch context. The analyst must preserve the exact form used, because https://t.me/bot?startapp=value and a named-app path are not interchangeable text after a URL shortener or campaign builder has modified them.

Neither parameter should contain secrets or unnecessary personal data. A compact opaque campaign key is easier to validate and govern than a human-readable payload containing an email address, account identifier or business detail.

Example: one label hides two user journeys

Imagine an authorised growth-team discussion that says:

Illustrative composite: “partner dashboard has 820 starts. half the links open bot chat, half open mini app. can we call all of them app opens?”

The number and wording are fictional and illustrate no real campaign or result. The correct answer is no: a bot-chat /start is not evidence that a Mini App opened. The team first needs counts separated by exact link family and first observed object.

The group fragment also lacks the bot and app, reporting window, source list, duplicate-open rule, backend storage, identity, authority and permission to follow up. Even after the event names are repaired, no commercial outcome follows from the illustrative count.

A useful reconciliation table would contain:

  • redacted exact link and link family;
  • opaque campaign key;
  • first Telegram event time;
  • entry_type (mini_app_startapp or bot_private_start);
  • first trusted backend record;
  • separately defined business-event identifier;
  • deduplication key and counting window.

When that event-model discussion is active, joining it a day later may let another integration partner name the measurement work first. The timing changes commercial priority, not the meaning of either Telegram parameter.

If a user clicks both links, the two entries may be two genuine interactions. Whether the business report counts one person, two sessions or one later outcome is a policy decision supported by authorised identifiers—not a property Telegram assigns to the word “start.”

Do not use this comparison to diagnose a missing value

This article defines the event boundary before reporting. If a correct direct Mini App link opens but its startapp value disappears between launch and backend storage, use the separate startapp attribution repair. That troubleshooting path reconstructs one invite through link creation, launch context, frontend capture and persistence.

Here, both entry points may work exactly as documented. The problem is semantic: a dashboard, CRM (customer relationship management system) or sales note calls unlike objects “Start” and makes them look comparable.

What the growth analyst can learn from a Telegram thread

A strong thread names both link forms, the currently counted events, a reporting deadline and an owned test. A weak thread only says “Telegram referrals are wrong.” The first can support an event-taxonomy review; the second still needs the actual links and observations.

TOP Prospect can preserve authorised fragments, source, time, repeated terminology and explicit unknowns so a growth analyst sees the two-entry-point discussion before generic attribution complaints. It cannot open deleted links, inspect private chats, verify campaign ownership, merge identities, contact the writer or certify a conversion. Its current production matching-target interface stores configuration but does not automatically produce new candidates.

The message-source link check helps keep an observed Telegram reference attached to its source. The Mini App monetisation article explains why one product’s event model is not a market trend, and Signal provenance separates a source statement from later interpretation. Product scope is on the Telegram business-intelligence page.

Key facts

  • startapp belongs to documented direct Mini App links and appears in Mini App launch context.
  • start belongs to a bot deep link and produces a /start <parameter> message in private chat.
  • The first application observers are different: Mini App flow versus bot command handler.
  • Shared campaign text does not make the entry events identical.
  • Link, Telegram entry, validated application arrival and business outcome are separate events.
  • Neither parameter proves identity, conversion or purchase authority.

FAQ

What does startapp deliver?

For documented direct Mini App links, Telegram exposes a non-empty value as start_param and tgWebAppStartParam in launch context.

After the user presses a private-chat deep link, the bot receives a /start <parameter> message.

Can both use the same campaign key?

Yes, if the organisation coordinates the taxonomy, but each record should retain its link and entry type.

Does either one prove conversion?

No. The application must define, validate and observe the later business event separately.

Editorial review completed 26 August 2026 against Telegram’s official Mini App direct-link and bot deep-linking documentation.

Frequently asked questions

What does startapp do in a Telegram Mini App link?

For documented direct Mini App links, a non-empty startapp value is passed into Mini App launch context as start_param and tgWebAppStartParam.

What does start do in a Telegram bot link?

In a private-chat bot deep link, the parameter is delivered to the bot through a /start parameter message after the user presses the link.

Can startapp and start share the same campaign code?

They can use a coordinated internal taxonomy, but the link type and observed event must remain separate so identical text does not become one undifferentiated metric.

Does either parameter prove a conversion?

No. Each carries context to an entry point; the application must define and observe the later business event counted as conversion.

Sources and further reading

PRODUCT SCOPE

Market and risk discussion is supporting evidence

Top Prospect is primarily a Telegram lead-generation product. Market and risk discussion can add context to a candidate lead, but it does not become a verified incident, trend, or sales opportunity automatically.

Review the product workflow and boundaries

START WITH ONE MONITORED GROUP

Try the workflow free for seven days.

Open the product, connect one authorized group, and describe the Signal you want to find. If you need help choosing the scope, ask us on Telegram.

Back to homepage