Connecting AppsFlyer on Clarisights
AppsFlyer is a leading mobile measurement partner (MMP) for app marketers. Connecting AppsFlyer to Clarisights blends install attribution, in-app events, cohort revenue, and SKAdNetwork (SKAN) reporting alongside your paid acquisition spend so you can analyze CPI, ROAS, retention, and post-install funnels in one place.
At a glance
| Authentication | API token (AppsFlyer Master API V2 token) |
| Permissions needed | An API V2 token issued by an AppsFlyer admin or account owner with read access on the apps you want to connect |
| Account discovery | App-based — you supply the AppsFlyer app IDs (e.g. id123456789 or com.example.app); SKAN availability is configurable per app |
| Data freshness | Daily (most reports). Cohort and SKAN reports honor configured rate limits |
| Lookback window | Configurable per report type (event / cohort / SKAN). Defaults set in the channel config |
| Backfill on connect | Last 7 days by default (split into 7-day chunks per request) |
| Timezone | App-level (set in AppsFlyer); cohort reports support "preferred timezone" toggle |
| Currency | USD by default; cohort reports support "preferred currency" toggle for app-specific currency |
| Levels supported | App (Account) · Media Source · Campaign · Ad Set · Ad |
| Limited rollout | No — generally available, but new metric / cohort additions may require schema updates from Clarisights |
Prerequisites
An active AppsFlyer account with at least one app configured
An AppsFlyer API V2 token with read access on the Master Aggregate, Cohort, and SKAdNetwork endpoints — generated by an admin or account owner from AppsFlyer dashboard → your name (top-right) → Security center → API tokens
The AppsFlyer App ID(s) for each app you want to connect (iOS apps look like
id123456789; Android apps look like the package namecom.example.app)For SKAN reporting: SKAN must be enabled for the app in AppsFlyer
Steps to Connect
Step 1 — Generate an API V2 token in AppsFlyer
Sign in to AppsFlyer. From the top-right user menu open Security center → API tokens and click Generate V2 token. Name the token Clarisights, copy the value, and store it securely — AppsFlyer only displays it once.
[TODO: Screenshot needed — AppsFlyer Security center API tokens page.]
Treat the API V2 token like a password. It grants read access to every app under the AppsFlyer account. If it is exposed, revoke and re-issue from the same page.
Step 2 — Add AppsFlyer in Clarisights
In Clarisights, go to Integrations → AppsFlyer → Add Account.
[TODO: Screenshot needed — Clarisights Integrations page AppsFlyer row.]
Step 3 — Enter credentials and apps
Provide a friendly Account Name for this connection, paste your API V2 Token, and add each AppsFlyer App ID you want to connect. For each app indicate whether SKAN reporting should be fetched (Clarisights enables SKAN by default; turn it off for apps where SKAN is not configured).
Click Validate. Clarisights confirms the token works against the Master API.
⚠ "Invalid token" → The token is malformed, has been revoked, or was generated as a V1 token. Re-issue a fresh V2 token from AppsFlyer Security center and retry.
⚠ "App ID not found" → Either the App ID is mistyped or the AppsFlyer user that owns the token does not have access to that app. Confirm the App ID in AppsFlyer (it appears in the URL when you open the app dashboard) and that the token's owner has access.
Step 4 — Confirm report types
Clarisights pulls three families of reports: Event (Master Aggregate — installs, sessions, in-app events), Cohort (LTV by cohort day), and SKAN (SKAdNetwork postbacks). Default metric / dimension lists are pre-configured in the channel schema. Contact Clarisights support if you need a non-default cohort window, custom event whitelist, or non-USD reporting currency.
Verify the connection
Go to Integrations → AppsFlyer. Each connected app should appear with its App Token and SKAN status.
First data appears within 24 hours of the next scheduled sync (the cohort + SKAN endpoints are rate-limited so backfills can take longer).
Quick start: create a new report, add AppsFlyer as the data source, and add Account · Media Source · Campaign · AF: Installs · AF: Revenue · AF: Sessions.
Data available
Hierarchy
How AppsFlyer's native levels map to the standard Clarisights levels:
Native level (AppsFlyer) | Clarisights level |
App | Account |
Media Source (Partner / pid) | Account / Channel attribute |
Campaign (c) | Campaign |
Ad Set (af_adset) | Ad Group |
Ad (af_ad) | Ad |
Site ID (af_siteid) | Sub-publisher (dimension only) |
Dimensions
Dimension | Level | Description |
App ID / App Name | Account | AppsFlyer app identifier and friendly name |
Media Source | Account | Acquisition source ( |
AF Partner | Account | Attribution partner reporting the row ( |
AF Channel | Account | Sub-channel within a media source ( |
Campaign / Campaign ID | Campaign | Campaign name ( |
Ad Set / Ad Set ID | Ad Group | Ad set name ( |
Ad / Ad ID | Ad | Creative name ( |
Country (GEO) | Any | Install country |
Keyword | Any | Search keyword ( |
Site ID | Any | Sub-publisher ( |
Touch Type | Cohort | Click or impression attribution ( |
Cohort Type | Cohort | user_acquisition or retargeting |
Date / Install Time | Any | Report date (Master) or install timestamp (Cohort) |
Metrics
Basic AppsFlyer metrics (Master Aggregate / Event report, prefix AF:)
Metric | Description |
AF: Installs | Number of installs on a given day |
AF: Loyal Users | Users who open the app more than 3 times on a given day (irrespective of install date) |
AF: Loyal Users — 1 / 7 / 28 / 30 days | Users who open the app more than 3 times within N days from install (attributed to install date) |
AF: Revenue | Total revenue generated on a given day (irrespective of install date) |
AF: Revenue — 1 / 7 / 28 / 30 days | Total revenue from users within N days from install (attributed to install date) |
AF: Sessions | Total app opens on a given day (irrespective of install date) |
AF: Sessions — 1 / 7 / 28 / 30 days | App opens by users within N days from install (attributed to install date) |
All N-day metrics are attributed to the day of install. For example, AF: Revenue — 30 days for 1 Jan equals total revenue from users who installed on 1 Jan, summed across 1 Jan – 30 Jan.
Custom event metrics (any in-app event configured in AppsFlyer)
Metric | Description |
AF: custom_event (Event counter) | Total count of the event on a given day (irrespective of install date) |
AF: custom_event (Event counter) — 1 / 7 / 28 / 30 days | Event counts within N days from install (attributed to install date) |
AF: custom_event (Unique users) | Unique users firing the event on a given day |
AF: custom_event (Unique users) — 1 / 7 / 28 / 30 days | Unique users within N days from install (attributed to install date) |
AF: custom_event (Sales) | Total sales (revenue) from the event on a given day |
AF: custom_event (Sales) — 1 / 7 / 28 / 30 days | Sales from the event within N days from install (attributed to install date) |
Platform-specific metrics
Android- and iOS-specific basic metrics and custom event metrics are exposed with prefixes AFAND: and AFIOS: respectively (e.g. AFAND: Installs, AFIOS: Revenue).
AppsFlyer Retargeting metrics
Retargeting-only metrics use the prefix AFRE: (e.g. AFRE: Loyal Users). Platform-specific retargeting metrics use AFREAND: and AFREIOS: (e.g. AFREAND: Installs, AFREIOS: Revenue).
SKAdNetwork (SKAN) metrics
Metric | Description |
SKAN Installs | Apple-attributed SKAN installs |
SKAN Conversion Values | Counts by conversion value bucket (raw or modeled, depending on configuration) |
SKAN Custom Events | Custom decoded events from SKAN postbacks (configured per app via the event whitelist) |
Cannot find a metric you expect? Reach out via the in-app messenger or write to support@clarisights.com.
Limitations & known constraints
Token-scoped access: a single token grants access to every app under the AppsFlyer account. To restrict scope, generate separate tokens under different AppsFlyer users.
Cohort & SKAN rate limits: AppsFlyer enforces strict per-token rate limits on cohort and SKAN endpoints. Backfills are split into chunks (default 7 days) and retried with exponential backoff.
SKAN requires explicit enablement: SKAN reports are only fetched for apps where SKAN available is enabled in the connection. Disable for apps without SKAN configured to avoid empty pulls.
Cohort partial data: when partial_data is enabled, AppsFlyer can return up to 180 cohort days including incomplete days. Cohort metrics may continue to mature for several days after install.
Currency & timezone toggles apply to Cohort only: Master Aggregate and SKAN reports do not honor the cohort "preferred currency" / "preferred timezone" flags.
Token revocation: if the API V2 token is revoked or expires in AppsFlyer, the integration stops syncing until a new token is provided.
Operating notes
Refresh schedule: data is pulled daily (cohort and SKAN respect configured rate limits and may take longer to backfill).
Lookback: configurable per report type via
look_back_days; the daily JOB applies report-type lookback windows on every run.Adding new apps: open the AppsFlyer integration in Clarisights and add the new App ID. Re-validate to confirm the existing token has access.
Currency conversion: revenue is fetched in USD by default; enable preferred_currency on cohort reports to fetch in the app's configured currency. Clarisights then converts to your reporting currency.
Credential rotation: update the API V2 token any time from Integrations → AppsFlyer → Edit Credentials.
Need help?
When contacting support from the in-app messenger, please include:
The integration name and AppsFlyer App ID(s) (Integrations → AppsFlyer)
Which report type is affected (Event / Cohort / SKAN)
The exact error message or screenshot
The step where the issue occurred
When the issue started