GamebeastDocs
Dashboard

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

  1. 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.
  2. 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.
  3. 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.

share.gamebeast.gg/summer-mfz3k0q7
Redirects to (decoded for reading)Not clicked yet
https://www.roblox.com/games/start?placeId=1818&launchData={"reward":"summer-skin","_gbDeeplink":{"deeplinkId":42,"interactionId":"3f6c1e2a-8b4d-4c7e-9a1f-5d2b7e0c4a96"}}&utm_id=42&utm_source=gamebeast&utm_medium=deeplink
  • 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.
Your game receives111 characters
{
  "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.

InteractiveChange the link type, auto launch, or launch data, then click the link. The redirect is built by the same code that serves real clicks. Nothing is created or recorded.

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.

TypePasteSends players toConversions
Roblox gameroblox.com/games/<placeId>/…That place, with launch dataYes
Roblox share linkroblox.com/join/…The game, with launch data, and Roblox still credits your share linkYes
OtherAny https:// URLThat URL, with the UTM tags aboveNo

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.

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.

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 _gbDeeplink as 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.

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.

SectionShows
Clicks & conversionsTotal clicks, conversions, conversion rate, total sessions, users, and revenue, with clicks and conversions over time
Users over timeNew and returning players brought in by the link each day, and the share of each
Source & GeographyClicks, conversions, conversion rate, and revenue by traffic source and by country
LTVCumulative 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 AnalyticsEvery 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.

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.

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.

On this page