Help centre

Set up Joinvoo in 10 minutes.

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 ready
  • Telegram on your phone
  • Your channel, group or bot (you must be the owner or an admin)
  • Access to Meta Events Manager, TikTok Ads Manager or Snapchat Ads Manager
On real screens

Deposit tracking, start to finish

Two 90-second videos recorded on the real Joinvoo dashboard.

Set up deposit tracking · 1:30
Why it works · 1:27
Video tutorials

Fourteen short tutorials, one for each job.

Each one opens inside your dashboard, right where you need it.

11 minute

Create your account

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.

Confirm your email and your first 500 tracked joins are free. No top-up needed until you’ve used them.

Create your account

Your name
Alex Morgan
EmailPassword
••••••••••
Create account
22 minutes

Make a bot with BotFather

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.

  1. In Telegram, search for @BotFather (with the blue tick) and tap Start.
  2. Send /newbot.
  3. Send a name for your bot, for example Daily Deals Tracker. Members never see it.
  4. Send a username that ends in bot, for example dailydeals_track_bot. If it’s taken, try another.
  5. BotFather replies with a long token that looks like 7712045533:AAHk3v…. Tap it to copy it.
Keep the token private. Anyone with it can control your bot. If it leaks, send /revoke to BotFather and paste the new one into Joinvoo.
Use a new bot just for Joinvoo. A bot can only send its messages to one place, so a bot that already runs something else (a shop bot, a support bot, another tracker) can stop working if you connect it. Tracking your bot’s subscribers is the exception; see step 4.
🤖BotFatherbot
/newbot
Alright, a new bot. How are we going to call it?
Daily Deals Tracker
Good. Now choose a username. It must end in “bot”.
dailydeals_track_bot
Done! Use this token to access the HTTP API:7712045533:AAHk3vZq9xR2mW8pL4tN6cY1bJ0sD5fG7hE
330 seconds

Paste the token into Joinvoo

  1. On a new account, setup opens by itself. Later you can start it from Channels → Add another channel.
  2. Paste the token and tap Connect bot.
  3. You’ll see ✓ @yourbot connected. That’s it.

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.

STEP 1 OF 3

Connect your bot

Bot token from BotFather
7712045533:AAHk3vZq9xR2mW8p…
Connect bot
✓ @dailydeals_track_bot connected
41 minute

Connect your channel, group or bot

Choose what people are joining:

📣 Channel or groupPeople join your channel or group from your ad.
🤖 Bot subscribersPeople press Start on your bot from your ad.

Channel or group:

  1. Tap Add to my channel (for a group, tap It’s a group, not a channel). Telegram opens.
  2. Pick your channel or group. Telegram asks to make the bot an admin. Keep Invite users via link switched on, then tap Add bot or Save.
  3. Come back to Joinvoo. Your channel appears by itself within a few seconds with Live next to it.
Use a private channel or group if you can. With a public one, people can join by searching your name instead of using your ad link, and those joins can’t be matched to an ad. They show as “Organic”.

Bot subscribers: pick the option that fits your bot.

Recommended · no codeA. A new bot for JoinvooMake a bot in @BotFather and paste its token. Joinvoo tracks every Start and can send your welcome message and button. Nothing else to set up.
B. Your bot already runs on a serverConnect the token, then open My bot already runs on its own server and add that server’s address and its secret token. Joinvoo passes every message on, so your bot keeps working. Not for bots that use “polling”.
C. Keep your token privateDon’t share the token at all. Your bot, your developer or your bot builder sends one ping to Joinvoo each time someone presses Start. The hook URL is in your dashboard: Channels → the bot → Show code.

For channels and groups, your bot stays in the channel as an admin. Members don’t get messages from it.

📣Admin rights@dailydeals_track_bot
Manage channel
Invite users via link
Post messages
Delete messages
Add bot
53 minutes

Connect Meta, TikTok or Snapchat

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.

Meta (Facebook and Instagram)

You need two things from Events Manager:

  1. Open Events Manager and choose your dataset (pixel) on the left. If you don’t have one, tap Connect data → Web to create it.
  2. Copy the Dataset ID (also called Pixel ID). It’s a long number like 884210395527140.
  3. Open the Settings tab, scroll to Conversions API, and tap Generate access token. Copy the long token.
  4. In Joinvoo, paste both and tap Save and send a test.
To watch the test arrive, open the Test events tab in Events Manager, copy the code shown there (like 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.

TikTok

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.

Snapchat

  1. In Snapchat Ads Manager, open Events Manager and select your Snap Pixel (create one if you don’t have it). Copy the Pixel ID. It looks like a1b2c3d4-5678-90ab-cdef-1234567890ab.
  2. Generate a Conversions API token. You’ll find it in Business settings or in the pixel’s setup in Events Manager. Copy it.
  3. Paste both into Joinvoo’s Snapchat tab and tap Send test. The test goes to Snapchat’s validation endpoint, so it checks your ID and token without adding a real event.

Meta, TikTok and Snapchat rename menus now and then. If a name looks different, look for the same words nearby.

Ad platforms

MetaTikTokSnapchat
Snap Pixel ID
a1b2c3d4-5678-90ab-cdef-12345…
Conversions API token
••••••••••••••••••••••
Join event
SUBSCRIBE
Save and send test
✓ Snapchat accepted the test event
62 minutes

Put your tracking link in your ads

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.

In Meta Ads Manager

  1. Create a campaign with the Leads or Sales objective and choose Website as the conversion location.
  2. At the ad set, pick your dataset (pixel) and the conversion event Subscribe. That’s what Joinvoo sends by default; you can change it to Lead or CompleteRegistration on the Channels page.
  3. At the ad, paste your tracking link as the Website URL.
  4. Under URL parameters, paste this. Each person’s page then shows which campaign and ad brought them:
utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}

In TikTok Ads Manager

Choose a Website conversions objective, pick your pixel and the Subscribe event, and paste the tracking link as the Destination URL.

In Snapchat Ads Manager

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).

If an ad platform’s review is strict with your ads, set When someone taps your ad to Join page on the Channels page. Visitors then see a clean page with a Join button instead of being sent straight to Telegram.
Don’t share the tracking link inside Telegram itself, and don’t replace it with your channel’s normal invite link. Only clicks that go through the tracking link can be matched to an ad.
Ad · Destination
Website URL
https://joinvoo.com/c/ab12c
URL parameters
utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}
Conversion event
Subscribe
71 minute

Test it with your phone

Do this once before you spend money. It proves every part works.

  1. Send yourself the tracking link by email or chat, and open it on your phone. Use a Telegram account that isn’t already in the channel, or leave the channel first.
  2. Telegram opens. Tap Join (or Start for a bot).
  3. Within a few seconds the join appears on your dashboard’s Home and People pages, marked From ad.
  4. A Meta ✓, TikTok ✓ or Snapchat ✓ tag means the platform received it.

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.

JUST NOW
Lena K.From ad
Joined Daily Deals Club · 14 seconds after clicking
Meta ✓
TikTok ✓
Snapchat ✓
Campaign
Spring-Broad-Oct
Ad
Video 3 · Hook B
8Optional · 5 minutes

Track deposits and sales

Deposit tracking is part of Pro. Every account gets a free trial: 7 days or 20 FTDs, whichever comes first (see step 12).

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.

  1. In your dashboard, open Results → Deposits and tap the affiliate program you use (Affstore, 1win, Kingfin, Quotex, BC.Game and more, or Another program).
  2. Step 1: copy the 3 postback links (registration, first deposit, re-deposit) into your program, with its sub ID, event ID and amount switched on.
  3. Step 2: tell Joinvoo who sends your offer link. If it’s Joinvoo’s welcome message, paste your link and tap Make it trackable: Joinvoo adds each person’s Telegram ID. If it’s your own bot, send your developer the one-line message and use Check my bot.
  4. Step 3: test it from a second phone: tap your ad link, join, sign up. When Joinvoo shows It works!, every sign-up and deposit is matched to the right person and ad.
The whole setup on real screens, 1:30. Why it works.
Using Keitaro, Binom, a CRM or your own server?
  1. In your dashboard, open Conversions and copy your postback URL. It’s unique to your account and looks like this:
https://joinvoo.com/pb/<your-key>?sub1={telegram_id}&status=ftd&payout={payout}&currency=USD&txid={transaction_id}
  1. Pass the Telegram ID to your offer. Your bot knows the Telegram ID of everyone who presses Start. Add it to the offer link the bot sends as sub1, for example https://offer.example.com/?sub1=7012345678. Most networks and trackers call this a sub ID or click ID.
  2. Paste the postback URL into your affiliate network, Keitaro, Binom, CRM or broker as the postback for registrations and deposits. Swap the placeholders for that tool’s own macros: its sub1 macro for {telegram_id}, its payout or amount macro for {payout}, and its transaction ID macro for {transaction_id}.
  3. Set 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):

https://joinvoo.com/pb/<your-key>?sub1={sub_id_1}&status={status}&payout={revenue}&txid={tid}

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:

PlatformRegistrationFirst deposit
MetaCompleteRegistrationPurchase + value
TikTokCompleteRegistrationCompletePayment + value
SnapchatSIGN_UPPURCHASE + value
No postback? Open a person’s profile in People and tap Mark as deposited. Joinvoo sends the deposit to your ad platforms just the same.

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.

Conversions

Your postback URL
joinvoo.com/pb/k3y…?sub1={telegram_id}&status=ftd&payout={payout}
LATEST
Lucas M. · First deposit$120
via postback · matched to Video 3 · Hook B
Meta · Purchase ✓
TikTok · CompletePayment ✓
Snapchat · PURCHASE ✓
9Optional · 5 minutes

Track messages to your manager

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.

  1. In @BotFather, send /mybots, pick your Joinvoo bot, then Bot Settings → Business Mode → Turn on.
  2. On the manager’s Telegram, open Settings → Telegram Business → Chatbots. Add your bot and pick New chats or All non-contacts. Telegram Business needs Telegram Premium on the manager’s account.
  3. A DM tracking card appears in Channels by itself, with its own ad link. Connect Meta, TikTok or Snapchat as in step 5, then put the link in your ad.

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.

  1. Open its Settings → How it opens and pick Through your mini app. Copy the web address shown.
  2. In BotFather, send /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.
  3. Paste the link BotFather sends you (like t.me/yourbot/app) back into Joinvoo and tap Save. Open the mini app once in Telegram: the status turns green.
Your bot has its own mini app? Open the bot’s Settings → Mini app, turn on Open my mini app instead of the chat and enter your app’s address. In BotFather, point your mini app at the address Joinvoo shows. Each open counts as a lead, and Telegram login inside your app keeps working.

What gets sent for each person’s first message (you can change the event in Settings → Ad platforms):

PlatformFirst message
MetaLead
TikTokContact
SnapchatSIGN_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.

Ada (Sales) · How it opens

Through your mini appRecommended
Every message is matched, then the chat opens
Last 7 days
Ad taps1,532
Opened mini app1,088
Messaged636
Meta · Lead ✓
Mini app is working ✓
+Good to know

More things Joinvoo can do

Send events to your own server (webhooks)

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.

Pass your ad’s details to your offer link

Your offer link, your bot’s button link and your mini app address can carry tags. Under the link, tap a tag to add it: {tg_id}, {click_id}, {utm_source}, {utm_campaign}, {utm_term}, {utm_content} and {sub1} to {sub9}. Joinvoo fills each one in for every person, from the ad link they tapped. Keep your usual URL parameters on your Joinvoo link in your ads (for example utm_campaign={{campaign.name}} on Meta), and your offer or tracker sees the campaign and ad behind every visit. Tags work in welcome messages too.

Download your data

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).

Join-request mode: deposits from channels

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.

Connect your affiliate program

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.

Your own landing page and link domain

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.

Credits, plans and the deposit trial

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.

Add your team

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.

Get help setting up, without sharing your password

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.

Ad spend, cost per FTD and ROAS

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.

Telegram alerts and the daily report

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.

Channel banned? Use a backup channel

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, your built-in assistant

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.

Earn with referrals

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.

?Troubleshooting

Fix a problem

My channel didn’t appear after I added the bot

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).

The channel says “Needs permission”

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.

Most of my joins show as “Organic”

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.

My ad platform shows fewer events than Joinvoo

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.

“Invalid OAuth access token” or “token expired”

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.

A deposit postback isn’t matched

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.

“Invite links ready” is running low

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.

My tracker isn’t receiving the postbacks

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.

A website sign-up isn’t matched

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.

Microsoft or Google Ads shows no conversions

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.

A rule changed something I didn’t want

Open Rules → What rules did and tap Undo. To stop it happening again, set the rule’s “Then” back to “Message me on Telegram”.

Tracking is paused

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.

Ready to stop guessing?

Your first 500 joins are free. Setup takes about 10 minutes.

Start free