What Discord conversion tracking means
Discord conversion tracking is the practice of recording that a person joined your Discord server after clicking an ad, and connecting that join to the exact click, campaign, ad set and ad that produced it. A member count tells you the server is growing; it does not tell you which creative filled it, and it gives Meta, TikTok or Google nothing to optimise towards.
For advertisers the goal is specific: every join should arrive at the ad platform as a standard conversion event that carries the original click, so that the platform can show it in its conversion columns and bid for more people like the ones who joined.
Why the ad platform cannot see the join
Once a user leaves your ad for Discord, the ad platform can no longer follow them. Discord is a native app and a web client you do not control: there is nowhere to place a pixel, no confirmation page and no cookie that survives the handover. Campaigns are therefore optimised for link clicks, the audience shifts towards people who click without joining, and cost per member rises while cost per click looks stable.
Invite links do not solve it either. Discord's API tells an app that someone joined, but not through which invite, so a link per ad leaves you comparing invite use counts with member counts and guessing.
How a click becomes a reported join
- The ad points at a Tellmetric tracking link of the kind "Your Discord server". When someone taps it, Tellmetric records the click, issues it a click id and stores the fbclid, IP address, user agent and campaign parameters with it.
- The link sends the visitor to Discord's authorise screen for your Discord application: "know your username, join servers for you". The click id travels in the signed state of that request. A visitor who already authorised your app before skips the screen.
- On Authorise, Discord sends the visitor back to Tellmetric, which adds them to your server through Discord's API and opens the channel you chose. A new member is a join matched to exactly one click; someone who was already a member is not counted.
- The delivery worker sends the join to every ad platform you connected: as CompleteRegistration to Meta through the Conversions API, with the fbc parameter rebuilt from the fbclid and a stable event id for deduplication, and under the matching names to TikTok, Snapchat, Reddit, Spotify, X and Google Ads.
- After the number of days you set on Connections, Tellmetric asks Discord whether the person is still in the server. Still there becomes a Retained event, a stronger signal than the join; gone becomes a Leave, recorded in your reports and never sent as a conversion.
If the authorise step cannot complete, because the visitor pressed Cancel or the bot lost its permission, the visitor still gets into the server through a plain invite. That join is simply not matched to the ad, and Connections tells you what to fix.
What your ad platforms receive, and what they never do
Discord's developer policy forbids passing data obtained from its API to advertising networks, and Tellmetric is built so that it cannot happen. A Discord join reaches an ad platform with only what the click itself carried: the click id, the browser id, the IP address and user agent, and your campaign parameters. The person's Discord id, username, name, avatar or email never leave Tellmetric; the id is kept only to run the still-a-member check and is deleted afterwards. The same rule holds for the Retained event.
That is a narrower set of identifiers than a Telegram join carries, so match rates on Meta can be a little lower for Discord. The click id is what Meta matches on most reliably, and every attributed join has one.
What is tracked today, and what is next
- Joins through a Discord join link, matched to one click through the authorise step, once per person per link
- Still a member after the days you set, and left, found by a poll of Discord's API
- Clicks on every link, with campaign, ad set and ad ids from Meta, TikTok and Google Ads
- Deposits and purchases reported by your platform through a postback, the event API or a hosted form, credited to the click
First messages in the server and role purchases are not tracked yet; they need a different kind of Discord connection and are on the roadmap. Telegram and Discord work side by side in one workspace, so a brand with both a group and a server sees them in one report.
Plans and limits
Discord is included in every plan. Free tracks one community per workspace, which can be a Telegram group or channel or a Discord server, and reports to Meta; Pro and Agency track up to five communities and report to all seven ad platforms. A Discord join counts as one tracked user in the month it happens, like a click, and conversions are never capped.
Setting it up
Setup takes about ten minutes and no code: create an application in the Discord Developer Portal, paste its Application ID, client secret and bot token on Connections, add the bot to your server with one click, pick the channel people land in, and test a join from your phone. The walkthrough with every screen is in Discord ads tracking setup. The Telegram side of the same product is described in Telegram conversion tracking.
Frequently asked questions
Does it need a bot running in my server? The bot user of your own app must be in the server with Create Instant Invite, but no bot process runs and no privileged intent is needed, so there is no Discord review to pass.
What does Meta receive? Only what the click carried: the click id, browser id, IP address, user agent and your campaign parameters, plus the event name and time.
Which plan includes Discord? Every plan, with the same community limit as Telegram.
What about a visitor who is not logged in to Discord in the browser the ad opened? Discord asks them to log in, then shows the authorise screen; the click is still matched. A visitor who gives up gets a plain invite and joins unmatched.