This article offers advanced examples and best practices for using Singular Links. Be sure to read the Singular Links FAQ first.
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 for Re-engagement
Deep links are most commonly used in re-engagement efforts, where you want to engage with existing users to bring them back into the app.
Choosing the right method to deliver a deep link to a user is especially important, and is dependent on the intended channel, including if you're working with a partner to traffic links with deep links.
Deep Linking with Partners
When working with a partner you may want to consider using deep links in your campaigns. Some even require deep links for re-engagement campaigns as they may target known existing users who still have the app.
Self-attributing partners such as Facebook and Google Ads, do not support tracking links for mobile app campaigns. Deep linking with these partners are configured in the partner's dashboard and may require partner specific app handling requirements. We have compiled a few of these partners below and how deep links can be configured:
For more information or questions with deep linking with any of these partners, we recommend reaching out to your partner contact for the most up-to-date information.
Non Self-Attributing Partners
Some partners in this category do not use a MMP tracking links for redirects (or in this case, the deep link), and Singular receives the click notification asynchronously. These partners are also known as server-to-server or asynchronously integrated partners, and deep links can generally be configured in the partner campaign dashboard.
For non-self attributing partners that support tracking link redirects for mobile app campaigns, Singular Links may be used to deliver the deep link experience when engaging users who already have your app installed.
Deferred Deep Linking with Partners
When working with a partner you may want to consider using deferred deep links in your campaigns, and is also recommended when a campaign is using deep links as well. Similar to deep links, deferred deep links set-up differs between self-attributing and non-self attributing partners.
Self-attributing partners such as Facebook and Google Ads, do not support tracking links for mobile app campaigns, therefore deep linking and deferred deep linking is configured in the partner's dashboard and may require partner specific app handling requirements. Deferred deep linking with self-attributing networks are built into the MMP integration itself with partners that support deferred deep linking in the integration. As of January 2020, Singular supports deferred deep linking with Facebook. Reach out to your Singular customer success manager to inquire on deferred deep linking possibilities for more self-attributing networks in the works.
Non Self-Attributing Partners
Deferred deep linking with any non self-attributing partner can be enabled and used with any of these partners by simply by configuring the deferred deep link value for the Singular Link. Unlike deep links, deferred deep linking is not dependent on partner redirectrs, and is a feature enabled via your integrations with Singular's SDK (or S2S API).
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.
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
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
In cases where iOS Universal Links may not deep link, appending &_force_redirect=1 (or &_force_redirect=true) will enable the Singular Link to use app scheme based deep linking to force the deep link to the end-user.
This is most commonly used to enable deep linking with partners, as link wrapping will break Universal Links.
This functionality requires that an iOS app scheme has been configured for your iOS app, and the configured deep link value (_dl, _ios_dl) is using that app scheme.
Note that this approach may result in a brief message or warning to show up to the end user, depending on the default browser of the user.
Forwarding Link Parameters
In many cases, certain query parameters on Singular Links may need to be forwarded to the redirect destination. Singular Links will automatically forward any utm_* or referrer parameters that are appended to the link.
Appending &_forward_params=1 (or &_forward_params=true) to a Singular Link will forward all appended parameters for explicit parameter forwarding.
A few examples:
Using Shortened Links
After you generate a custom tracking link in Singular, you can shorten it by clicking Shorten Link.
This option is primarily useful for custom channels where the URL is exposed to the end-user, or for channels with restrictions on the length of the URL, such as SMS.
However, shortened links have another benefit: since the link does not contain parameters explicitly (instead, the parameters are resolved by Singular whenever the link is clicked), you can change these parameters in the Singular UI to update live campaigns directly.
For example, you may use a banner or landing page to track a regularly changing promotional offer. If you use a full-length Singular tracking link, you have to swap out the link whenever you want to change the promo details. If you use a shortened link instead, you can just update the promo details from the Singular Link Management page (by changing the link parameters).