Track4youBlog

iGaming S2S Postback: How to Track FTDs from Telegram

By Mario Antonini·

If you run an iGaming operation, the entry into your Telegram channel isn’t the conversion that really matters — the first deposit (FTD) is. An iGaming S2S postback is what gets that deposit back to Meta. One person can join the channel, stay, engage and never deposit a cent; another can join and deposit the same day. Optimizing a campaign only for the entry event, without reaching the FTD, leaves Meta Ads optimizing for the wrong signal all over again — even after you’ve solved channel-entry tracking.

This guide assumes you already track channel entries (see the complete guide to tracking Telegram conversions) and focuses specifically on closing the loop all the way to the deposit, via postback. If your operation promotes a binary options broker instead of an operator, the mechanism is identical — see the dedicated version: binary options postback for Telegram.

Why the channel entry isn’t enough for iGaming

For most niches, “joined the channel” is already a complete conversion. For iGaming, it’s only halfway: the real value of a lead only shows up when they deposit. Two people who join from the same campaign can have identical acquisition costs and completely different outcomes — one deposits the same day, the other joins, disappears and never deposits anything. Without visibility of the FTD, Meta Ads has no way to tell the two apart, and the campaign ends up scaling toward the audience that only joins, not the one that deposits.

Why Meta Ads can’t see the deposit on its own

The deposit doesn’t happen in your ad, on your page or on Telegram — it happens inside the operator’s site or app, on a system owned by another company. No pixel or CAPI setup “sees” that automatically: the only way that information gets back to Meta is for the operator (or its affiliate platform) to actively report, via postback, that the event happened — sending back the identifier of the original click.

It also tends to happen late: unlike the channel entry, which is almost instant after the click, the deposit can take hours or days. On Track4you’s side, the delay costs nothing: every conversion that comes in through the postback — even weeks after the click — is sent to the pixel and becomes signal for the algorithm. What has a limit is the credit in Ads Manager: whether that FTD is credited to the campaign is decided by Meta’s attribution window (default: 7 days after the click or 1 day after the view). An FTD that falls outside it reaches the pixel, but doesn’t show up in the campaign’s column.

What a postback is (quick recap)

A postback is a server-to-server (S2S) notification: when an event happens on the operator’s or affiliate platform’s side (registration, first deposit, redeposit), an HTTP call is fired automatically to a URL you configured beforehand, carrying the identifier of the original click (the click_id) along with the event type and, for deposits, the amount.

The iGaming S2S postback flow, from click to FTD

1. From the ad to the channel entry

The ad carries the campaign’s UTMs and points to your capture page — your bridge page, also called a pre-landing page — which has Track4you’s script; the page’s button uses the funnel’s entry link, which takes the person to the channel. When they join, the tracking bot detects the entry and enter_channel reaches your pixel, attributed to the click within the attribution window (see the Facebook Pixel and CAPI guide for Telegram for this piece). Up to here, it’s the same mechanism that tracks channel entries in any niche — and it doesn’t depend on a click_id: the identifier that closes the FTD is born in the next step.

To take the person from the channel to the operator, you don’t post the raw affiliate link: you use the promo link of a Track4you integration (https://t4y.io/v2/...) in your posts, the pinned message and the channel description (it can also go in ads and in your bio, and it accepts UTMs). In the integration, the redirect destination (“Link de Redirect (Destino)” in the app) is the operator’s sign-up page with your affiliate link.

3. The click creates the click_id and leads to sign-up

On every click on the promo link, Track4you creates a unique click_id and redirects the person to the operator’s sign-up page with that value in the URL — in the parameter you pick as the URL identifier (“Identificador de URL”): click_id (default), afp, a UTM or a custom name such as subid or aff_sub, matching the parameter in which the operator reads the affiliate sub ID. The operator stores the value with the player’s account. Nobody has to “carry” the parameter forward by hand: if the person went through the promo link, the click_id is already there.

4. The operator fires the postback

When the registration, the FTD or a deposit happens, the operator calls the integration’s postback URL (a server-to-server GET), sending back the same value. The format is https://track4you.app/api/v1/webhook/event/{slug}?click_id={macro}&event=ftd&amount={macro}: the key is always click_id=, even when the incoming parameter is afp or subid; after the = goes the operator’s own macro that returns the value it received; and amount (FTD and deposits only) uses a dot as the decimal separator, with no currency symbol. Each integration represents one event type — one postback URL for registration, another for FTD, another for deposits. Also check which currency the operator reports the amount in: in an operation serving more than one market, amounts in different currencies added up in the same event silently distort the reported ROAS.

5. Track4you sends the conversion to the pixel

Track4you recognizes the click_id and delivers the conversion to the pixel chosen in the integration, server-side through Meta’s Conversions API. The name it arrives with depends on the event type: Registration arrives as CompleteRegistration; FTD arrives as the custom event FTD — not as Purchase — with the amount; and Deposit arrives as Purchase, also with the amount. Because FTD is a custom event, it has to be confirmed once in Events Manager before it shows up when you build a campaign. That closes the loop: ad → channel entry → sign-up → deposit.

Setting up the integration and the postback at the operator

In Track4you, each integration connects one of the operator’s event types to a pixel (Pro plan, up to 4 integrations, and Enterprise, up to 12). The path looks like this:

  1. In Integrations, click “Nova Integração” (new integration) and fill in the name, the pixel, the event type (Registration, FTD, Deposit or Custom), the URL identifier (the parameter in which the operator reads the click id — ask support or your affiliate manager) and the redirect destination.
  2. In the Facebook step, send the test event with the test code from Events Manager. For FTD, confirm in Events Manager the event that shows up with a warning on the test screen.
  3. In the install step, copy your promo link (it goes in the channel, your bio, your ads) and your postback URL.
  4. In the operator’s affiliate dashboard, open the postback settings for the same event as the integration, paste the URL and replace {{click_id}} and {{value}} with the operator’s macros ({click_id}, [subid], %afp%… every platform has its own). If the operator’s tech team is setting it up, send them the postback URL and tell them which parameter the click id arrives in on the sign-up URL.

Map carefully the different event types the operator can report:

  • Registration (lead): sign-up done, no deposit yet — arrives as CompleteRegistration.
  • FTD (first time deposit): the first deposit — usually the most important event for campaign optimization; arrives as FTD.
  • Redeposit: subsequent deposits, more relevant for recurrence/LTV metrics than for acquisition optimization. In Track4you, the Deposit type covers deposits in general and arrives as Purchase.

Sending all three to Meta as if they were the same event distorts optimization. With one integration per type, each one already reaches the pixel under a different name — the care that’s left is not pasting the same postback URL on different events at the operator.

The redeposit, in particular, isn’t a new acquisition: it’s recurrence from someone who already converted. That’s why, when the campaign goal is acquisition, the optimization target is usually the FTD, and the Purchase from the Deposit type comes in as a value signal (with enough volume, it can become an objective too). Where the redeposit really matters is in internal LTV reports (customer value over time): knowing that a campaign brings in leads who redeposit often is a quality signal the FTD metric alone doesn’t show — the iGaming redeposit tracking guide goes deeper on this.

How to check that the postback is working

Before trusting a real campaign, make a test conversion through the promo link: open the link, check in the address bar that the click_id arrived in the right parameter, sign up (or make a minimum deposit, if the operator allows it) and search for that identifier in the Integrations event history (“Histórico de Eventos”) — the conversion shows up with its type, the event sent to the pixel and the amount. The integration’s status moves from waiting for data (“Aguardando dados”) to receiving data (“Recebendo dados”); if it gets stuck on invalid data (“Dados inválidos”), the postback arrived without the click_id (renamed key or wrong macro). To check only the connection to Meta, without generating a conversion, use the integration’s test event: firing the postback URL by hand with a real identifier counts as a real conversion and goes to the pixel.

Common mistakes in this setup

  • Leads that don’t go through the promo link: if the channel posts the raw affiliate link, the sign-up reaches the operator with no click_id, and the postback has no click to be tied to.
  • A URL identifier that isn’t the parameter the operator reads: the click_id reaches the sign-up URL, but the operator doesn’t store the value — and has nothing to send back in the postback.
  • Pasting the same postback URL on different events: the FTD integration’s URL on the registration or deposit postback makes sign-ups and redeposits arrive as FTDs, inflating the number of “first conversions” and muddying the real CPA reading.
  • Renaming the key or using the wrong macro: the key is always click_id=; if the value arrives literally as {{click_id}}, that macro doesn’t exist at the operator; and changing the domain, the code after /event/ or the event= value makes the operator fire at an address that doesn’t recognize the call — silently, with no visible error until someone notices the numbers don’t add up.
  • An amount with a comma or a currency symbol: amount uses a dot as the decimal separator (150.00), with no currency sign — otherwise the FTD or deposit value arrives wrong.
  • Counting FTDs only in Ads Manager: if FTDs in your niche usually happen many days after the click, a good share of them reach the pixel but fall outside the Meta attribution window set on the campaign — and aren’t credited to it. The total that came in from the operator is on the FTDs card of Track4you’s Dashboard; it’s also worth checking the ad set isn’t on a window shorter than 7-day click (the longest Meta offers).
  • Not validating with an end-to-end test conversion: launching the setup and hoping it works is the most common way to find out, weeks later, that no real FTD ever reached Meta.

Build it yourself or use a ready-made tool?

Building this flow in-house means: creating an identifier per click and passing it to the operator in the right parameter, building and maintaining an endpoint that receives postbacks, matching each incoming postback to the right click, handling duplicate or out-of-order postbacks (a redeposit arriving before the FTD has been processed, for example), and only then firing the CAPI call with the right name and amount. No single step is complex, but keeping all of it running reliably, for multiple operators and campaigns at once, is the kind of ongoing engineering work that grows with the number of active campaigns.

A dedicated tool handles this out of the box: the link already creates the identifier, you paste the postback URL at the operator, and the matching with the original click, the separation by event type and the delivery to Meta come ready — no in-house infrastructure running 24/7 just for this part of the funnel.

How Track4you handles it out of the box

With Track4you Integrations (Pro and Enterprise plans), the promo link creates the click_id and delivers the lead to the operator’s sign-up page with it in the URL; the operator sends the value back on the integration’s postback URL; and Track4you sends the conversion to your pixel — CompleteRegistration, FTD or Purchase, depending on the type. No endpoint of your own to maintain and no matching logic built by hand: each integration’s status and the event history show conversion by conversion, and the registrations, FTDs and deposits cards on the Dashboard add up the period.

Frequently asked questions

Terms like click_id, CAPI and S2S have a quick definition in the glossary.

Conclusion

For iGaming, tracking the channel entry solves half the problem — the other half is closing the loop all the way to the deposit. The postback is the mechanism that builds that bridge: it takes the event that happens inside the operator’s system (out of reach of any pixel or Telegram bot) and sends it back to Meta Ads as a real-value conversion, which becomes signal for the algorithm and is credited to the campaign when it falls inside Meta’s attribution window. Without that last step, all your campaign optimization keeps revolving around who joins, not who actually deposits.

Stop optimizing in the dark

Track who actually joins your Telegram channel and optimize your campaigns for real conversions.

Discover Track4you

Frequently asked questions

Are a postback and S2S the same thing?

In practice, yes: S2S (server-to-server) is the type of communication — one server notifying another directly, without going through the browser — and postback is the most common name for that specific conversion notification in this model.

Do I need to track the channel entry AND the FTD separately?

Yes, and it’s worth it: they’re two different events, with different meanings for Meta Ads. Tracking only the entry optimizes for people who join; tracking the FTD optimizes for people who actually deposit — and the second one tends to be what really matters for ROAS in iGaming.

What happens if the click_id gets lost on the way to sign-up?

The deposit happens, but it never makes it back to the pixel. If the postback arrives without the click_id (or with the key renamed), the integration is flagged as invalid data; if it arrives with a value Track4you didn’t generate — because the lead signed up through a raw affiliate link instead of the integration’s promo link — the conversion doesn’t show up in the event history. It’s the most common mistake in this setup.

Does this work with any sportsbook, casino or affiliate platform?

It works with the ones that offer an S2S postback with a click id, which the vast majority do in their affiliate dashboard, even if the field name changes from one to the next. Before setting it up, ask support or your affiliate manager which URL parameter the platform reads the sub ID/click id from, and whether it sends that value back in the postback.

Mario Antonini

Mario Antonini

CEO - Track4you

Digital business strategist specialized in tracking and paid traffic across many niches. Works behind the scenes of several of Brazil's largest iGaming, binary options and infoproduct operations.

Related articles

Want to see this running in your operation?

Track who actually joins your Telegram channel and optimize your campaigns for real conversions.

Try Track4you