Deeplinks
Shareable short links that send players into your Roblox game, or to any web page, and track who clicked, where they came from, and what the players they brought in went on to do.
A deeplink is a short link, like share.gamebeast.gg/summer-mfz3k0q7, that sends whoever opens it to your Roblox game or to any web page. Post it in a YouTube description, a Discord announcement, or an ad, and Gamebeast counts every click, works out where it came from, and, for Roblox links, follows the players who joined through it: how many converted, whether they were new, and how much they played and spent afterwards.
Each campaign or channel can have its own link, so you can compare them side by side.
How it works
- A player opens the link. They see a short redirect page with your game's preview card, and the click is recorded with its referrer (Discord, YouTube, and so on), country, and device.
- They're sent to the destination. For a Roblox link, that's the game itself, with launch data attached that identifies this click. For any other link, it's the URL you gave.
- The game joins the dots. When the player joins, the Gamebeast Roblox SDK reads the launch data and tags their markers with the deeplink. That's a conversion: a click that turned into a player in your game.
Conversion rate is conversions divided by clicks.
Conversions need the Gamebeast Roblox SDK running in the game the link opens. Links to other URLs only count clicks, because there's no game on the other end to report back. See Deeplinks to websites.
Try the redirect
This builds the redirect the same way the deeplink service does for real clicks. Switch the link type, turn auto launch on and off, or edit the launch data, then Click it to see the URL a player is sent to and what your game receives. Nothing here is created or recorded.
placeIdThe place to start. Present when auto launch is on.launchDataPassed into the game. Holds your launch data plus Gamebeast's attribution.utm_idThe deeplink's ID.utm_sourceAlways gamebeast.utm_mediumAlways deeplink.
{
"reward": "summer-skin",
"_gbDeeplink": {
"deeplinkId": 42,
"interactionId": "3f6c1e2a-8b4d-4c7e-9a1f-5d2b7e0c4a96"
}
}_gbDeeplink is added to every Roblox click. The SDK reads it when the player joins, which is how the click becomes a conversion. interactionId is new on every click.
Every Roblox click gets its own interactionId inside _gbDeeplink, which is how a conversion is matched to the click that caused it. Every destination is also tagged with utm_id (the deeplink's ID), utm_source=gamebeast, and utm_medium=deeplink, so a web page with its own analytics can see the visit came from your deeplink.
Link types
| Type | Paste | Sends players to | Conversions |
|---|---|---|---|
| Roblox game | roblox.com/games/<placeId>/… | That place, with launch data | Yes |
| Roblox share link | roblox.com/join/… | The game, with launch data, and Roblox still credits your share link | Yes |
| Other | Any https:// URL | That URL, with the UTM tags above | No |
Deeplinks to websites
An Other link to your website gets the same click analytics as any deeplink: clicks over time, traffic sources, and geography.
The JavaScript SDK doesn't read deeplinks yet. Visits from an Other link aren't counted as conversions, and markers your site sends aren't matched by the Query Builder's deeplink filters or breakdowns.
To connect visits to a link today, read the utm_id tag when the page loads and send it with a marker:
const deeplinkId = new URLSearchParams(window.location.search).get("utm_id");
if (deeplinkId) {
gamebeast.markers.send("deeplink_landing", { deeplinkId });
}You can then filter or break down that marker by its deeplinkId property like any other marker property. Your site's own analytics tools, such as Google Analytics, also pick up the utm_source=gamebeast and utm_medium=deeplink tags.
Create a deeplink
Go to Deeplinks in the project sidebar (under Insights) and click Create Deeplink, or use New Deeplink under Data → Deeplinks. There are three steps.
1. Type
Choose Roblox for a Roblox game or share link, or Other for any other web page.
2. Link
Paste the destination. For Roblox, Gamebeast detects whether it's a game URL or a share link:
- A game URL gives the place to launch, and its preview card.
- A share link doesn't say which game it opens, so you're also asked for the game's URL. Gamebeast reads the share code from the link.
For Other, the page's title fills in the deeplink's name.
A preview of the card people will see when the link is posted (title, description, and image from the destination page) appears once the link is checked.
3. Configure
- Name (required) and Description. The name is how the link appears in analytics, the Query Builder, and the assistant.
- Auto Launch (Roblox only, on by default). On: the link starts the game straight away. Off: it opens the game's Roblox page, and the player presses Play.
- Custom Launch Data (Roblox only). A JSON object passed to your game. See Launch data.
- Custom Link ID Prefix. Starts the link with your own text, like
share.gamebeast.gg/summer…, so it's recognisable. Letters, numbers,-, and_only. The rest of the link is generated.
Click Create Deeplink, then copy the link from the deeplink's page or card.
Deeplinks belong to the project, not to an environment: the same links and analytics appear in every environment.
Launch data
Custom launch data lets one link do more than open the game: start players in a particular mode, credit a creator, or show a welcome message for a campaign. Your keys are passed alongside Gamebeast's _gbDeeplink entry, as one JSON string. Read them on the server from the player's join data:
local HttpService = game:GetService("HttpService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local launchData = player:GetJoinData().LaunchData
if not launchData or launchData == "" then
return
end
local ok, data = pcall(HttpService.JSONDecode, HttpService, launchData)
if ok and type(data) == "table" and data.reward == "summer-skin" then
-- Show the summer campaign welcome
end
end)- It must be a JSON object. The editor won't let you save anything else.
- Don't use
_gbDeeplinkas one of your keys. It's reserved for attribution, and Gamebeast's value replaces yours. - Roblox limits how long launch data can be, and Gamebeast's entry takes about 90 characters of it. Keep yours short.
- On a share link, your launch data replaces any launch data set on the Roblox share link itself.
Anyone can copy a link and edit its launch data, so treat it like any other player input. Use it to change what a player sees, never to grant purchases, currency, or items.
Analyze a deeplink
Deeplinks in the project sidebar opens the analytics page. Pick a link from the list on the right (search by name), and a range at the top: 7d, 14d (default), 28d, 56d, 90d, or All Time, in your project's timezone or another you choose. The header shows the link with a copy button.
| Section | Shows |
|---|---|
| Clicks & conversions | Total clicks, conversions, conversion rate, total sessions, users, and revenue, with clicks and conversions over time |
| Users over time | New and returning players brought in by the link each day, and the share of each |
| Source & Geography | Clicks, conversions, conversion rate, and revenue by traffic source and by country |
| LTV | Cumulative revenue, sessions, or playtime from the players the link brought in, by day since their first visit, with day 7 and day 30 figures. Compare this link with your other links, or compare its traffic sources |
| Deeplink Analytics | Every deeplink in the project side by side, for all, new, or returning players. Sort by any column |
How the numbers are counted:
- A click is one opening of the link, counted when the redirect page loads in a browser. Link previews that platforms like Discord generate don't count.
- A conversion is a click that led to the player joining your game. Several clicks from the same player count as several conversions if each one brought them in.
- A player is new if their first session in your game was at or after their first conversion, and returning if they'd played before.
- Traffic sources come from the site the click came from: Discord, Twitter/X, YouTube, TikTok, Google, Instagram, LinkedIn, and Facebook are recognised. Anything else, including clicks with no referrer, is Other.
- Revenue is purchases made by the players who converted on the link, within the range.
The Ask AI button in the header opens the assistant with the selected link attached. It can compare your links, explain a spike, or break down where a link's players came from.
In the Query Builder and cohorts
To go beyond the deeplink page, use deeplinks in the Query Builder:
- Filter to markers from players who came through a deeplink, with Was Used or Was not Used.
- Break down any metric by deeplink to compare links by the deeplink's name.
Cohorts can filter on deeplinks the same way, for example to build a cohort of players who joined through a creator's link.
Edit or delete a deeplink
Data → Deeplinks lists every deeplink as a card with its clicks, conversions, conversion rate, and revenue. From a card's menu you can Copy Short URL, Edit, or Delete it, and Analyze opens it on the analytics page. You can also edit a link from the pencil next to it in the analytics page's list.
- You can change the name, description, and, for Roblox links, auto launch and launch data. Changes apply to the next click.
- The link itself, its type, and its destination can't change. To point somewhere else, create a new deeplink.
- Refresh on the preview card re-reads the title, description, and image from the destination, for example after you update your game's thumbnail. You can refresh once a minute.
- Delete stops the link working straight away: anyone who opens it sees a "not found" page. This can't be undone.
Manage deeplinks with the API
Deeplinks can be listed, created, updated, and deleted, and their conversions read, over the API. Authenticate with a personal access token that has the deeplinks read or write permission.
The MCP server also lets your AI tools list deeplinks and query their metrics.
User Cohorts
User cohorts allow you to group and filter users based on shared characteristics from your markers, making it easy to analyze and understand user behavior for specific subsets of users.
User Management
Gamebeast Dashboard allows you to view and manage your users in real-time. This includes actions like kicking, banning and viewing user events.