← All articlesUA
Blog · Ads and chatbots

How to send Telegram bot leads to Meta ads

Kateryna Bykova · tech partner for business owners9 October 20265 min read
Short answer

The Meta pixel can't see what happens inside Telegram. So the Lead event is usually placed on the button that opens the bot, and the ads count everyone who clicked, even if they never started the bot. The right way is to send the Lead event from the bot itself via the Meta Conversions API (and the TikTok Events API) only when the person presses Start, together with the ad click IDs.

A story from practice

At an online academy, Meta showed one number of leads, the Telegram bot another and the CRM a third. The Lead event was placed on the button that opens the bot, so the ads counted every click, even when the person never started the bot.

I suggested counting a lead at the moment the person presses Start in the bot, and sending that event from the bot via the Conversions API. Cost per lead dropped from €13.19 to €7.62, and webinar sign-up conversion grew by 10%.

Why it matters

Ads learn from whoever you show them

Meta's algorithm looks for people similar to those who already completed the target action. If the target action is a button click, it learns to bring people who click, not people who register. For the pixel, a Telegram bot is a black box.

Is this about you

You need this if…

  • Meta ads lead to a Telegram bot directly or via a website
  • The Lead event fires on the button that opens the bot
  • Lead numbers in the ad account, bot and CRM don't match
  • Cost per lead grows while lead quality drops

If at least two of these apply, your ads are most likely learning from the wrong data.

What it affects

What changes when leads are sent correctly

  • Cost per lead. The algorithm gets real signals and optimises for people who actually reach the bot.
  • Matching numbers. The ad account, bot and CRM show the same number of leads.
  • Attribution. You see which campaign, ad and audience bring leads, not just clicks.
  • No blockers. The event is sent server-side, so AdBlock, cookie bans and iOS limits don't stop it.
Pitfalls

Where it usually breaks

  • Event on the button. Repeat clicks and people who open Telegram and leave are all counted as leads.
  • Lost click IDs. The Meta click ID (fbclid) is long, and a bot link only accepts a short parameter. A script on the site has to store it and pass it to the bot.
  • Duplicate events. If the event comes from both the pixel and the server without a shared ID, Meta counts the lead twice.
  • No contact data. Without hashed email or phone, match quality drops.
  • Systems don't agree. The bot, CRM and ad account count differently unless the event is tied to one moment, such as pressing Start.
How it works

The path of one event

Ada person clicks a Meta ad
→
Sitea script stores fbclid and UTM tags
→
Botthe person presses Start
→
Conversions APIthe bot sends the event with click data
→
Metathe ads learn from a real lead
Solution options

Three approaches compared

Event on the bot buttonsimple but inaccurate

Set up in 10 minutes with the pixel. Fine to start, but the ads optimise for clicks, not leads.

Event from the CRM or Makebetter

When a lead appears in the CRM, a scenario sends the event to Meta. More accurate, but delayed and often without click IDs.

Event from the bot via Conversions APImost accurate

The site passes click IDs to the bot, and after Start the bot sends the Lead event to Meta and TikTok instantly.

How I did it

Cost per lead down 42%

−42%cost per lead: €13.19 → €7.62
+10%sign-up conversion
4,300+bot events processed in the CRM

For an online school with a webinar funnel I set up lead events from a Telegram bot to Meta and TikTok via API. The Lead event now fires only after Start, click IDs are preserved, and the ad account, bot and CRM numbers match.

Read the full case study →
Questions and answers

FAQ

Can I put the Meta pixel inside a Telegram bot?

No. Telegram doesn't run pixel code, so a bot event can only be sent server-side via the Meta Conversions API.

What is the Meta Conversions API in simple terms?

A way to send events to Meta from a server or service, such as a bot, CRM or scenario, instead of the browser. Events aren't blocked and the ads get more accurate data.

Does this work with TikTok?

Yes. TikTok has the Events API, and the bot can send the Lead event to Meta and TikTok at the same time.

Do I need a developer?

It takes technical setup: passing tags from the site to the bot, API requests and event checks. I set this up end to end on SendPulse, Make and your CRM.

How long does setup take?

Usually from a few days to two weeks, depending on the number of bots, ad accounts and CRMs.

Need the same?

Want your ads to see real leads?

Describe your funnel and the result you want. I'll tell you how to build it with the tools you already use.

Discuss your task