# Deep-links

"Deep links" are used to navigate the user through the built-in gamification functionality or to the screens specific to the integrated product.

**The built-in deep links,** in most cases, start with a "gf" prefix; for example, the gf\_missions deep link navigates the user to the screen with a list of missions.

**Product-specific deep links** may have any name; for example, a deep link named "cashier" can lead users to the deposit page.

{% hint style="info" %}
We are strongly encouraging to use of deep links instead of the fixed URLs as they provide a unified way to lead users to specific screens, no matter the channel used - deep links are working the same way for online communication, like Popups & Inbox, and for offline, like Mails, SMS, and Push notifications.

They are also simplifying operational work in the case of multi-brand usage because they are abstracted from the target domain on which a specific brand is set up.

And they can help you to migrate to a new domain, in case the main domain is blocked or is not available for whatever reason.
{% endhint %}

Deep links can be executed from the main places in the Smartico system:

* From the Popup, Push messages, and Inbox messages
* From the SMS, you can build a message like "Try our new missions dp:gf\_missions". The deep link will be dynamically inserted when the message is sent, and after clicking the link, the user will land on the main site with the deep link executed. The same applies to other IMs like WhatsApp, Viber, Telegram, etc.
* From Mail templates, when building link like \<a href="dp:gf\_missions">Click here\</a>
* From the main site using javascript call *\_smartico.dp("dp:gf\_missions");*
* Directly by navigating to your site with specific parameters in the URL, e.g., <https://smartico.ai/#_smartico_dp=dp:gf_missions>
* From the descriptions of missions, tournaments, mini-games, levels, etc. All places that support HTML or have a dedicated place to put a deep link

## Deep-links in Mini Games

#### Open Mini Game in the Gamification widget <a href="#t5gvbd5efxtq" id="t5gvbd5efxtq"></a>

Mini games can be opened as part of the Smartico Gamification widget using a Deep Link.

* <mark style="color:red;">dp:gf\_saw</mark> - will open the mini games section with 1st by priority game
* <mark style="color:red;">dp:gf\_saw\&id=19</mark> - will open specifically mini game template ID 19

#### Open Mini Game in standalone mode <a href="#vbowyhj0a4dx" id="vbowyhj0a4dx"></a>

Mini games can be opened in standalone mode directly on the operator site when the user clicks on a specific HTML element placed on the website.

* <mark style="color:red;">\_smartico.dp('dp:gf\_saw\&id=19')</mark> - will open the game with id 19 in the Gamification widget context
* <mark style="color:red;">\_smartico.miniGame(19)</mark> - will open Mini-game with id 19 in standalone mode

## List of deep links supported out of the box

<table data-full-width="true"><thead><tr><th width="285">Deep link</th><th width="408">Action</th><th width="137" data-type="checkbox">Standalone</th><th data-type="checkbox">Hide main</th></tr></thead><tbody><tr><td><strong>dp:gf</strong></td><td>Opens main screen of gamification widget</td><td>false</td><td>false</td></tr><tr><td><strong>dp:gf_activity</strong></td><td>Opens the "Inbox" section inside the gamification widget</td><td>false</td><td>true</td></tr><tr><td><strong>dp:inbox</strong></td><td>Opens separate "Inbox" widget, please refer to the <a href="../crm-automation/communication-channels/inbox">Inbox</a> article explaining the concept of this communication channel and widget</td><td>false</td><td>false</td></tr><tr><td><strong>dp:telegram</strong></td><td>Opens telegram and starts authentication process.</td><td>true</td><td>false</td></tr><tr><td><strong>dp:go&#x26;url=https://smartico.ai</strong></td><td><p>Redirects to the specified url.<br><br>Notes:</p><ul><li>The url cannot contain any query parameters (the URL should NOT contain the '&#x26;' symbol).</li><li>The url can be a tag that will be replaced.</li><li>The url can be uri encoded.</li><li>The url can be relative path (exampe: /deposit)</li></ul></td><td>false</td><td>false</td></tr><tr><td><strong>dp:go&#x26;target=_blank&#x26;url=https://smartico.ai</strong></td><td><p>Opens the specified url in the specified way - current tab or in a new tab.<br></p><p>Possible values:</p><ul><li>_blank - open in new tab</li><li>_self - open in current tab</li></ul></td><td>false</td><td>false</td></tr><tr><td><strong>dp:ask_push_permissions</strong></td><td>Request permissions for the push notifications</td><td>false</td><td>false</td></tr><tr><td><strong>dp:gf_missions</strong></td><td>Opens overview screen of missions</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_missions&#x26;category=completed</strong></td><td><p>Opens one of 4 categories in the missions:</p><ul><li>overview</li><li>available</li><li>locked</li><li>completed</li></ul></td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_missions&#x26;id=123</strong></td><td>Opens missions with specific ID</td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_missions&#x26;id=123&#x26;opt_in=true</strong></td><td>Opens missions with specific ID and opts in the user to it</td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_matchx</strong></td><td>Opens 'Match X' section</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_matchx&#x26;id=123</strong></td><td>Opens a 'Match X' game with specific ID</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_quiz</strong></td><td>Opens 'Qiuz' section</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_quiz&#x26;id=123</strong></td><td>Opens a 'Quiz' game with specific ID</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_badges</strong></td><td>Opens badges screen</td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_board</strong></td><td>Opens leaderboards section</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_board&#x26;type=2</strong></td><td><p>Open leaderboard of type Weekly, other types</p><ul><li>1 - Daily</li><li>2 - Weekly</li><li>3 - Monthly</li></ul></td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_tournaments</strong></td><td>Opens main tournaments screen</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_tournaments&#x26;category=myTournaments</strong></td><td><p>Opens specific list of tournaments, possible values:</p><ul><li>all</li><li>inProgress</li><li>myTournaments</li><li>finished</li></ul></td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_tournaments&#x26;id=123</strong></td><td>Opens tournament lobby with defined id</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_tournaments&#x26;id=123&#x26;register=true</strong></td><td>Opens tournament lobby with defined id and registers user in it</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_tournaments&#x26;id=123&#x26;section=leaderboard</strong></td><td>Opens tournament leaderboard section</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_tournaments&#x26;id=123&#x26;future=true</strong></td><td>Opens future run of a tournament. The future instance of the tournament that is in status 'Open for Registration'. If there is no future run it will open the current instance of the tournament</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_bonuses</strong></td><td>Opens bonuses screen</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_bonuses&#x26;section=pending</strong></td><td>Opens Pending bonuses section in the GF widget<br><em><mark style="color:purple;">(requires special integration)</mark></em></td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_bonuses&#x26;section=redeemed</strong></td><td>Opens Redeemed bonuses section in the GF widget<br><em><mark style="color:purple;">(requires special integration)</mark></em></td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_levels</strong></td><td>Opens level screen</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_levels&#x26;id=123</strong></td><td>Opens level details with specified id</td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_saw</strong></td><td>Opens Spin The Wheel screen</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_saw&#x26;id=123</strong></td><td>Opens Spin The Wheel screen with focus on the specific game template</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_section&#x26;id=123</strong></td><td>Opens "custom section" with defined ID</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_raffle&#x26;id=123</strong></td><td>Opens raffle lobby with defined id</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_raffle&#x26;draw_id=123</strong></td><td>Opens specific draw of a raffle</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_raffle&#x26;id=123&#x26;run_id=456</strong></td><td>Opens specific draw run instance of a raffle</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_section&#x26;id=123&#x26;instance_id=123&#x26;register=true</strong></td><td>Opens specific tournament instance from Liquid Custom section only and registers user in it</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_store</strong></td><td>Opens store screen</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_store&#x26;category=123</strong></td><td>Open store screen with defined category</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_store&#x26;id=456</strong></td><td>Open store item with defined id</td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_change_nickname</strong></td><td>Opens gamification widget with an interface to change nickname</td><td>false</td><td>true</td></tr><tr><td><strong>dp:gf_change_avatar</strong></td><td>Opens gamification widget with an interface to change avatar</td><td>false</td><td>true</td></tr><tr><td><strong>dp:action&#x26;action=START_X</strong></td><td>Triggers "Client action" event that can be used in campaigns, missions, automation rules .etc</td><td>false</td><td>false</td></tr><tr><td><strong>dp:gf_jackpots</strong></td><td>Open jackpots main screen</td><td>true</td><td>false</td></tr><tr><td><strong>dp:gf_jackpots&#x26;id=123</strong></td><td>Open jackpots main screen with focus on specific jackpot template</td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_section&#x26;id=329&#x26;liquidParams={"instance_id": 704519, "section": "players"}</strong></td><td>Opens a specific tournament on the Leaderboard tab. Applicable for Liquid Sections only. Read more about <a href="https://help.smartico.ai/welcome/products/gamification-basics/liquid-section#liquid-params">Liquid Params</a></td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_section&#x26;id=329&#x26;liquidParams={"mission_id":123}</strong></td><td>Opens a specific mission. Applicable for Liquid sections only. Read more about <a href="https://help.smartico.ai/welcome/products/gamification-basics/liquid-section#liquid-params">Liquid Params</a></td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_section&#x26;id=329&#x26;liquidParams={"mission_id":4654,"optIn": true}</strong></td><td>Opens a specific mission with opt-in and automatically opt-ins the user. Applicable for Liquid sections only. Read more about <a href="https://help.smartico.ai/welcome/products/gamification-basics/liquid-section#liquid-params">Liquid Params</a></td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_section&#x26;id=329&#x26;liquidParams={"category": "myTournaments"}</strong></td><td>Opens My Tournaments tab in Tournaments. Applicable for Liquid sections only. Read more about <a href="https://help.smartico.ai/welcome/products/gamification-basics/liquid-section#liquid-params">Liquid Params</a></td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_section&#x26;id=329&#x26;liquidParams={"tournament_id": 123, "future": true}</strong></td><td>Opens a specific future instance of tournament. Applicable for Liquid sections only. Read more about <a href="https://help.smartico.ai/welcome/products/gamification-basics/liquid-section#liquid-params">Liquid Params</a></td><td>true</td><td>true</td></tr><tr><td><strong>dp:gf_section&#x26;id=329&#x26;liquidParams={"instance_id": 123, "register": true}</strong></td><td>Opens a specific tournament and automatically registers the user. Applicable for Liquid sections only. Read more about <a href="https://help.smartico.ai/welcome/products/gamification-basics/liquid-section#liquid-params">Liquid Params</a></td><td>true</td><td>true</td></tr></tbody></table>

## Standalone & hide\_main parameters

Most deep links related to gamification support "standalone" and "hide\_main" parameters.

Adding "\&standalone=true" parameter to the deep link will lead to opening only a dedicated section of the gamification widget without the left menu and header. For example, "dp:gf\_missions\&standalone=true" will open the missions screen like in the screenshot below

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-086b487973b453f2877fcb74f76f74c9285e21d9%2FSmartico%20Gamifcation%20Demo%20for%20Casino%202023-03-13%2022-10-03.png?alt=media" alt=""><figcaption><p>Missions in standalone mode</p></figcaption></figure></div>

Adding "\&hide\_main=true" to the deep link will focus on the specific element, usually identified with "id". For example, the deep link "dp:gf\_missions\&id=123\&hide\_main=true" will open a mission with id 123 in focus.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-bea0fa3b15a19b3615c74e8d78d76675206f698b%2FSmartico%20Gamifcation%20Demo%20for%20Casino%202023-03-13%2022-12-33.png?alt=media" alt=""><figcaption><p>Mission opened with hide_main=true</p></figcaption></figure></div>

In a similar way, you can trigger the opening of the "Change avatar" interface or "Change nickname" interface ('dp:gf\_change\_avatar\&hide\_main=true' and 'dp:gf\_change\_nickname\&hide\_main=true')

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-b4cdf75af726d0010c0be6f57638c730bed26e09%2Fscreencast%202023-03-13%2022-14-22.gif?alt=media" alt=""><figcaption></figcaption></figure></div>

#### Mini-games specifics

Mini-games can be called in 3 different ways

* **dp:gf\_saw** - will open the main gamification widget with a focus on the Mini-games screen
* **dp:gf\_saw\&id=123** - will do the same, but will focus on specific game template
* **dp:gf\_saw\&id=123\&standalone=true** - will open mini-game in standalone mode, see screenshot below
* **dp:gf\_saw\&id=123\&standalone=true\&with\_games\_list=true** - will open mini-games in standalone mode, list all available games, and focus on template id 123

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-7d542bc29f13c521044c0e5cf71d620427aebc48%2Fimage.png?alt=media" alt=""><figcaption><p><strong>dp:gf_saw</strong></p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-0bb074e60caa81d1313aec768786e97f759760da%2Fimage.png?alt=media" alt=""><figcaption><p><strong>dp:gf_saw&#x26;id=123&#x26;standalone=true</strong></p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-58fb90419987058fa26e43b6627b42c8ef606387%2Fimage.png?alt=media" alt=""><figcaption><p><strong>dp:gf_saw&#x26;id=123&#x26;standalone=true&#x26;with_games_list=true</strong></p></figcaption></figure></div>

## Implementing custom deep links

Smarico JS SDK can be extended with custom Deep Links, developed by the Partner.

An example of a custom Deep Link is “**dp:deposit\&amount=50\&method=PaySafe**” which could navigate users to the deposit page on the Partner side with a predefined amount and payment method.

Whenever such Deep Links are implemented, they can be used across all areas of the Smartico system and communication resources as a unified way to control user flow.

In order to implement a custom deep link(s), the Partner needs to define a function named \_\_smarticoDPCustom. Example of implementation

```javascript
function __smarticoDPCustom(dp) {
    switch (dp.action) {
       case 'deposit' : {
           window.location.href = '/deposit/?amount=' + (dp.params.amount ? '&method=' + dp.params.method : '')
           break;
       }
       default: {
           return false
       }
   }
   return true;
}
```

As soon as the Partner implements deep links, they can be (optionally) registered on the Smartico side to be visible in all places with auto-complete.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-63d440857073792a5561250776a2029541a60807%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure></div>

As soon as the deep-link is registered, it will appear in all the places where it can be executed.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-db5820d8a89bfc08d53665bd4f98a59df9df763a%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure></div>

If you cannot add JavaScript to your website for deeplinks, there is an alternative way.

In the Label settings, or in the Brand settings, you can find a setting called "JavaScript to handle custom deep links" and add a function for custom deep-link handling.

<figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-d0821e00828348af7cc8bf344e469b9d8a736caf%2FBrands%20%5C%2031%20-%20smartico.ai%20%40%20EU2%202025-07-02%2017-09-13.png?alt=media" alt=""><figcaption></figcaption></figure>

## Using deep-links in SMS, Mail, Viber, WhatsApp, and Telegram communication

You can use deep-links in the "offline" communication as well.

In the emails, you can just place them as a link, e.g. `<a href="dp:gf">Check loyalty club</a>`

In other communication channels that don't support HTML, you can just write a deep link in the original format; for example, you can send an SMS with the following content.

`Welcome to our casino, check new missions available in our Loyalty club - dp:gf_missions`

Such SMS will be transformed into the following format

`Welcome to our casino, check new missions available in our Loyalty club - https://byt.tips/abc123`

**How deep-links are working from offline communication channels:**

* Users click on the link from mail/sms/IM
* The short link is translated to the full URL of your website
* User is navigating to the website
* After completing the login, the deep-link will be executed

**Good to know:**

1. You need to set the configuration **"Deep link path of the label website"** in the Brand setting to link to your website, in the following format - `https://mycasino.com/#_smartico_dp={action}` . The link must contain part `#_smartico_dp={action}` , and your site should have Smartico script installed.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-0e65c12cfb6d03b90574214bf7c7767dc4072078%2Fimage.png?alt=media" alt=""><figcaption><p>Configuring <strong>Deep link path of the label web site</strong></p></figcaption></figure></div>

2. You can customize the short domain by adjusting the "Short URL Domain" setting (which will be used for all communication, not just email). You will need to register such a domain and point it to Smartico-managed NS servers (ask Smartico personnel for more details about the process)

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-979d0522bc888065e0f875f5db69c8bc41411a39%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure></div>

## Using a callback link in Telegram communication

Callback links allow you to track engagement in the CRM without a redirect by recording the user's action in the background while they stay on the same screen. This ensures that clicks are logged as engagement immediately without interrupting the person's browsing flow.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2FWSdkuSJRwELhikDS6vJA%2Fimage.png?alt=media&#x26;token=f846e037-d779-4000-8de0-a9abd84bffb2" alt=""><figcaption><p>BO: Example of callback links in Telegram</p></figcaption></figure></div>

#### How to use Callback links?

1. Navigate to Telegram (Callback links can be used only in Telegram).
2. Write `cb:` followed by a unique identification name for your callback link.
3. Use this link within your Journey flow to trigger a specific automated action.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fx2ak4uP8ajlhjYuUQoPS%2Fimage.png?alt=media&#x26;token=537b4113-1743-4f7b-8eea-6f073f7496c3" alt=""><figcaption><p>BO: Use of callback links in Campaigns</p></figcaption></figure></div>
