Ads & Attribution

TikTok ads Telegram tracking: send the join and the deposit back

The TikTok Pixel cannot see inside Telegram. Here is how a join or a verified broker deposit goes back to TikTok's Events API with the ttclid from the ad attached.

TikTok ads Telegram tracking means telling TikTok what happened after someone tapped your ad and left for the Telegram app. The TikTok Pixel cannot see inside Telegram, so the join and the deposit have to be sent back from a server through TikTok's Events API, with the click id from the ad attached. Scalegram is the Telegram CRM for IBs and forex affiliates, and it carries the click id from the ad to the join and to the deposit checked against the broker's own records, then reports both server side to TikTok.

This is the TikTok half of a subject the Meta ads tracking article covers for Meta. If you are choosing a tool first, start with the Telegram tracker comparison.

Where a TikTok ad to Telegram goes dark

A TikTok campaign that sends people to a Telegram link ends its reporting at the tap. TikTok can count the click. It cannot count the join, because the join happens in an app where its code does not run. The deposit that follows a week later happens on the broker's side and never touches TikTok at all.

A campaign optimized on link clicks learns to find people who tap links. Whether any of them open an account is invisible to it. Fixing that means sending TikTok the later events yourself.

What TikTok says the Events API is for

TikTok describes its Events API as "a reliable connection between TikTok and advertiser's marketing data, across web, app, and offline (eg. Store, CRM) channels." The same page says you can "send events from various channels, such as websites, mobile apps, physical stores (offline), and CRMs integrations in one API", and that "connectivity issues and browser inconsistency can impact conversions reported via Pixel."

A Telegram join sits in a bot's records and a deposit sits in a broker's portal. Neither is a page load. Sending them from a server is the case the Events API was written for.

An event with no click id is a stranger to TikTok. The field that ties it back is the TikTok Click ID, ttclid. TikTok's click ID page defines it as "a tracking parameter appended to a landing page URL when you click on an ad on TikTok", and shows a URL becoming ?a=b&ttclid=_CLICKID_. It adds that "each Click ID is unique and adheres to the same CTA window configured in Attribution Manager."

TikTok's page on matching events lists the other match keys: the click id, hashed email and phone, an external id chosen by the advertiser, and IP address and user agent. It also notes that IP address and user agent "are shared by default for Pixel and require manual configuration for Events API". A server event does not carry the visitor's browser details unless someone puts them in.

For a Telegram funnel the working rule is short. Catch the ttclid at the click, keep it against that visitor, and send it back with the join or the deposit, however many hours or days later that is.

What a join and a deposit each carry

MomentWhere it happensWhat can identify the ad
Ad clickTikTok, then a landing page or tracked linkttclid in the URL
Channel joinInside TelegramThe stored ttclid, matched to the joiner
Email or account number givenChat with the botThe same stored ttclid plus the address, which TikTok wants hashed
DepositThe broker's own recordsThe same stored ttclid, sent only after the record confirms it

Hashing is TikTok's rule, not Scalegram's. Its advanced matching page says "customer emails and phone numbers will be hashed with SHA256, a secure hashing algorithm, before reaching TikTok servers for matching."

How the join becomes a server event

1. The click

The ad points at a landing page or at a tracked link. On a page, one line of code reads the click id off the URL, keeps it against the visitor and rewrites the Telegram links so the visitor id travels into the invite. Without a page, the tracked link reads ttclid, fbclid, gclid and sccid itself and keeps them with the UTM tags. In Scalegram this is the Links section, and the UTM tagging guide shows how the tags are read.

2. The join

Telegram's Bot API is what lets a bot see joins. For chat_member updates, "the bot must be an administrator in the chat and must explicitly specify chat_member in the list of allowed_updates to receive these updates." For chat_join_request, "the bot must have the can_invite_users administrator right in the chat to receive these updates." That is why any tracker asks you to make a bot an admin of the channel. Scalegram's dedicated bot watches who joins and matches each joiner to the click they came from.

3. The report

The stored click id goes back to TikTok from the server. An ad blocker or a browser setting cannot stop it, because no browser is involved.

4. The deposit

This is the event closest to the sale. The bot asks the lead for the email or account number, looks it up over a read-only API in the broker's own records, and only when the record shows the deposit does Scalegram report it to TikTok, with the ttclid stored at the click. The deposit verification article covers the lookup. The point for tracking is that TikTok is told about a deposit the broker confirmed, not one the lead claimed in the chat.

Pixel and Events API together

TikTok recommends running both. Its overview says: "Use both TikTok's Pixel and Events API together with Event Deduplication." That matters here because a Website on your own domain can carry a TikTok pixel while the server reports the same conversion.

The deduplication page sets the condition: "You must share Event ID (event_id) as a parameter through both Pixel and Events API to ensure deduplication takes place." TikTok looks for identical event and event_id values, and when it finds a duplicate it will "record the first event received for measurement and reporting." Between Pixel and Events API the window is "after 5 minutes and within a 48-hour window from the first event."

If you build your own server side reporting, share the event_id from the browser to the server. If you use a tool, ask how it handles the same conversion arriving twice.

Which TikTok events fit a Telegram funnel

TikTok's standard events list has Complete Registration ("when a visitor signs up for something such as account registration"), Contact ("when a visitor contacts you"), Subscribe ("when a visitor subscribes on your website including follows, content, or paid subscriptions") and Purchase ("when a visitor makes a purchase"). A channel join is closest to a follow or a contact. A verified broker deposit has no exact match in that list, so it is a choice you make when you set up the reporting. Decide it once and keep it the same across campaigns, or the numbers will not compare from one week to the next.

Where Scalegram fits and where it does not

Scalegram fits when the sale happens in Telegram and the thing you need to feed TikTok is a deposit: an IB, a forex affiliate or a prop firm affiliate who wants the campaign to see depositors. It links the click to the join, the join to the client card and the card to the broker's record, so the report is one chain and not three exports pasted together. It stores no messages, and it sends no signals and gives no trading advice.

It is the wrong tool if you only want a join counter and have no broker to verify against. Pricing for Scalegram is on the pricing section: Lite is $99 a month and the full plan is $999 a month. To see the chain end to end, read how it works.

Sources

An ad platform only learns from what it is told. Tell it about the deposit the broker confirmed and it has something worth learning from.

— The Scalegram Team

Key takeaways

  • The TikTok Pixel cannot see a Telegram join, so joins and deposits go back through the Events API from a server.
  • The ttclid from the ad click has to be stored at the click and sent with every later event.
  • If a pixel and the server report the same conversion, share one event_id or TikTok cannot deduplicate them.
  • Scalegram reports joins and broker-verified deposits to TikTok server side, with the stored click id.

Frequently asked questions

How do I track TikTok ads to a Telegram channel?

Send the ad to a tracked link or a landing page that stores the ttclid, watch joins with a bot that is an admin of the channel, and report each join to TikTok's Events API from a server with the stored click id. Scalegram does these steps for IBs and forex affiliates.

Can the TikTok Pixel track Telegram joins?

No, because a join happens inside the Telegram app, where the pixel does not run. TikTok's own Events API page says connectivity issues and browser inconsistency can affect conversions reported via Pixel, and the Events API is its answer for events that happen elsewhere.

What is ttclid?

It is the TikTok Click ID, a parameter TikTok appends to the landing page URL when someone clicks an ad. TikTok uses it to match the events you send back to the ad click.

Do I need both the Pixel and the Events API?

TikTok recommends using both together with event deduplication, and deduplication needs the same event_id sent through both. If your conversions happen inside Telegram, the Events API carries most of the weight.

Can Scalegram report a broker deposit to TikTok?

Yes. Scalegram checks the email or account number against the broker's own records over a read-only API and reports the verified deposit server side to TikTok, Meta and Snapchat.

Put one bot on your own Telegram

Scalegram answers every lead in the language it arrived in, checks the deposit against the broker's own records, opens the paid group and files the client. Lite starts at $99 a month.