Meta Ads and Telegram: the Conversions API up to the deposit
ScaleGram CRM sends Meta what happens after the click on your Facebook and Instagram ads: the join to your Telegram channel, the lead, the broker registration and the confirmed deposit. Meta then optimizes your campaigns on these events.
In short
Each click gets its own Telegram invite link and ScaleGram keeps the click’s fbclid and _fbc and _fbp cookies. The lead’s events then go to your pixel through the Conversions API (Graph API v23.0), server side. Meta spend is imported every three hours, per ad and per day.
What Meta receives
Each CRM event maps to a Meta event. Names can be changed per pixel, and each rule can be turned on or off.
| CRM event | Meta event | On by default |
|---|---|---|
| Channel join | Subscribe | Yes |
| Join request | Subscribe | No |
| Bot start | Lead | No |
| First private message | Contact | No |
| Lead | Lead | Yes |
| Broker registration | CompleteRegistration | No |
| Confirmed deposit | Purchase, with value and currency | Yes |
The data sent with each event
- fbc and fbp from the original click. If the _fbc cookie is missing, fbc is rebuilt from the fbclid.
- The lead’s email, phone, first name, last name and ID, hashed with SHA-256.
- The click’s IP address and browser, with the landing page address.
- A unique event ID, which Meta uses for deduplication.
An event with no fbc, fbp, email or phone is not sent: Meta could not match it to anyone.
Connecting Meta Ads
- In the CRM’s Tracking screen, add your Meta pixel with its ID and a Conversions API access token.
- Test the connection: ScaleGram sends a test event. A test event code can also be saved on the pixel to follow the sends in Meta’s Events Manager.
- Create a tracking campaign and paste its link in your ad, with the parameters ad={{ad.id}}&adset={{adset.id}}&camp={{campaign.id}} to know which ad brought each lead.
- To read your costs, add your ad account: spend per ad and per day is imported through the Marketing API.
When events are sent
- The join is sent as soon as your bot sees the new member arrive through their link.
- The lead is sent when a conversation becomes a lead in the CRM.
- The registration is sent when the lead enters the pipeline stage chosen as the registration stage, or when the CellXpert sync reports it. Once per lead.
- The deposit is sent only once it is confirmed: when it is created, when it goes from “pending” to “confirmed”, or when CellXpert reports a net deposit that was not already entered.
Events go to the pixels of the original campaign, otherwise to the workspace’s default pixels. A failed send is retried after 1, 5, 30, 120 and then 720 minutes, then given up and logged.
Spend and cost per depositor
Meta spend (amount, impressions, clicks) is imported every three hours, re-reading the last three days. Matched with each campaign’s joins, leads and deposits, it gives the cost per subscriber and per depositor in the CRM.
Limits
- A deposit cancelled afterwards is not removed from Meta: the platform does not allow a conversion to be cancelled.
- A join through the channel’s public link has no original click: Meta cannot tie it to an ad.
- On a landing page built in ScaleGram, the browser Meta pixel can be added for the visit; Telegram events always go through the Conversions API.
Frequently asked questions
Do I need to install the Meta pixel on a website?
No. Telegram events go server side through the Conversions API, with the original click. The browser pixel is only useful if you also want to track the visit to a landing page.
Which Meta event should I use to optimize a Telegram campaign?
By default, the channel join is sent as Subscribe, the lead as Lead and the confirmed deposit as Purchase with its value. You choose in Meta the optimization event that fits your volume.
Is the deposit amount sent to Meta?
Yes, with its currency, for the Purchase event. You can turn off sending the value in the rule.
Is personal data hashed?
Yes. The lead’s email, phone, first name, last name and ID are hashed with SHA-256 before sending. fbc, fbp, the click’s IP address and browser are sent as they are, as Meta expects.
How do I check that Meta receives the events?
The CRM logs each send with Meta’s response. A test event code saved on the pixel makes the sends appear in the test tab of Events Manager.
Can I send events to several pixels?
Yes. A campaign can have its own pixels; with no pixel on the campaign, events go to the workspace’s default pixels.
See also
Telegram ad tracking
One Telegram invite link per click, sent back to Meta, TikTok and Snapchat up to the deposit.
Landing pages
Pages built in the CRM, on your own domain, that lead to your channel and count visits, leads and deposits.
TikTok Ads
Server-side Events API and TikTok spend import.
Snapchat Ads
Server-side Conversions API v3, from join to deposit.
Keitaro, Voluum, Binom
A GET or POST postback with macros for any tracker.
CellXpert
Registrations, net deposits, lots and CPA unlock synced from CellXpert.
Integrations
Telegram, ad networks, CellXpert, trackers and Google Sheets.
Create your workspace in a few minutes
Free during the launch, no credit card. Connect a Telegram account and your first leads land in the pipeline.