Singuard Home Blog Contact eTrader eTrader for Businesses eTrader for Traders Broker Broker CRM Live Demo Prop Firm Prop Firm CRM Live Demo
Scalegram

Tracking Links in Scalegram.

A raw t.me link tells you nothing. Traffic goes in, and the only thing you ever learn is that your member count moved. A link you own is the same door with a counter on it.

Roman Onta, Executive Director, SINGUARD By August 28, 2026 6 min read

Telegram is the last major channel with no native ad attribution worth the name. You buy traffic, people join, and the connection between the two is a guess reconstructed from timing. Every campaign that runs through Scalegram passes through a link the workspace owns, and everything downstream is knowable because of what that link recorded.

What the link records

Each link has a name, a campaign, a destination and a slug. The destination is a channel, a group, a bot or any URL you want. On every click the link stores the time, the country, the device and the referrer, and it captures the click identifiers the ad platforms attach to their traffic, which are what make a server side conversion event matchable later. UTM parameters ride along and stay attached to the contact rather than evaporating at the redirect.

Automated traffic is filtered before it reaches the numbers. A crawler counted as a click is a small lie that becomes a large one once you divide spend by it.

The wall in the middle of every Telegram funnel

The problem is what Telegram passes along, which is nothing. A person clicks your ad, lands on t.me, joins the channel, and the platform hands your workspace no trace of where they came from. Three ways to get an identifier across that wall, best first.

Point the link at a bot. Telegram's start parameter carries a value into the bot when somebody presses start, so the click identifier arrives with the person and the contact is created already tied to the exact click. This is the only deterministic option and it is why any campaign with real money on it should end at a bot rather than at a channel.

Where the destination has to be a channel or group, use a link generated per campaign, which resolves a join to the campaign rather than to the person. Coarser, still useful, and the right answer when a bot in the path would cost you joins.

Third, a first party cookie set on your link domain and read again by a bridge page on the same domain, which reconnects the chain further down the funnel. The wider argument sits in instant redirect or interstitial and in closing the Telegram attribution black hole.

Bridge pages, and why they are on your domain

A bridge page is a hosted landing page that sits between the ad and the chat, on your own domain rather than ours, pointed there by a DNS record with its certificate handled for you. Traffic from the ad lands there, the pixel fires with the browser present, the identifier is stored first party, and the visitor continues into Telegram.

The domain matters for two unglamorous reasons. Cookies set on your domain are readable by your own pages later, and an ad reviewer looking at a destination sees your brand rather than a shared redirect host. The build is described in Telegram landing pages.

The events, and where they fire from

Four things a Telegram funnel can honestly report: the click, the join, the registration and the purchase with its value. They fire server side from what your systems actually observed, carrying the identifiers captured at the click, so an ad blocker or a closed tab does not delete a conversion that really happened.

The purchase is the one that changes how you buy media, because it turns a cost per lead into a cost per paying customer. A purchase reported once, deduplicated against resyncs, with the campaign identifiers attached and the value on it, is what the argument in verified conversions is about. A purchase reported twice is worse than no reporting at all, because you will spend real money optimising towards a number that does not exist.

Attribution is measurement, not proof. A link tells you which click preceded a join. It does not tell you which ad convinced anybody, and no platform's reporting does either. Treat the numbers as a way to compare campaigns against each other rather than as a ledger of causes.

One link per thing you might switch off

The practical rule for how many links to create: one per decision you might make. If you would never pause a single creative independently, it does not need its own link. If you would, it does. Operators who make a link for every post end up with four hundred rows and no comparisons; operators who use one link for everything learn nothing at all.

Same for destinations. A link pointing at a bot and a link pointing at the channel, run against the same audience, will tell you what the extra step in the path actually costs you in joins. That is a real number and it is usually smaller than people fear.

Reading a link's numbers

Per link, the report reads as a funnel because it is one: clicks, unique clicks, joins where they can be measured, bridge submissions, registrations, purchases and total value, with a cost per result once you type in what you spent. The useful reading is always a comparison. Two links against the same audience with the same creative and different landing pages tell you something. One link on its own tells you a number.

Keep the naming boring and consistent. Campaign, audience, creative, in that order, every time. Six months of tidy link names is worth more than any dashboard feature we could build.

"Everything we know about a Telegram funnel downstream, we know because the click paid its toll at the link. Skip the link and you are back to guessing from timestamps."

— Roman Onta, Executive Director, SINGUARD

Key Takeaways

Frequently Asked Questions

Why point a campaign at a bot instead of straight at my channel?

Because Telegram's start parameter is the only path that carries the click identifier in with the person. A channel link can be resolved to a campaign with a per campaign invite, but not to the individual click.

Do I need my own domain for the landing pages?

It is strongly preferable. A first party identifier set on your domain can be read again by your own pages later, and an ad reviewer sees your brand at the destination rather than a shared host.

What stops a sale being counted twice in my ad reporting?

Purchases are claimed once. A resync that reports the same sale again is recognised and dropped, so the conversion count stays honest across replays.


About the Author

Roman Onta, Executive Director, SINGUARD
Roman Onta Executive Director, SINGUARD

Roman Onta is an Executive Director at SINGUARD. He builds the Prop Firm CRM, the Broker CRM, Scalegram and CopySignals side by side with his brother Alex Onta, and he helped on the design of eTrader, the division Alex built and leads. His ground is worldwide payment processing, AML compliance and the corporate structures brokers are built on, work the two of them carry together, shaped by executive roles in the UAE and international corporates. He lives and works in Dubai for most of the year. Meet the executive duo leading Singuard's five divisions.

Your Own Trading Firm, Live in 24 Hours.

SINGUARD builds the technology behind brokers and prop firms: trading platform, CRM, client portal and payment rails, one bundle, one predictable price. Book a call and see it working, or keep reading the guides.

More in Scalegram