Watch a short tutorial or follow the steps below once. After that, every join and deposit from your ads is matched to the exact ad and sent back automatically.
About 10 minutes, start to finish
Have these readyTwo 90-second videos recorded on the real Joinvoo dashboard.
Each one opens inside your dashboard, right where you need it.
Go to Sign up and enter your email, a password and your country. If a friend sent you their referral link, their code is filled in for you. Already have an account? Log in.
You land in your dashboard straight away. A short setup guide opens by itself and follows the same steps as this page.
Joinvoo uses your own bot. The bot creates a fresh invite link for every person who clicks your ad, so we know exactly which ad each person came from. BotFather is Telegram’s official tool for making bots, and it’s free.
/newbot.dailydeals_track_bot. If it’s taken, try another.7712045533:AAHk3v…. Tap it to copy it./revoke to BotFather and paste the new one into Joinvoo.If you see “Telegram rejected this token”, part of it was missed when copying. Copy it again from BotFather, or send /token to BotFather to see it again.
Choose what people are joining:
Channel or group:
Bot subscribers: pick the option that fits your bot.
For channels and groups, your bot stays in the channel as an admin. Members don’t get messages from it.
This is what lets your ad platforms see your real joins, so they can find more people like them. Connect one, two or all three. Each join is then sent to every platform you connect.
You need two things from Events Manager:
884210395527140.TEST12345), and paste it into Joinvoo’s Test code box before sending. Clear the test code when you go live, or real joins only show up in the test tab.In TikTok Ads Manager go to Tools → Events → Web events, open your pixel, copy the Pixel code (letters and numbers, like CABC123DEF456GHI), then in its Settings tap Generate access token. Paste both into Joinvoo’s TikTok tab and send a test.
a1b2c3d4-5678-90ab-cdef-1234567890ab.Meta, TikTok and Snapchat rename menus now and then. If a name looks different, look for the same words nearby.
On the Channels page, copy your tracking link. It looks like https://joinvoo.com/c/ab12c. Use it everywhere your ad would normally use your Telegram link.
Choose a Website conversions objective, pick your pixel and the Subscribe event, and paste the tracking link as the Destination URL.
Choose a Website conversions goal, pick your Snap Pixel and the Subscribe event, and paste the tracking link as the ad’s Web URL (the website attachment).
Do this once before you spend money. It proves every part works.
Seeing it on Joinvoo but the platform says failed? Tap the person to see the platform’s reason. It’s almost always the access token: generate a new one and paste it again.
If your channel or bot sends people to a broker, casino, shop or app, you can send their sign-ups, first deposits, repeat deposits and sales back to your ad platforms too. Your ads then learn to find depositors, not just joiners. These events cost nothing extra.
sub1, for example https://offer.example.com/?sub1=7012345678. Most networks and trackers call this a sub ID or click ID.{telegram_id}, its payout or amount macro for {payout}, and its transaction ID macro for {transaction_id}.status to the event: lead, reg (sign-up), ftd (first deposit), dep (repeat deposit), sale (course, VIP, subscription), qualified (CPA qualified) or rejected (chargeback or reversal: removes the revenue and sends nothing to ad platforms). Later deposits from the same person are recorded as repeat deposits automatically.Example for Keitaro (S2S postback):
Macro names differ between tools; check your network’s postback help page. Joinvoo also accepts subid, aff_sub or tg_id for the Telegram ID; event or goal for the status; value or amount for the payout.
What gets sent:
| Platform | Registration | First deposit |
|---|---|---|
| Meta | CompleteRegistration | Purchase + value |
| TikTok | CompleteRegistration | CompletePayment + value |
| Snapchat | SIGN_UP | PURCHASE + value |
To optimise for depositors, pick Purchase (Meta), CompletePayment (TikTok) or PURCHASE (Snapchat) as the conversion event in your ad set once deposits start coming in.
Do your ads send people to a manager’s chat instead of a channel? Joinvoo can match each person’s first message to the exact ad and send it to your ad platforms as a Lead. Your ads then learn to find people who really write to you.
/mybots, pick your Joinvoo bot, then Bot Settings → Business Mode → Turn on.Make every message match: use a mini app. Without one, your link opens the chat with a ready message and a short code (“Ref: …”); if someone deletes the code, that message counts as organic. With a mini app, Telegram tells Joinvoo exactly who tapped your ad.
/newapp, pick your bot, add a title, description and photo, and paste that address as the Web App URL. Pick a short name like app.t.me/yourbot/app) back into Joinvoo and tap Save. Open the mini app once in Telegram: the status turns green.What gets sent for each person’s first message (you can change the event in Settings → Ad platforms):
| Platform | First message |
|---|---|
| Meta | Lead |
| TikTok | Contact |
| Snapchat | SIGN_UP |
Joinvoo only notes each person’s first message to match it. It never replies in your manager’s chats and never saves what people write. Later deposits work as in step 8: pass the person’s Telegram ID as sub1.
Open Conversions → Integrations and scroll to Send events to your own server. Tap Add webhook, paste your server’s https:// address (your CRM, your own bot, or a Zapier or Make link) and tick the events you want: joins, bot Starts, first DMs, registrations and deposits. Each event is sent as JSON the moment it happens, with the person, their Telegram ID and the campaign and ad they came from.
Every event carries an X-Joinvoo-Signature header: an HMAC-SHA256 of the X-Joinvoo-Timestamp value, a dot and the body, made with your signing secret. Check it to know the event is really from Joinvoo. If your server is down, Joinvoo tries again a few times. Tap Send test to check it works.
Every list can be downloaded as a CSV file for Excel or Google Sheets, for the dates you picked: everyone who joined or wrote (People → Download CSV), every ad tap with its campaign, ad and result (Results → Download), and every registration and deposit (Conversions → Download CSV).
In Channels, open your channel and switch Join mode to Join requests. Add a welcome message and your offer link with {tg_id} where your program expects the sub ID. Joinvoo approves each request in about a second and sends the person their own link, so their deposit is matched to them and to the ad. Already have a welcome bot? Choose My own bot and Joinvoo only tracks.
Open Integrations, pick your program (1win Partners, Kingfin, Affstore, Pocket Option, Olymp Trade, BC.Game and more) or tracker (Keitaro, Binom) and Copy postback. Paste it in the program’s postback settings for registrations and deposits. Not listed? Use Custom postback: any network or CRM that can call a URL works.
Keep your landing page: open the channel’s Settings → Your own website, pick when people go to Telegram and paste the one line of code. To run links on your own domain, open Channels → Your link domain, add the two DNS records shown and tap Check now. Basic includes one domain; Pro is unlimited.
Joinvoo is prepaid: 1 credit = $0.01. Basic is $30 a month with 2,000 tracked joins; Pro is $99 with 5,000 joins, unlimited channels, bots and domains, team seats and deposit tracking. Extra joins cost 2 credits; organic joins are free. Every account can try deposit tracking for 7 days or 20 FTDs. Bigger top-ups earn bonus credits, and ranks from Bronze to Diamond unlock perks.
Credits are for tracking and can’t be withdrawn or refunded (see the Refund Policy). If they run out, your ads keep working; tracking just pauses.
Open More → Team and tap Invite. Managers see every channel; buyers see only the channels you give them. Pro includes three team members, and you can compare your buyers side by side on Results.
Have a marketer or freelancer who sets up your tracking? Open More → Team, tap Invite and choose Setup helper. It’s free on every plan (one per account). Send the invite by email, or copy the link and send it on WhatsApp or Telegram. Your helper can set up your bots, channels, ads and domains and see your results, but never your billing, wallet or withdrawals. You can set a date when their access ends, and remove them any time. Helpers who work with many clients see every account in one place under Accounts I manage.
Add your spend in Ad spend (or import a CSV with date,platform,campaign,amount) and Joinvoo shows cost per join, cost per FTD and ROAS by campaign and platform. Fake joins are recorded but never sent to your ad platforms.
Open Settings → Alerts, tap Connect Telegram and press Start. You get a daily summary and alerts when a token stops working, invite links run low or tracking pauses.
Connect your backup channel, then open the old one in Channels and set Send visitors to your backup. Every ad keeps working, with no edits and no new review.
Joe shows short insights on your dashboard and answers questions about your own numbers. He never makes numbers up: if something isn’t tracked, he says so.
Share your link from the Earn tab and get 10% to 30% of what the people you invite spend, for as long as they use Joinvoo. Use it as credits or withdraw in USDT (TRC20) or BTC from $300. Want more? The VooSquare affiliate program pays up to 50% for life.
Make sure you added the bot as an admin, not just a member, and that Invite users via link is on. Then run setup again from the Help tab, and on the channel step tap The bot was already an admin?. Pick your bot and type your channel’s @username (or its ID for a private channel).
Someone removed the bot’s admin rights or switched off Invite users via link. In Telegram: open your channel → Administrators → your bot → switch it back on. Joinvoo picks it up by itself.
Those people joined without going through your tracking link: from search (public channels), a link someone shared, or an old invite link in your ad. Check that every ad uses the Joinvoo tracking link, and make the channel private if you can.
That’s normal. Meta, TikTok and Snapchat only count events they can match to one of their users, and they remove duplicates. Events can also take up to 20 minutes to appear. If a join shows failed, tap it to see the platform’s reason.
Generate a new access token in your ad platform (for Meta: Events Manager → Settings → Conversions API) and paste it on the Channels page. Joins that failed are retried for a while, so recent ones still get sent.
Joinvoo needs the person’s Telegram ID in sub1 (or subid, aff_sub, tg_id). Check that your bot adds it to the offer link and that your network sends it back in the postback. Placeholders that weren’t filled in, like {sub1}, are ignored.
Telegram limits how fast one bot can make links. For big campaigns, add a second or third bot to the same channel (make each one admin). Joinvoo uses all of them. If links ever run out, visitors still get in through a backup link; only those joins aren’t matched.
Open Conversions → Integrations → Send to your tracker and tap Send test: it shows exactly what your tracker answered. Check that YOUR-…-DOMAIN was replaced with your tracker’s domain, and that your tracker adds its click ID to your Joinvoo ad link (like ?cid={clickid}). Clicks without it are counted in Joinvoo but can’t be sent to the tracker.
Check the dot next to your website is green (Joinvoo has seen the script), and that your offer link has {click_id} where the program puts the sub ID. Open the page from the Joinvoo ad link, not straight from the address bar.
Keep auto-tagging on in the ad account, so Microsoft’s and Google’s click IDs reach your Joinvoo link. Type the conversion goal name (Microsoft) or conversion action ID (Google) exactly as in the ad account, then tap Test. Imported conversions can take a few hours to show in their reports.
Open Rules → What rules did and tap Undo. To stop it happening again, set the rule’s “Then” back to “Message me on Telegram”.
Your credits ran out, or the month’s plan (3,000 credits) couldn’t be charged. Buy credits from Billing and tracking starts again straight away. Your links kept working the whole time.
Your first 500 joins are free. Setup takes about 10 minutes.
Hi 👋 Ask us anything about tracking Telegram joins and deposits from Meta, TikTok or Snapchat.