For the complete documentation index, see llms.txt. This page is also available as Markdown.

AppsFlyer

AppsFlyer is a mobile attribution and marketing analytics platform. It tracks where your app installs and in-app events come from — across paid campaigns, organic traffic, and retargeting — so you can measure what's actually driving growth.

Connecting AppsFlyer to Coupler.io lets you move that attribution data into your reporting tools automatically, without manual exports or CSV uploads.

Why connect AppsFlyer to Coupler.io?

  • Pull installs, in-app events, uninstalls, and partner/geo reports into one place

  • Separate organic, paid, and retargeting data into distinct data flows or combine them with Append

  • Send data to Google Sheets, Excel, BigQuery, Looker Studio, or AI tools like ChatGPT, Claude, or Gemini

  • Keep dashboards fresh with scheduled syncs — no manual work required

Prerequisites

Before connecting, make sure you have:

  • An active AppsFlyer account with access to the app you want to pull data from

  • Your AppsFlyer API token (found under your account settings in the AppsFlyer console)

  • Your App ID (the unique identifier for your app in AppsFlyer)

  • Your app's timezone setting (visible in App Settings in the AppsFlyer console)

Quick start

1

Create a new data flow in Coupler.io and select AppsFlyer as the source.

2

Enter your AppsFlyer API token. You can find this in your AppsFlyer account under API access or integrations. Paste it into the API key field in Coupler.io.

3

Enter your App ID. This is the identifier AppsFlyer uses for your specific app (e.g., id123456789 for iOS or com.example.app for Android).

4

Select an entity — for example, Installs, In-app events, or Daily reports. Each entity corresponds to a specific report type in AppsFlyer.

5

Set a start date and timezone. Use the date picker to choose how far back to pull data (up to 90 days for raw reports). Set the timezone to match your AppsFlyer app settings to avoid date mismatches.

6

Choose a destination — Google Sheets, Excel, BigQuery, Looker Studio, or an AI destination like Claude or ChatGPT.

7

Run the data flow manually to confirm everything is working. Once the run is successful, you can set up a schedule.

Available entities

Entity
Description

In-app events

Non-organic in-app user interactions and conversions

Organic in-app events

In-app events from users acquired through non-paid channels

Retargeting in-app events

In-app events from retargeting campaigns

Installs

Non-organic app installs with attribution details

Organic installs

Installs from non-paid sources

Retargeting installs

Installs attributed to retargeting campaigns

Uninstall events

Non-organic app uninstalls and churn data

Organic uninstall events

Uninstalls from organically acquired users

Daily reports

Daily aggregated performance metrics

Retargeting daily reports

Daily aggregated data for retargeting campaigns

Partners reports

Aggregated performance by media source partner

Retargeting partners reports

Partner performance data for retargeting

Partners events reports

Event-level data grouped by media source

Retargeting partners events reports

Event-level retargeting data by media source

Geo reports

Aggregated performance by geographic location

Retargeting geo reports

Geo performance for retargeting campaigns

Geo events reports

Event-level data by location

Retargeting geo events reports

Event-level retargeting data by location

AppsFlyer data overview

AppsFlyer organizes its data into three broad categories: raw event/install reports, aggregated daily reports, and breakdown reports by partner or geography. Each category also splits across three acquisition types: paid (non-organic), organic, and retargeting.

Entity types

Category
Entities

Installs

Installs, Organic installs, Retargeting installs

In-app events

In-app events, Organic in-app events, Retargeting in-app events

Uninstalls

Uninstall events, Organic uninstall events

Daily reports

Daily reports, Retargeting daily reports

Partners reports

Partners reports, Retargeting partners reports, Partners events reports, Retargeting partners events reports

Geo reports

Geo reports, Retargeting geo reports, Geo events reports, Retargeting geo events reports

Available data fields

Install and event fields

Field
Description

Event time

Timestamp of the install or event

Event name

Name of the in-app event (e.g., af_purchase, af_complete_registration)

Event value

JSON payload with event parameters and revenue

App ID

Identifier for the app

Media source

Attribution source (e.g., Facebook Ads, Google Ads)

Campaign

Campaign name from the media source

Ad set / Ad

Ad set and ad-level attribution

Country code

Two-letter ISO country code

Platform

iOS or Android

Device type

Device model or type

IDFA / GAID

Device advertising identifiers (subject to privacy restrictions)

Customer user ID

Your internal user identifier (if passed to AppsFlyer)

Is retargeting

Boolean flag indicating retargeting attribution

Cost model / Cost value

Cost data if integrated with cost APIs

Aggregated report fields (daily, partners, geo)

Field
Description

Date

Report date

Media source

Attributed media source

Campaign

Campaign name

Geo / Country

Country dimension (geo reports only)

Impressions

Ad impressions count

Clicks

Click count

CTR

Click-through rate

Installs

Number of installs in the period

Conversion rate

Install rate from clicks

Sessions

App session count

Loyal users

Users with more than a defined number of sessions

Revenue

Total in-app revenue

ROI

Return on investment

ARPU

Average revenue per user

Common field combinations

  • Media source + Campaign + Installs + Revenue — standard paid acquisition overview

  • Country code + Installs + Event name — geographic performance by conversion type

  • Media source + Event name + Event value — partner-level conversion funnel

  • Date + Installs + Uninstalls — retention and churn trend over time

Use cases by role

Use Partners reports and Installs to compare channel performance side by side. Append organic installs and paid installs into a single sheet to get a unified acquisition view. Connect to Looker Studio or Google Sheets for live campaign dashboards.

Pull raw In-app events into BigQuery for funnel analysis and LTV modeling. Use Coupler.io's Aggregate transformation to roll up event counts by user segment or country. Join install data with uninstall events to calculate cohort retention rates.

Monitor Organic in-app events to understand natural user behavior without paid attribution influence. Use Geo events reports to see which features resonate in specific markets. Send summarized data to ChatGPT or Claude to generate product performance summaries.

Use Daily reports with revenue and cost fields to track ROAS and ROI trends over time. Schedule a nightly refresh into Google Sheets or Excel for budget reconciliation. Combine retargeting and non-retargeting daily reports using Append for total spend visibility.

Platform-specific notes

  • Raw reports (installs, events, uninstalls) are limited to 90 days of historical data — plan your start date accordingly

  • Aggregated reports (daily, partners, geo) may support longer date ranges depending on your AppsFlyer plan

  • Device identifiers (IDFA, GAID) may be empty due to iOS ATT privacy restrictions or Android privacy changes

  • Cost data fields are only populated if you have AppsFlyer's cost integration enabled for your media sources

  • Retargeting entities only return data if you have active retargeting campaigns attributed in AppsFlyer

  • The timezone you set in Coupler.io must match your app's timezone in AppsFlyer settings — mismatches cause date-boundary discrepancies

AppsFlyer common issues

Connection issues

My API key is rejected or the connection fails immediately

Make sure you're using the correct API token type. AppsFlyer has different tokens for different API versions — check that you're using the V2 API token found under your account settings, not a dashboard-specific key. Also confirm the token hasn't expired or been regenerated since you last connected.

The App ID I entered isn't recognized

App IDs are case-sensitive and format-specific. iOS App IDs typically look like id123456789, while Android App IDs use the package name format like com.example.app. Copy the App ID directly from your AppsFlyer dashboard rather than typing it manually.

Missing data

My data flow runs successfully but returns no rows

This usually happens when the date range falls outside the 90-day limit for raw reports. Check your start date and make sure it's within the last 90 days. Also confirm that the entity you selected has actual data — for example, retargeting entities return nothing if there are no active retargeting campaigns attributed in AppsFlyer.

Retargeting reports come back empty

Retargeting entities (retargeting installs, retargeting in-app events, etc.) only return data when AppsFlyer has attributed conversions to retargeting campaigns. If you haven't run retargeting campaigns or they aren't properly configured in AppsFlyer, these reports will be empty.

Device identifiers (IDFA, GAID) are missing from raw reports

This is expected behavior. iOS 14.5+ requires user consent via ATT (App Tracking Transparency) before IDFA is shared. Many users decline, resulting in empty identifier fields. GAID availability on Android is also affected by privacy policy changes. This is a platform limitation, not a Coupler.io issue.

Permission errors

I get a 403 or "unauthorized" error when running the data flow

Your AppsFlyer account may not have API access enabled, or your plan may not include the report type you're requesting. Check with your AppsFlyer account admin to confirm API access is active. Some report types (e.g., raw data reports) require specific plan tiers.

Data discrepancies

Numbers in Coupler.io don't match what I see in the AppsFlyer dashboard

The most common cause is a timezone mismatch. The timezone you set in Coupler.io must exactly match the timezone configured for your app in AppsFlyer's App Settings. A one-hour offset can shift installs or events across day boundaries, causing totals to differ. Double-check both settings and re-run the data flow.

Organic and paid install counts don't add up to the total shown in AppsFlyer

AppsFlyer may attribute some installs to categories that don't map cleanly to the organic/non-organic split — for example, restricted installs where attribution couldn't be determined. Pull the Daily reports entity as well to cross-reference aggregate totals.

Rate limits

My data flow fails midway or returns a rate limit error

AppsFlyer enforces API rate limits that vary by plan and report type. If you're running several data flows for the same App ID simultaneously, you may hit these limits. Try staggering your data flow schedules so they don't all trigger at the same time. If this happens regularly, consider combining multiple entities into one data flow using the Append transformation.

AppsFlyer FAQ

Can I pull data for multiple apps in one data flow?

No — each AppsFlyer data flow is tied to a single App ID. If you want data for multiple apps, create a separate data flow for each one. You can then use Coupler.io's Append transformation to combine results from multiple data flows into one destination sheet or table.

What's the difference between In-app events, Organic in-app events, and Retargeting in-app events?

These three entities cover the same type of data (user actions inside your app) but split by attribution type. In-app events covers users acquired through paid channels. Organic in-app events covers users who found your app without paid advertising. Retargeting in-app events covers users who re-engaged through a retargeting campaign. If you want a complete picture, use Coupler.io's Append transformation to combine all three.

How far back can I pull historical data?

For raw reports — installs, in-app events, and uninstall events — AppsFlyer limits history to the last 90 days. Aggregated reports (daily, partners, geo) may support longer ranges depending on your AppsFlyer subscription plan. Set your start date using the date picker and stay within the 90-day window for raw entities.

Why are IDFA and GAID fields empty in my install data?

Device identifiers are increasingly restricted due to privacy regulations and platform policies. On iOS, users must opt in via App Tracking Transparency (ATT) for IDFA to be shared — most decline. On Android, GAID availability is affected by Google's privacy changes. This is a data availability issue at the platform level, not something Coupler.io can resolve.

Can I use AppsFlyer data with AI tools like ChatGPT or Claude?

Yes. Coupler.io supports AI destinations including ChatGPT, Claude, Gemini, Perplexity, Cursor, and OpenClaw. You can send AppsFlyer campaign or event data directly to these tools for automated analysis, summaries, or anomaly detection.

Why does my data flow show different numbers than the AppsFlyer dashboard?

The most common cause is a timezone mismatch. Make sure the timezone you set in Coupler.io matches your app's timezone in AppsFlyer App Settings exactly. Also check that the date range you're pulling aligns with what the dashboard is showing. For more detail, see the Data discrepancies section in Common Issues.

How do I combine paid and organic install data in one report?

Add both the Installs and Organic installs entities as sources in your data flow, then apply the Append transformation. This stacks both datasets into a single output. You can add a column or filter in your destination to distinguish the two. If you also have retargeting installs, add that entity as a third source in the same Append.

For details on available fields and report types, see the Data Overview article. For timezone and API key troubleshooting, see Common Issues. For tips on combining organic and paid data, see Best Practices.

Last updated

Was this helpful?