Apple App Clips integration guide

At a glance: App Clips lets users with iOS 14 or later quickly access and experience your app. AppsFlyer enables App Clip attribution, and redirects users who can't use App Clips (for example, Android users) as needed.

app_clip_flow_3.png

App Clip integration

  • App Clips provide iOS 14 users with quick, convenient access to an app experience, without the need to download the full app.
  • App Clips are installed and launched from an invocation (for example, a QR code or NFC tag). Note: Safari Smart App Banners and links in Messages are not supported. 
  • The AppsFlyer SDK is required for App Clip attribution of clicks, installs, in-app events, and App Clip-to-full app installs.
  • Independent of the SDK, OneLink redirects users as needed:
    • Users without the app installed:
      • With iOS 14 or later are sent to the App Clip.
      • With iOS 13 or earlier, or Android, are redirected based on your settings in OneLink (to the app store, etc).
    • Users with the app installed are sent to the app based on the Universal Link or App Link setup in OneLink.

Considerations

  • App Clips can be up to 10 MB in size. The AppsFlyer SDK is ~1.5 MB. 
  • No advertising identifiers available.
  • App Clips are deleted by the OS automatically after a 30-day period of inactivity.

 Example

Mark is the marketer of a coffee shop chain. He enlists his iOS developer to create an App Clip that lets customers conveniently skip the line and order in seconds. They simply identify themselves using Apple Sign-in, order coffee, and pay using Apple Pay. The developer adds the AppsFlyer SDK and makes sure it works in both the app and the app clip.

Mark creates a OneLink and posts the QR code in the coffee shop, along with the tagline "Skip the line!". 

Customers scan the QR code and:

  • If they have a device with iOS 14 or later, the App Clip openswith the correct coffee shop branch, and a discount coupon populated.
  • If they already have the full app installed, the app opens in the order coffee page.
  • If they do not have the app and have a device with iOS 13 or earlier, or Android, the app store page for the coffee shop app opens.

Mark uses the AppsFlyer dashboard and reports to see how many clicks and installs the App Clip receives - and how many users proceed to eventually download the full app.

Metrics and reporting

App Clips analytic and raw data are available in the platform based on the user activity described in the following table.

User action AppsFlyer event Overview dashboard and analytic tools Raw data
Invocation (example: QR code) No event No event No event
Clicks App Card and App Clip opens

Click and install attributed to the invocation source

  • Clicks
  • Installs
app_type=app_clip
Uses App Clip
  • [Optional] Developer sends in-app event
  • After the first App Clip launch, follow-up launches are counted as sessions.
  • In-app event
  • Session
Downloads and launches full app In-app event In-app event name= af_app_clip_to_full_app
Ongoing use of full app [Optional] Developer sends in-app event In-app event

Cohort dashboard

View App Clip performance in the Cohort dashboard, where you can: 

  • See how long it takes users to go from the App Clip to the full app install.
  • Use the in-app conversion metric to compare the performance of different invocation campaigns.

App Clip implementation

The following procedure detail what you and the iOS developer need to do to develop and integrate App Clips.

Scope of work

Who's involved

  • Advertiser: 
    • Configures Apple App Clips in OneLink templates.
    • Puts the OneLink links in the Apple App Store Connect portal.
    • Views metrics in AppsFlyer dashboard and reports.
  • iOS developer:
    • Creates the App Clip
    • Integrates the AppsFlyer SDK in the App Clip.

Prerequisites

  • An AppsFlyer account with at least one app.
  • A OneLink template with Universal Links, and OneLink link set up to direct your full app users.
    Recommendation: The template and link invocation you use for the App Clip sends all users without your full app to the App Clip. Therefore, consider having a separate template and custom link for cases in which you want to send those users to the App Store, instead of the App Clip. 

Develop App Clip

For complete instructions on how developers create an App Clip for your app, see the Apple App Clip guide for developers.

For a simplified sample app that demonstrates the usage of App Clips and its integration with a full application, see the AppsFlyer App Clip guide.

Integrate SDK

  • The SDK is required for AppsFlyer attribution of clicks, installs, in-app events, and App Clip-to-full app installs.
  • OneLink redirects users independently of SDK integration.

To install the SDK and configure the full app SDK

Send the following links to your iOS developer and tell them to follow the instructions for:

Configure OneLink

Prerequisites:

  • OneLink template for your full app with iOS Universal Links configured.
  • OneLink link.
  • Recommendation: The template and link invocation you use for the App Clip sends all users without your full app to the App Clip. Therefore, consider having a separate template and custom link for cases in which you want to send those users to the App Store, instead of the App Clip.

To configure the OneLink template for your App Clip:

  1. In the AppsFlyer dashboard, go to Engage > OneLink Management.
  2. Select the OneLink template you use to direct users to your full app. 
  3. Make sure the OneLink template has Universal Links configured. (See instructions for adding Universal Links.)
  4. Click Save.
    The AASA file is updated to support the App Clip.
  5. In the AppsFlyer dashboard, go to Engage > OneLink Management.
  6. Select the OneLink custom link based on the template you configured in steps 1-4 that you use to direct users to your App Clip.
  7. Make sure you have a media source (pid) specified.
    The media source needs to be specified in the URL (for example: pid=chartboost_int) or contained inside the link.

To verify App Clips is enabled on AppsFlyer OneLink:

  1. Create a URL to get your association file. The URL is created by taking the domain of your OneLink template and adding /.well-known/apple-app-site-association
    For example: coffee.onelink.me/.well-known/apple-app-site-association.
  2. Go to the URL of your association file.
    The apple-app-site-association file is automatically downloaded.
  3. Open the apple-app-site-association file with a text editor (for example, Notepad).
  4. Make sure the file contains the word "appclips". and that the bundle ID ends with ".Clip". For example:
    "appclips": {
        "apps": [
          "ABCD1234.id.your.app.Clip",
          ...
        ]
    ...
    }
    If it does, then you have successfully set up App Clips on the AppsFlyer side, and the App Clip is implemented on any OneLink template with the same subdomain.

Configure App Store Connect

Prerequisites: Completion of OneLink template configuration for App Clips

To configure your App Clip to work with OneLink

  1. In your app page in App Store Connect, go to Build > Domain Status.
  2. Make sure your OneLink domain displays under Build domains and that Cache status and Debug status are both “validated”.
  3. In the AppsFlyer dashboard, go to Engage > OneLink Management.
  4. Hover over the Actions icon of the link you want to use and click Get URL
  5. Record the short URL (or the prefix of the long URL). 
  6. In your app page in App Store Connect, go to App Clip > Edit Advanced Experiences > +Add > Next.
  7. In App Clip Experience URL, paste the OneLink custom URL you recorded in step 5.
    Note: You can append query parameters after the main custom URL, but you cannot change the path.
  8. Click Next.
    Your App Clip is now configured to work with OneLink. Further instructions regarding App Store Connect settings are available in the Apple developer guide.

Testing

Prerequisites: A registered test device with iOS 14 without your full app installed.

To test your OneLink/App Clip integration:

  1. In the AppsFlyer dashboard, go to Engage > OneLink Management.
  2. Hover over the Actions icon of the link you want to test and click Get URL
  3. Scan the QR code with your device.
    The App Clip Card displays on your device, indicating that your OneLink/App Clip integration is properly set up.

Traits and limitations

Traits and limitations

Trait/Limitation Description
Invocation methods
  • QR codes and NFC tags are supported.
  • Safari Smart App Banners and links in Messages are not supported. 
SKAdNetwork

SKAdNetwork functionality isn’t available. Therefore, App Clip installs display in the SKAdNetwork dashboard as organic.

OneLink

Only one advanced App Clip experience is allowed per OneLink custom link. This means you cannot add additional paths to the OneLink in App Store Connect.

Protect360

Protect360 does not support App Clips.