Demand Gen attribution needs a verifiable link between the ad interaction and the later outcome. When your landing page sends a visitor into Telegram, the next system may receive different information. Establish what your route actually stores before treating a join as an attributed conversion.
This guide covers a route you can inspect: ad, landing page, Telegram action and optional conversion import. If a route bypasses your page, record that gap rather than assuming a landing-page log exists.
Separate the placement from the destination
Google's Demand Gen help describes YouTube, Discover, Gmail and the Google Display Network. The API's channel-control documentation separately describes ad-group settings, including a strategy for Google's owned and operated channels and flags for individual channels such as Maps. Read the applicable configuration for the campaign you are auditing.
These settings do not establish that an advertising click identifier reaches a Telegram bot or membership event. They also do not prove which destinations are available in a particular account. Check the actual destination and redirect sequence rather than inferring them from a channel name.
For every route, write down the first endpoint you control. If none exists before Telegram opens, mark landing-side capture unavailable. A missing record does not establish whether a click occurred.
Inspect what crosses each handoff
| Handoff | Evidence to collect | Question to resolve |
|---|---|---|
| Ad to landing | Received URL parameters and timestamp | Which identifiers actually arrived? |
| Landing to Telegram | Issued link and stored route mapping | Which record can identify this route later? |
| Telegram action | Relevant update and lookup result | Does the received context resolve to that record? |
| Conversion import | Sent event, result and diagnostics | Was the event processed, and what remains unverified? |
A click id found at the first step should not be assumed present at the last. Follow its stored relationship to your route key. Consult the cross-platform identifier reference when identifying the received fields.
Telegram documents both t.me HTTPS links and tg: URIs, and states that fragments are ignored when deep links are parsed. Do not place essential correlation data after #. Use the documented form for your chosen link type and verify the receiving behavior in your own setup. A syntactically valid link does not prove persistence across every browser, redirect and app handoff.
Verify the Telegram observation
For a channel membership route, the Bot API documents chat_member updates. The bot must be an administrator and must explicitly request this update type in allowed_updates. Inspect whether the update your implementation received contains enough context for its lookup.
For a bot conversation, identify the message or other update that your integration uses. Do not treat a message, a join and a deposit as interchangeable conversions. Define the desired action before configuring its mapping.
Check whether one route key represents one click or a group of clicks. A shared link may support a cohort comparison without identifying one advertising interaction. Record that resolution in the report. The prelander identifier-loss guide helps investigate earlier redirects; web-to-app attribution covers the broader handoff problem.
Treat offline import as a separate implementation
Google documents offline conversion imports and enhanced conversions for leads as configured workflows. They are not an automatic Demand Gen-to-Telegram connection. Verify the selected conversion action, required account setup and the data your integration is permitted and able to supply.
Enhanced conversions for leads use user-provided data with their own prerequisites and preparation rules. Do not reinterpret a Telegram user identifier as an advertising click identifier or a supported matching field. If the required relationship is absent, record it as missing.
Keep the request result and import diagnostics. A successful response alone does not establish that the conversion matched an eligible interaction, appeared under the expected date or affected bidding. For the import-specific checklist, see Google offline conversion import audit.
Reconcile the route without hiding unmatched outcomes
Start with one controlled route and compare the landing record, issued link, observed Telegram action and any outgoing conversion. Confirm the correspondence before scaling the procedure to a date range. Use test conditions agreed with the system owner because an import can affect a live account.
For the period report, keep separate counts for observed actions, actions with a resolvable route and uploads with a documented result. State the time zone, action definition and reporting window. If a cohort key cannot identify an individual click, keep that distinction in the conclusion.
Do not label every unresolved action lost advertising traffic. It may have another source or insufficient identifying context. Similarly, a matched route in your own database does not replace the advertising platform's attribution decision. The useful result is a list of confirmed handoffs and the next missing record, not an unexplained conversion total.
Where does your Demand Gen route lose its link to Telegram?
Do not send tokens or passwords.
Sources
Sources
Discuss the tracking setup for your Telegram route
