How event forwarding works
This article is a mental model of how Tracker links affiliate program events to specific leads. After reading it, you will understand why a postback must contain clickid , what happens if the macro is
This article is a mental model of how Tracker links affiliate program events to specific leads. After reading it, you will understand why a postback must contain
clickid, what happens if the macro is not substituted, and how Tracker distinguishes “a lead from your ads” from “a random registration”.If your events are not coming in, or they come in without attribution, make sure to read this article before Setting Up a Ready-Made Integration / Custom Postback — custom integration.
Who this article is for
If you are connecting an affiliate program for the first time, this is required reading. If affiliate program events are coming in chaotically, without attribution, or with gaps, this explains why. If you are sending traffic through a standard setup and everything works, you can skip it.
The big picture
- — Created at the moment of the first click on an ad link.
- — Passed along: saved in a cookie, included in the affiliate program registration link via the {{tracker.clickid}} macro.
- — Returned from the affiliate program in the postback (together with information about the event — registration, sale, resale).
- — Used to find the lead: Tracker finds the record in its database by clickid and links the event to this lead.
Without
clickid, Tracker cannot link the event to the lead — it is recorded as “organic” and is not counted in the analytics for a specific campaign / buyer.Event transfer stages
1. The user comes from an ad
The client sees your ad on Facebook / Google / Telegram. Clicks the link. The landing page opens.
At this moment, Tracker:
- — Creates a unique clickid — a random string like 67wgwWkaR0. Unique forever.
- — Saves clickid in the browser cookie and in its database together with the link parameters (sub1, ad_name, buyer, and so on; see ).
- — Links clickid to a specific campaign.
2. The lead gets into Telegram and writes to the bot
The user clicks the “Open Telegram” button on the landing page. They enter a channel / bot and pass the Subscribe stage. When they write to the bot for the first time, the
Contact event is recorded. From this moment on, Tracker “knows” that the lead has left “traffic” and become a “CRM lead”.The link between clickid and the Telegram lead is established through the DM bot: when the bot deep link is opened, a
start_param is passed that contains clickid (or it is passed through metadata). This is technical magic that an ordinary operator does not need to get into — the main thing to know is that Tracker can do it.3. The lead receives a registration link
The bot / operator sends the lead the affiliate program registration link. This link must contain the
{{tracker.clickid}} macro:Что прописано в Flowplaintext
https://partner.com/signup?sub1={{tracker.clickid}}When the message is actually sent, Tracker substitutes this lead’s specific clickid:
Что отправлено лидуplaintext
https://partner.com/signup?sub1=67wgwWkaR0When the lead clicks the link and registers in the affiliate program, the affiliate program saves
sub1=67wgwWkaR0 in its database.4. The affiliate program sends a postback
When the lead completes a target action (registration, deposit, repeat deposit) in the affiliate program, it sends an HTTP request (postback) to your Postback URL in Tracker:
Постбек на регистрациюplaintext
https://api.chatterfy.ai/api/postbacks/.../tracker-postback?clickid=67wgwWkaR0&tracker.event=registrationThe affiliate program passes:
- — clickid — the value that was in the registration link.
- — tracker.event — the event type: registration, sale, resale, withdraw.
- — Additional parameters: amount tracker.cost, currency tracker.currency, transaction ID tracker.tid, custom fields.*.
5. Tracker links the event to the lead
Tracker:
- — Extracts clickid from the request.
- — Looks in its database for a lead with this clickid (it has been there since step 1).
- — Links the event to this lead and campaign.
- — Records it in, and in the lead card in the CRM (Events section).
- — If configured, applies an auto action (switches the Flow / changes the Status).
What can break
Registration link without a macro
The most common mistake. The operator copied the affiliate program link and forgot to insert
{{tracker.clickid}}. In this form, the affiliate program receives the registration without clickid, sends a postback without clickid, and Tracker cannot find the lead.Symptom: in Logs — event logs postbacks arrive, but the Click ID column is empty, and the event has the Error status “User not found”.
Solution: check the registration link in the Flow step ( Статья). The macro must be present. Fix it, resend the link to existing leads if possible, or wait for new leads.
The affiliate program does not save sub1 / clickid
Some affiliate programs use their own parameter name (for example,
pbclick instead of sub1). If Tracker has Click ID Parameter = sub1, but the affiliate program expects pbclick, the clickid will not be passed in the postback.Solution: in Custom Postback — custom integration / Setting Up a Ready-Made Integration specify the correct parameter name for the affiliate program. And in the registration link, use the corresponding name —
pbclick={{tracker.clickid}}.The lead registered without opening the bot
The lead clicked the ad, landed on the landing page, went to the channel, but never reached the bot (did not press Start). At this stage, Tracker has the clickid, but it is not linked to the Telegram user (there is no Contact event). If the lead follows the affiliate link at this point, the clickid is in the URL, registration will go through, but the event will be “hanging” without being linked to the lead in CRM.
Solution: make sure the DM bot is set up in General — user journey and quickly captures leads in DMs. The registration link should be sent by the DM bot (after Contact), not placed on the landing page.
Where events are shown
After Tracker has linked the event to the lead, it is displayed:
- — In — as Registration / FD / RD / Unique RD columns.
- — In — funnel KPIs and charts.
- — In → Postback logs — a detailed log of incoming events.
- — In the lead card in CRM, in the Events section — the operator sees “the lead registered on such-and-such date and made an FD of $200.”
- — Additionally, custom fields.* parameters create Custom Fields in, where the operator sees “trader_id = 12345.”
What’s next
Now that you understand the mechanics, you can set up a specific integration:
Was this article helpful?







