Connector · Mobile measurement and attribution

AppsFlyer, counting customers, not just installs.

How our analytics and monitoring module uses AppsFlyer to credit each campaign with the customers it brings: what a customer agrees to first, how a tap on a OneLink link becomes an account and a first payment in AppsFlyer's reports, and how we get you live.

Website
appsflyer.com
Modules
Analytics & monitoring
SDKs
iOS, Android, Flutter, React Native, Unity, Web
Contract
We help you get it
Checked

Who AppsFlyer is

AppsFlyer is a mobile measurement company founded in 2011, with its registered office in Herzliya, Israel. It tells marketers which campaign brought each app install and what those customers did next, and today it measures web, connected TV, PC and console campaigns as well. Around that sit OneLink for deep links, Protect360 against ad fraud, Audiences for retargeting lists and a Data Clean Room, which matches your own data with its attribution data and returns only aggregated reports.

On iPhones its SDK works with Apple's App Tracking Transparency, and its SKAN solution reports the results of Apple's SKAdNetwork and AdAttributionKit. AppsFlyer stores the data its customers send about their app users in the EU, holds ISO/IEC 27001, 27017, 27018 and 27701 certificates, and publishes its own Flutter plugin next to its iOS and Android SDKs. That is why it is one of the attribution connectors of our analytics and monitoring module.

What it does in your platform

  • Analytics & monitoring

    Shows your marketing team which campaign brought each install, and which of those customers went on to open an account and make a first payment, so campaigns are judged by customers rather than downloads. AppsFlyer's SDK reports installs and sessions for customers who agreed, OneLink takes people from an ad, an email or a QR code to the right screen in the app, and the platform's server reports the events that involve money.

How the connection works

In the apps, AppsFlyer's own Flutter plugin, appsflyer_sdk, records installs and sessions, and reports nothing until the app calls its start method once the customer agrees. On the server, the platform sends money events to AppsFlyer's server-to-server (S2S) events API, authorised with an S2S token, and erasure requests to its OpenDSR API, authorised with an API token.

  1. A link brings an install

    A customer taps a OneLink link in one of your campaigns, lands in the right app store, installs the app and opens it. The app has not started AppsFlyer's SDK yet, and the SDK reports nothing before it is started.

  2. Consent comes first

    The customer agrees to attribution in the app's consent screen. On iPhones, Apple's tracking prompt comes next, and the app starts the SDK only once it has the answer, so the first launch reports it; if they decline, AppsFlyer never receives the advertising identifier. Each time the app starts, it also gives the SDK the customer's choices on advertising use and personalised ads, which AppsFlyer passes on to Google with each event for your Google campaigns.

  3. AppsFlyer credits the install

    AppsFlyer attributes the install to the campaign, and OneLink's deferred deep link opens the screen the ad promised, such as opening an account. The app reads the install's AppsFlyer ID from the SDK, and the platform keeps it next to the customer's random platform ID, never a name, email or phone number.

  4. An account is opened

    When the KYC check passes, the platform's server sends an account-opened event to the S2S events API with the device's AppsFlyer ID, and the platform ID as the customer user ID. AppsFlyer links the event to the install, and so to the campaign that brought it.

  5. The first payment settles

    When the ledger settles the customer's first payment, the server reports it the same way. In AppsFlyer's dashboards your marketing team compares campaigns by the customers who opened an account and paid, and each ad network receives only the events you choose to share with it.

  6. The customer changes their mind

    If they withdraw consent in the app's settings or ask to be forgotten, the app stops the SDK, the server stops sending, and the platform asks AppsFlyer's OpenDSR API to erase the data held under the device's AppsFlyer ID. AppsFlyer deletes it within 10 days and reports each status change to the platform with a signed callback.

Next to other providers

AppsFlyer is one of the module's mobile attribution connectors, with Adjust, Branch and Singular. Apps normally carry just one of them, and AppsFlyer's own SKAN guide asks that no other SDK in the app sets Apple's SKAdNetwork conversion values. Around it, Mixpanel, Amplitude or PostHog show what customers do in the app, Customer.io, Braze or CleverTap keep in touch with them, and Sentry or Firebase Crashlytics report what broke. The analytics, attribution and engagement tools wait for the customer's consent to their purpose, know each customer by the same random platform ID and receive only the events on your tracking plan.

Your tracking plan, the consent choices and the money events live in the platform rather than in AppsFlyer. Moving to another attribution provider later swaps a connector and your campaign links, not your apps' screens, events or consent flow.

When AppsFlyer fits best

A strong fit when

  • You pay for app installs across several ad networks and want each campaign judged by the accounts and first payments it brings.
  • You want links in ads, emails and QR codes to open the right screen in the app, even when the customer has to install it first.
  • You want fake installs, bots and click farms blocked before a campaign is credited, and fraud found later marked in your reports.

Also worth a look

  • Adjust, Branch or Singular, the module's other attribution connectors, when your marketing team already works with one of them.
  • Product analytics alone, with Mixpanel, Amplitude, PostHog or Google Analytics for Firebase, when you do not pay for app installs.

How we get you live

  • The contract

    We help you get your AppsFlyer account and contract in place, with the features your campaigns need, such as Protect360 fraud protection.

  • The data

    There is no data region to choose: AppsFlyer keeps the data it receives about your customers in the EU, for every account. Together we agree the events on your tracking plan, such as account opened, card issued and first payment, and which ad networks may receive each one. We switch on IP masking, so customers' IP addresses stay out of your raw data and out of the postbacks sent to ad networks.

  • The keys

    The S2S token and the API token go into your platform's secrets, and only your AppsFlyer admins can create, see or delete them. The only AppsFlyer key in the apps is the dev key the SDK needs to send data to your account.

  • A full test run

    Before your first real customer, we register test devices in your AppsFlyer account, check that nothing reaches AppsFlyer before consent, and follow installs, deep links and the server's events in AppsFlyer's SDK Integration Tests page. Erasure requests go first to the OpenDSR test endpoints.

Questions

Asked about this connector.

How do we get started with AppsFlyer?

Talk to us. We help you get the AppsFlyer account and contract in place, agree your events and what each ad network may receive, connect AppsFlyer's Flutter plugin and your platform's server, then test it all on registered test devices before your first campaign.

What about iPhone customers who decline Apple's tracking prompt?

AppsFlyer's SDK sends their launches without the advertising identifier. Apple's own frameworks, SKAdNetwork and AdAttributionKit, still credit installs to campaigns in aggregate, and AppsFlyer's SKAN solution shows those results in its dashboards. Its Aggregated Advanced Privacy setting can also keep user-level attribution data about these customers away from you and your ad networks.

Where does AppsFlyer keep our data?

In the EU. AppsFlyer stores the data every customer sends it about their app users in the EU, with Amazon Web Services and Google Cloud as its hosting providers there, and processes it on your behalf under its data processing agreement. Its own companies in other countries, such as Israel and the US, are listed as subprocessors that support and maintain the service.

What happens when a customer asks to be forgotten?

The platform sends an erasure request to AppsFlyer's OpenDSR API, formerly called OpenGDPR, for each device the customer used, named by its AppsFlyer ID. For the first 48 hours a request can still be cancelled; AppsFlyer then deletes the data, within 10 days of the request in all. The same API answers a request for a copy of a customer's data.

Start your project

Tell us the idea. We'll show you the platform.

One call is enough to map your product to the modules that already exist.

  • Response in under one business day
  • NDA on request
  • No obligation
What are you building?