← Back to insights

The Mini App Opened, but Nobody Can Tell Which Invite Started It

A Telegram growth thread says startapp links open correctly but campaign context vanishes. Reconstruct link creation, launch parameters, frontend capture and backend persistence before quoting attribution work.

#Telegram Mini Apps#startapp#Campaign Attribution#Deep Links

Signals to watch

  • A team can produce the exact redacted direct-link form used for one invite
  • The Mini App opens while frontend and backend observations disagree about the start parameter
  • The team asks for campaign measurement but conversion definition and duplicate-open policy remain unknown

When a direct Telegram Mini App invite opens the application but its startapp value never reaches the backend, rebuild one invite from link to stored event before quoting analytics work. Preserve the exact redacted link, the launch context Telegram exposed, what the frontend read and what the server stored. An opening is not yet an attributed campaign result.

This article is for a business-development lead at a Mini App analytics provider watching authorised growth, founder and developer groups. The commercial window can be short: a team preparing several invite campaigns may choose an implementation partner while it is still naming tracking fields. Seeing the post a day late can mean missing that design discussion. Seeing it early does not justify promising attribution from one screenshot.

Illustrative industry case: The messages, campaign names, timing and observations below are a composite used to explain a decision pattern. They do not describe a real customer, account, deployment, conversion or commercial result.

The first group post reads:

direct mini app links are opening now. we use startapp=spring_a and spring_b but dashboard puts everyone under direct. launch next week, any analytics people done this?

The team has two labels and a date. It has not said which link format it used, whether the value appeared in the Mini App, whether a redirect changed the URL, what the dashboard receives, or what “everyone” counts. The writer could be a developer, marketer, consultant or community manager; authority to select a vendor is also unknown.

The fastest useful response is not “our SDK fixes this.” An SDK is a software development kit. The first question is: can the team replay one invite and produce four observations?

Telegram’s direct Mini App documentation describes direct-link forms and start parameters. The related deep-linking documentation also covers bot start links; these entry points should not be merged merely because both use the word “start.”

Save the exact distributed link with the bot and application identifiers visible but any sensitive campaign key replaced consistently. Do not reconstruct it from a dashboard label. Check whether a URL shortener, QR generator, landing page or copy tool changed it before Telegram opened.

For this composite, the handoff says only:

source sheet has spring_a; influencer used our short link; not sure what it expands to now

That moves the first test upstream. If the expanded URL does not contain the intended parameter in the documented form, the Mini App cannot recover it later.

Observation two: the Telegram launch context

The community start-parameter reference explains how the start parameter is exposed in Mini App launch context, including tgWebAppStartParam and the corresponding value within Mini App init data where applicable. The exact behaviour depends on the documented launch form and client context.

Capture the platform, client version, UTC time and value observed at launch. Do not copy user identifiers or signed launch data into a public sales note. A redacted diagnostic can say:

Android client, direct Mini App link, 09:26 UTC. Launch parameter observed as spring_a; request ID 7f… .

If the parameter is absent here, the work concerns link construction, the actual entry point or platform context. If it is present, continue without declaring the integration fixed.

Observation three: what the frontend handed forward

The Mini App may read the launch parameter but fail to attach it to an analytics event or session request. The frontend evidence should connect one request identifier to the launch observation and show the non-sensitive campaign field it attempted to send.

Avoid using a mutable display label as the only key. An opaque campaign key such as spring_a can map to human-readable names in a controlled table. It should not carry personal data, access tokens or a complete marketing profile.

In the composite sequence, the developer later writes:

I can log tgWebAppStartParam in the browser. our session POST doesn’t include campaign though. old handler only sends user + locale

Now there is a concrete implementation boundary: Telegram launch context reaches the frontend, but the application transport omits the field. That is materially different from “Telegram attribution is broken.”

Observation four: the backend event and its counting rule

Even after the server receives a campaign key, the team must define what it stores and counts. One person can open the same invite repeatedly. A forwarded link can be opened by people outside the intended campaign. An application session can start without the user submitting the business action.

Ask for three definitions:

  • arrival event: the server accepted a validated launch with a campaign key;
  • business event: the user completed the named action, such as submitting a request;
  • deduplication rule: how repeated opens and repeated submissions are handled for the stated analysis.

These are application decisions, not facts supplied by the startapp value. Calling every open a conversion would turn launch context into a commercial claim it cannot support.

Wednesday 14:20 — the project becomes narrower and more credible

After the four observations, the illustrative handoff can read:

Exact short link expands to the documented direct Mini App URL with startapp=spring_a. Android test at 09:26 UTC exposed spring_a in launch context. Frontend session request omitted the campaign field; backend therefore stored direct. Growth wants separate arrival and submitted-request counts. iOS, Desktop, repeat-open handling, retention, release owner and purchasing authority remain unknown.

This is ready for an implementation review because the first missing handoff is reproducible and the desired outputs are beginning to be defined. It is not yet a fixed estimate. The provider still needs supported clients, schema ownership, validation, privacy review, historical data expectations and a release test.

A sensible acceptance test follows one test invite: open the exact link on each agreed client, validate the launch server-side, persist the opaque campaign key once under the chosen session rule, submit a test request and show the separate arrival and business events. No revenue or conversion lift should be promised.

How the sales record should preserve the opportunity

Keep the current group source, timestamp, writer, exact error wording and the four observations. Mark the technical interpretation separately from the source statements. Record that buyer authority, permission to contact and other clients remain unknown.

Top Prospect’s current matching-target interface saves configurations but does not automatically generate new candidates from a newly saved target. Where historical candidate records or a single-source analysis are already available, users still review original messages, source and context themselves. The product cannot reconstruct a deleted short link, inspect private chats, verify campaign ownership, contact the writer or certify an attributed outcome.

The Mini App payment workflow keeps payment callbacks separate from campaign context. The monetization article explains why one project’s chosen model is not a market trend. The message-link source check helps preserve the original Telegram reference. Product options are listed on pricing.

Key facts

  • startapp provides launch context for documented direct Mini App links; it does not by itself define attribution.
  • The exact distributed link, not the planned campaign sheet, is the first evidence object.
  • Launch context, frontend transport and backend persistence are separate observations.
  • An open, a validated arrival and a completed business action are different events.
  • Repeated opens require an explicit counting rule.
  • Campaign keys should not contain secrets or unnecessary personal data.

FAQ

What is startapp?

It is a start parameter used with direct Mini App links and exposed through the documented launch context.

Does it prove a conversion?

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

Can the value contain personal data?

Avoid that. Use an opaque key and follow the organisation’s access and retention rules.

When is the request implementation-ready?

When one exact link, launch observation, frontend request and backend record can be connected to an owned event definition and acceptance test.

Editorial review completed 26 August 2026 against Telegram’s direct Mini App, bot deep-linking, start-parameter and launch-parameter documentation.

Frequently asked questions

What is startapp in a Telegram Mini App link?

It is a start parameter used with direct Mini App links. Telegram can expose the value through launch context, subject to the documented link form and application handling.

Does a startapp value prove a campaign conversion?

No. It supplies launch context. The application must define, observe and deduplicate the business event counted as a conversion.

Should the raw campaign value contain personal data?

Avoid personal or secret values. Use an opaque, documented campaign key and apply the organisation’s retention and access rules.

What evidence makes the request implementation-ready?

One exact redacted link, launch observation, frontend capture, backend record, event definition, ownership and a reproducible acceptance test.

Sources and further reading

RESEARCH & DEFINITIONS

How a Signal worth attention is found

See how Top Prospect finds and organizes Signals worth checking, keeps the original Telegram context, removes duplicates, and helps you decide what to review first. You decide whether to follow up and what to do next.

Open the methodology and core definitions

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