Help Center

| Submit or View Help Requests | Developer Docs |
| |

Troubleshooting Universal Links in App-to-App Tracking

  | Take the PXA course

Universal Links are validated on the operating system (OS) level and require a user-initialized action such as a click on a web link to open the mobile app.

Follow these steps when troubleshooting Universal Links:

  1. Verify the click from the partner's app is a user-instantiated click

    Suppose the link is not a regular anchor tag but instead instantiates a new WebView (See clarification at the bottom of this page). In that case, this is not counted as user-initiated navigation, so the OS will not open the Universal Link. This is the most common scenario. To resolve it, you would want to consider a regular anchor link inside a WebView (WKWebView, UIWebView, or SFSafariViewController) for the Universal Link to launch the app.

    Other examples of non-user instantiated clicks are copy-pasting the URL directly in the search bar or by navigating to the link in JavaScript using onload() or click().

  2. Check to see if the page you are sending the user to allows for Universal Links

    In some cases, impact.com relies on Universal Links to be configured on a subsequent redirect, usually the advertiser domain.

    For example, impact.com's tracking domain (goto.advertiser.com) would redirect to advertiser.com. Universal Links are configured on the advertiser.com domain. Therefore it’s important to verify that the page you are sending the user to is enabled for Universal Links. You can do so by checking the Apple association file located on the advertiser domain.


    In our example, http://advertiser.com/.well-known/apple-app-site-association, you will note that the impact.com tracking domain association file defaults to include all sub-directories.


    Note

    Even though Universal Links don't work when a JavaScript redirect is in use, HTTP 3xx redirects still preserve the reference to the original user event. impact.com uses HTTP 3xx redirects in tracking and hence links following a click on the tracking domain launch the advertiser app successfully when other criteria are satisfied.


    For instance, the association file below would allow Universal Links for advertiser.com/item/123 but would not allow them for advertiser.com or advertiser.com/section/furniture.

       {
       "applinks":{
          "apps":[
          ],
          "details":[
             {
                "appID":"A1AAA22BBB.com.advertiser.Advertiser",
                "paths":[
                   "NOT /section/*",
                   "/item/*"
                ]
             }
          ]
       }
    } 
              
  3. See that the initial WebView that opens also supports redirects via Universal Links

    Some WebViews can block Universal Links, which would cause tracking links to open inside the WebView instead of opening the advertiser app. Although uncommon, this can happen when the WebView navigation policy is set to WKNavigationActionPolicyAllow + 2.
    This can cause the WebView to navigate to the link without trying the Universal Link.

  4. Social media policies

    Some social media apps like Facebook block Universal Links. If this is the case, using a Mobile App Interstitial may be helpful, and we recommend reaching out to your CSM for help with this (or contact support). impact.com is actively working on ways to improve deep-linking and attribution from social media apps.


Further clarification from Apple:

If you instantiate an SFSafariViewController, WKWebView, or UIWebView object to handle a Universal Link, iOS opens your website in Safari instead of opening your app. However, if the user taps a Universal Link from within an embedded SFSafariViewController, WKWebView, or UIWebView object, iOS opens your app.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.