Introduction
AppsFlyer is a mobile measurement partner (MMP) that attributes app installs and in-app events across ad networks, self-attributing networks, SKAdNetwork, and owned channels. It covers iOS and Android through the AppsFlyer SDK and exposes attribution, engagement, cost, and revenue data through the Master API (Pull API v5). This connector reads attribution and aggregated performance data for a single mobile app. Each data source maps to one AppsFlyer app, identified by app ID. Cohorted retention curves and LTV projections are handled by a separate connector, AppsFlyer Cohort, which reads Data Locker exports. As a mobile attribution connector, events, breakdowns, and currencies are standardized so widgets can aggregate across sources without additional configuration.Master API access required
AppsFlyer does not grant Master API access to all accounts by default. The customer’s AppsFlyer account must be authorized for the Master API before the connection can be created.
Data refresh strategy
Architecture data
Architecture covers the AppsFlyer app inventory. The app list is read once at connection setup to populate the data source picker, and the selected app’s metadata — including its native currency — is locked to the data source at that time.Reports data
Reports include daily attribution and performance data for the connected app. Real-time. Report data is fetched from AppsFlyer on demand on every dashboard query — there is no local daily cache. This keeps numbers fresh but makes dashboards built on this connector slightly slower than cache-backed connectors, and queries are subject to AppsFlyer’s API rate limits. Refresh window. Each query re-fetches the last 8 days of attribution data. AppsFlyer attribution can continue to revise for several days after install — delayed postbacks, fraud filtering, and SKAdNetwork conversion-value updates — and the 8-day window absorbs these revisions. History. Adriel limits history to 2 years — the connector requests up to 730 days back. This cap is set by Adriel, not by the AppsFlyer API.Architecture levels
App → Media source → Campaign → Ad set → AdDate range limits
Up to 2 years (730 days) of history is available, at daily granularity. Time-grouping breakdowns apply these maximum look-back windows:Metrics
How to read the columns
Data type uses this vocabulary: Number, Currency, Percentage, Ratio, Duration, Date, Text, URL, Array, Boolean.
API Key in code style like
af:installs is the literal AppsFlyer Master API metric key. Italic text describes how a value is produced when it doesn’t map cleanly to a single API field.Clicks & impressions
Installs & app events
Retention here is a simple day-1 / day-7 / day-30 snapshot. For cohorted retention curves and LTV projections, use the separate AppsFlyer Cohort connector.
In-app revenue
Currency values are reported in the app’s native currency, which is locked to the data source at creation time.
Cost & ROAS
Dynamic in-app event metrics
For every in-app event mapped in the connected app, the connector generates six metric keys by combining the event name with a fixed set of prefixes. Events are discovered from the app’s integration configuration and refreshed roughly once a day. Common event names includeaf_purchase, af_complete_registration, and af_add_to_cart, so a purchase event surfaces as af:event_counter_af_purchase, af:sales_in_usd_af_purchase, and so on.
Breakdowns
Campaign structure
Attribution & touchpoints
Geography
Time & date grouping
Adriel groups AppsFlyer’s daily records into these time views for reporting.
Limitations
- Master API access required — the customer’s AppsFlyer account must be authorized for the Master API before a connection can be created.
- Single app per data source — each data source maps to exactly one AppsFlyer app.
- No local cache — every dashboard query hits AppsFlyer live, subject to AppsFlyer’s API rate limits. Persistent throttling usually means another tool is consuming the same token’s budget.
- 8-day refresh window — only the last 8 days are re-fetched per query; this absorbs delayed postbacks, fraud filtering, and SKAdNetwork conversion-value updates.
- SKAdNetwork postback latency — SKAdNetwork installs and conversion values arrive on Apple’s postback timer, not in real time, so the most recent days settle as postbacks land.
- Currency locked at creation — the data source’s currency is fixed to the app’s native currency at creation time. Changing the app’s currency in AppsFlyer afterward requires recreating the data source.
- 2-year history — Adriel caps history at 2 years (730 days); this is a connector limit, not an AppsFlyer API ceiling.
- Breakdown cap — a maximum of 15 breakdowns can be applied to a single query.
- Cohort analysis is separate — cohorted retention curves and LTV projections come from the AppsFlyer Cohort connector, which must be set up separately.
API references
- AppsFlyer Pull API (Master API) reference
- Master API — aggregate data
- Managing AppsFlyer API tokens (V2)
See also
- How to connect AppsFlyer to Adriel (paired how-to)
- AppsFlyer Cohort data reference — for cohorted retention and LTV metrics
- Adjust data reference — for another mobile attribution (MMP) data source
