In this article:
- Deep Linking Tips
- Passing Dynamic Data to the App with Passthroughs
- Using Landing Pages
- Limitations of Custom Sources
- Adding Granularity Parameters for Custom Sources
- Overriding Redirects for Links
See also: Singular Links FAQ
Note: Singular Links are being rolled out gradually to our customers, starting August 2019.
Deep Linking Tips
There are two ways to use deep links:
- Use deep linking to direct the user to specific content in the app - like linking to a specific page in a website.
- Take advantage of the data passed in a deep link to influence the user’s experience going forward. For example, in a shopping app, you can record a promo code associated with the ad that the user clicked, and then apply the code later during check-out.
Both approaches offer interesting options to engage users and help drive them to experiences in your app. It’s important to understand what your engagement goals are and how they can be tied to those experience via deep links.
If your app was developed for multiple platforms, we recommend using the same deep link URL structure for all platforms. This will make it easier to enable deep linking in your Singular Links, as you will be able to use the same deep link URL for both versions of your app.
For example, if you have a clothes shopping app that has iOS and Android versions, make the following deep link URL work in both platforms to lead the user to a specific product:
Deferred Deep Links
Singular recommends designing and handling deferred deep links in the same way you handle deep links in your app.
Using Deep Links in Re-engagement Campaigns
Some partners that support re-engagement also support deep linking. Reach out to your partner to understand what deep linking options are available.
In some cases, partners support deep linking but allow the attribution provider to perform the deep link. If that is the case with your partner, make sure to generate the tracking link with the expected deep link URL in Singular.
Passing Dynamic Data to the App with Passthroughs
After you create a tracking link in the Link Management page, you can use it as-is in your campaign. However, you can make the link do even more work by adding data to it dynamically as you display your ads. This data can then be read and used by your app if a user engages with one of the ads and then arrives into your app.
You can do this by appending the _p query parameter, and any value, to a Singular Link. _p (for "passthrough" allows you to append any URL-encoded value to make that value available when the app is opened. The parameter supports structured (JSON) or unstructured strings.
- Let’s say you have a shopping app, and you show dynamic banner ads of different shoes on a mobile website. You have created a Singular Link that looks as follows: https://myshoppingapp.sng.link/A59c0/nha7
- When you display the ad, the specific pair of shoes shown has a product ID, e.g. “Shoes123”.
- You append the product ID to your Singular Link using the “_p” parameter.
- The result: https://myshoppingapp.sng.link/A59c0/nha7?_p=Shoes123
- Whenever a user engages with that banner and then installs and opens the app, your app can read the product ID using the Singular SDK. Your app team can use this information to personalize the user’s first app experience.
Passing JSON Objects
As the passthrough value is just a string value, you can pass even more information using JSON objects.
For example, you build a JSON object as follows:
Then you URL encode it and append it to the _p parameter in your Singular tracking link. The result:
Try It Out
Try passthroughs with our app by changing “Shoes123” to different values:
Using Landing Pages
Use a landing page when your product needs an additional explanation in order to effectively convert a user.
If you decide that a landing page is right for your campaign, and your campaign depends on a mobile attribution provider for tracking, first consider the following:
- Make sure there is a way for the user to convert to the app from the landing page.
- Consider the media channel you’re working with. Integrated partners may support different methods to execute a landing page.
Then, decide which touchpoint would you like to attribute the install to.
- Tracking the click that takes the user to the landing page: In this case, just use the Singular Link you generate in the Link Management page as usual, and define the landing page as your Mobile Fallback URL (see the Singular Links FAQ).
- Tracking the click that the user engages with within the landing page: If you choose this option, embed the Singular Link is in your landing page. Make sure the link from the ad to the landing page passes any necessary tracking values through to the landing page.
Limitations of Custom Sources
You can use Singular Links to track your marketing efforts in self-owned channels such as social media or SMS. However, deep linking only works in some channels with some technologies.
We’ve compiled a list of known and common redirect limitations:
|Fallback to Google Play Store||Deep Link||Fallback to App Store||Deep Link|
|Facebook Feed||Yes||Landing Page Required||Yes||Landing Page Required|
|Facebook Messenger||Yes||Landing Page Required||Yes||Landing Page Required|
|YouTube||Yes||Landing Page Required||Yes||Landing Page Required|
|Yes||No||No||Landing Page Required|
|Slack||Yes||Landing Page Required||Yes||Landing Page Required|
|Yes||Landing Page Required||Yes||Landing Page Required|
Adding Granularity Parameters for Custom Sources
When you use Singular Links in custom sources, you can add dimension information in order to get that added granularity in your reports. For example, if you pass the campaign name in your tracking link, you will get campaign-level granularity in your report.
To pass the information, add it as a parameter value to the link when you serve it. For example, the following link records the Campaign Name dimension as “CoolShoes123”:
Overriding Redirects for Links
In some cases, you may want to dynamically modify redirects for existing Singular Links. This can be useful if you’re serving a dynamic deep link based on some input from the user or on the context of the user engagement.
The following query parameters can be appended or modified as needed. Remember to URL-encode the value when appending it to a parameter.
|_dl||Deep link for all mobile platforms.
NOTE: Overriding/using this query parameter is only possible if the original link was enabled with deep linking.
|_ddl||Deferred deep link for all mobile platforms
NOTE: _ddl can be enable deferred deep linking even if not enabled via the UI during creation
|_fallback_redirect||The fallback redirect for all platforms (web + any other platform)|
|_android_dl||Deep link for Android. This is typically used if your deep link URL on Android is different from your iOS app.|
|_android_redirect||Redirect URL if app not installed on Android. This is typically the app store URL|
|_android_ddl||Deferred deep link for Android. This is typically used if your deep link URL on Android is different from your iOS app.
NOTE: _android_ddl can be enable deferred deep linking even if not enabled via the UI during creation
|_ios_dl||Deep link for iOS. This is typically used if your deep link URL on iOS is different from your Android app.
NOTE: Overriding/using this query parameter is only possible if the original link was enabled with iOS deep linking.
|_ios_redirect||Redirect URL if app not installed on iOS. This is typically the app store URL.|
|_ios_ddl||Deferred deep link for iOS. This is typically used if your deep link URL on iOS is different from your Android app.
NOTE: _ios_ddl can be enable deferred deep linking even if not enabled via the UI during creation
- You have a Singular Link originally created to deep link to myapp://homepage: https://myshoppingapp.sng.link/A59c0/nha7?_dl=myapp%3A%2F%2Fhomepage
- You want to use that same link, but deep link to myapp://registration in some cases.
- To achieve that, update the _dl= to the new value and use the same link: https://myshoppingapp.sng.link/A59c0/nha7?_dl=myapp%3A%2F%2Fregistration