Prompting Users to Share Incentivized Links
Incentivized sharing can help grow your Activity through network effects. You can use links in several different ways such as:- Referral links. Users can copy referral links inside your Activity, which include their Discord user ID (https://discord.com/activities/<your Activity ID>?referrer_id=123456789), and they can send to their friends. If their friend accepts and starts playing your game, then you gift the referrer something inside your game.
- Promotions. You can run a temporary promotion on social media, where you offer a reward if they start playing now. Share a custom link on your social media (https://discord.com/activities/<your Activity ID>?custom_id=social012025). Anyone who clicks that specific link receives something inside your game.
- Social deep-links. Currently, when users launch an Activity, they all land in the same place. Instead, you can start deep-linking to contextually relevant points in your game. For example, user A can copy a link inside your Activity for engaging other users (https://discord.com/activities/<your Activity ID>?referrer_id=123456789&custom_id=visit-location), and sends the link to their friends in a DM or channel. Then, user B who clicks the link gets taken directly to user A’s location.
- Turn-based deep-links. When you send an “it’s your turn” DM to a user, you can include a link which takes them directly to the right game instance and the turn they need to take.
- Affiliate marketing. You can work with affiliates (influencers, companies, etc) to advertise your game to their followings, and reward them via a custom link (https://discord.com/activities/<your Activity ID>?custom_id=influencer1). Then, for every user that starts playing because of said influencer, you can then pay out to the influencer.
- Source attribution. You can use the custom_idparameter to figure out how much traffic you’re getting from different marketing sources.
Implementation Overview
- Create and track an incentivized link for a promotional campaign, then prompt users to share the link
- Handle incoming referrals and grant valid rewards
Sharing Links
When implementing sharing, you’ll need to:- Generate a unique ID for tracking the promotion
- Call the shareLinkcommand
- Track the share attempt
Handling Incoming Referrals
When a user clicks a shared link, your activity will launch with referral data available through the SDK:Link Sharing Best Practices
- Generate unique, non-guessable customIds
- Track and validate referrals to prevent abuse
- Handle edge cases like expired promotions gracefully
- Consider implementing cool-down periods between shares
- Do not override the referrer_idquery parameter directly. When present,referrer_idis expected to be a Discord snowflake-type user ID, otherwise it will be set to the message’s author id.
Creating and Managing Custom Incentivized Links
This guide covers creating a customizable Incentivized Link through the dev portal, and then retrieving the link to be able to share it off-platform. Incentivized Links are used to customize how the embed appears to users.Creating a Link
- In your Application’s portal, visit the Custom Links page under the Activities heading in the navigation pane.
- On the Custom Links page, click Create Newto create a new link.
- You will need to upload an image with an aspect ratio of 43:24.
- Title, and description are also required.
- custom_idis an optional field, an explicit- custom_idquery parameter on the link itself will always override the set- custom_id.
- Click Save.
Editing a Link
- Click on a row to open up the modal with all of the data loaded in ready for your edits.
- Change the description to something else.
- Click Update.
Copying a Link
Once you’re satisfied with your changes you can click on the copy icon on the row, it’ll change colors to green indicating that it copied to your clipboard. You are now able to share this link anywhere. The link will look like:https://discord.com/activities/<your Activity ID>?link_id=0-123456789. Even if you’ve set a custom_id, it won’t be explicitly included in the link but will be loaded once a user clicks on the link. You can then further shorten this URL if you’d like.
Deleting a Link
- Click on the trash icon on the row of the link you’re trying to delete.
- You’ll have a confirm dialog pop up.
Deleting is irreversible and immediate. Ensure that your link isn’t in active use before deleting and/or that your activity gracefully handles any click-throughs from the link.
Best Practices
- Generate unique, non-guessable customIds
- Track and validate referrals to prevent abuse
- Gracefully handle expirations in your activity for any custom links that are limited time but still live off-platform.
User Experience

custom_id you’ve set. A referrer_id will be present for links shared on Discord.
Generating a Custom Link Within Your Activity
This guide covers creating a customizable Incentivized Link within your activity, and using theshareLink API to share the link.
- Allows you to customize the way the link is presented to users via the embed
- Can be generated on-demand within your activity
- Ephemeral, 30 day TTL
- Does not show up in the developer portal