Tracking · Meta and Google

Meta Conversions API case study: server side tracking for a Telegram funnel

An online academy sent ad traffic to a page that looks like a Telegram channel, and on to a bot. The sale happened inside Telegram, so Meta and Google saw no conversions and the ads learned nothing. I moved the tracking to the server.

Client
Online academy (anonymised)
Funnel
Ad, pre landing, Telegram bot, payment
Delivered
Pixel, Conversions API, server side GTM, reports
Period
May to September 2026
The funnel from ad to payment with pixel and server events
Illustration. The numbers at the bottom come from the project report, the pre landing page on the right is an example in the same style.
In short

Every funnel step is now sent from the server: Lead when someone starts the bot and Purchase when they pay, with one event ID in browser and server so nothing counts twice. After a bot platform switch the ads showed zero leads, and 149 lost leads were re-sent with zero errors. The bot got 997 new subscribers in 30 days, 408 of them from Meta Ads.

997new subscribers in 30 days, up from 945
408of them tied to Meta Ads
149lost leads re-sent, 0 errors
8 of 8match keys accepted in Meta's test

The starting point

When the purchase happens in Telegram, there is no thank you page where a pixel can fire. Meta and Google never learned who became a customer and could not find more people like them. When the bot moved to a new platform, Meta's lead count dropped to zero overnight.

What I built

  1. A Telegram style pre landing page. A fast page with video and a form that looks like a Telegram channel. Click IDs and UTM tags are stored and passed on in the bot link.
  2. Meta Pixel and Conversions API. Lead on subscription and Purchase on payment, with hashed contact data and one event ID in browser and server.
  3. Google Ads through its own server. Conversions go through a self hosted server side GTM container.
  4. Analytics without third party cookies. Self hosted Umami.
  5. Recovery after the bot switch. Subscriptions are pulled from the new bot platform every 5 minutes, and 149 lost leads were re-sent.
  6. From click to payment. A dashboard that follows each customer from ad to payment, plus a nightly report in Telegram.

The result

The bot got 997 new subscribers in 30 days against 945 in the 30 days before: 551 direct, 408 from Meta Ads and 38 from Google Ads. All 149 lost leads were re-sent with zero errors, and 40 of them could be tied to a Facebook click. Meta's test view accepted all eight match keys we send.

Tools and tech stack

  • Meta Pixel
  • Conversions API
  • Server side GTM
  • Google Ads
  • GA4
  • Node.js
  • PostgreSQL
  • Umami

The client is anonymised. The numbers come from the project's own reports and measurements.

Want this for your business? See Meta Conversions API setup.

Questions and answers

What is the Meta Conversions API?

Meta's way to receive events straight from your server, not only from the browser. It works when browsers block the pixel and when the purchase happens somewhere other than your website.

Do I need both the Meta Pixel and the Conversions API?

Yes, ideally both, with the same event ID. You capture the most events, and Meta removes the duplicates.

How do you avoid counting a purchase twice?

Browser and server send the same event with the same event ID. Meta sees it is one event and counts it once.

What is server side tracking?

Sending conversion events from your own server instead of only from the visitor's browser. It is more complete, survives ad blockers better and lets you track sales that happen in apps like Telegram.

About the author

Vladyslav Lysechko
Vladyslav Lysechko, Performance marketer, Lysechko Digital, Rånåsfoss, Nes, Norway

I have worked with ads on Google, Meta and TikTok for more than seven years and personally managed ad budgets from $1,000 a day up to $50,000 a month. For the last two years I have built websites, automations and AI assistants with AI every day. I help local businesses in Oslo and on Romerike get more calls and bookings. LinkedIn

More case studies

Systems and dashboardsAI and automation

Online course platform with CRM

A self hosted Teachable alternative: 282 lessons moved with zero errors, and access opens automatically after payment.

282lessons and 281 videos moved with zero errors

Read the case study

Ads and trackingWebsites

Recruitment ads and landing pages

Facebook, Instagram and Google campaigns with a landing page for every job, tracking every lead from ad to CRM.

67leads at about 7.7 zł after approval

Read the case study

Systems and dashboardsAds and tracking

Meta ads and CRM dashboard

One marketing dashboard that joins Meta ad spend with CRM leads, and found 41.6% of the budget bringing zero candidates.

84.3%of ad spend matched to campaigns, up from 59.6%

Read the case study

All case studies

Let's have a short call

Tell me a little about your business and you get a concrete suggestion with a fixed price.

Email vlad@lysechko.com · Phone +47 462 17 168

Book a short call WhatsApp (opens in a new tab)