iOS Click Logic


This guide documents important changes to click handling logic for our demand partners using SKAdNetwork and iOS 14 and above.

Below, we cover various click handling logic changes for VAST 2.0, VAST 2.0 CompanionAds, and Display ads, including MRAID 2.0, Javascript and HTML ads.

Video Click Logic


For iOS 14 and above only, when the demand partner returns object with a valid itunesitem,

For VAST 2.0 Videos

  • Fyber will continue to supprt click tracking through the VAST <ClickTracking> and<ClickThrough>element, and we stop redirecting once we reach the App Store URL or another non-redirect response.
    * Non-redirect responses include any internal or external browser links 

For VAST 2.0 CompanionAds

  • Fyber supports click tracking through the VAST <CompanionClickThrough>, and we stop redirecting once we reach the App Store URL or another non-redirect response.
  • The same logic applies for static, iFrame and HTML end cards

For VAST 2.0 CompanionAds

With support for VAST 3.0 <CompanionClickTracking>.
  • Fyber will continue to support click tracking through the VAST <CompanionClickTracking>and <CompanionClickThrough> elements.
  • The same logic applies for static, iFrame and HTML end cards 

Display Click Logic


For iOS 14 and above only, when the demand partner returns object with a valid itunesitem.

Display creatives may use various methods to implement clicks:

  • Call, if the creative supports MRAID
  • Call, if the creative supports Javascript
  • Update window.location, if the creative supports Javascript
  • Use < a href="https://someurl" >< /a >, for regular HTML creatives

Once the user clicks, Fyber calls loadProduct() and shows the iOS StoreKit according to the itunesitem (bundle) we receive on the bid response. In parallel, Fyber’s SDK iterates on the click redirect, and once it reaches a URL that leads to the App Store or is a non-redirect URL it stops redirecting.

Refer to the diagram below to see how Fyber handles Display Ad clicks. We use MRAID as an example, but all of the above display click methods follow the same flow:

What is the User Experience for Video and Display?

The user is not aware of any of the redirects, the user only sees the iOS StoreKit app content while the redirects occur in the app’s background


Demand Partner feedback is highly encouraged, contact your account manager if you have any questions or recommendations.

Future Enhancements to Click Handling


The following is currently unsupported by Fyber. We are awaiting DSP feedback to determine if this solution works best for our partners.

For phase 2 support of SKAdNetwork click handling, Fyber suggests using the below specifications. We are also working closely with the IAB SKAdNetwork working group to collect DSP feedback on the below bid response extension for more clean and efficient click handling:

Attribute Definition Type Example
url Landing URL of the clickable link. For SDKAdNetwork, should be omitted. String: Required “appname://path/to/location"
urlfb Fallback URL for deep link to be used if the URL specified in URL is not supported by the device. String”
trkr List of third-party tracker URLs to be fired on click String array: Required "trkr": [""]
ext.deepling A boolean value indicating when a deep link is used Boolean 1

Custom Product Page

Fyber Marketplace supports Custom Product Pages (CPP), a feature available in iOS 15, as of SDK v8.1.5.

The Custom Product Pages feature allows app developers to create up to 35 versions of each App Store product page on iOS 15/iPadOS 15 and above to emphasize different features or content within their application.

For demand partners to leverage CPP with Fyber, they must pass back the PPID appended to the click URL (see Apple's example below).

Click URL with PPID:

With the bid response, the Fyber Marketplace SDK parses the query parameters of the click URL.  Once the CPP identifier is found the SDK uses it with the StoreKit controller, thus the custom product page is shown to the user instead of the default AppStore page.

Fyber has enabled this feature on its test application on the App Store so you can easily test it with your creative:

Back to Top ⇧