There are three ways to get your AppsFlyer data into Ktrl. Which one is right depends on your AppsFlyer contract, your payback target, and how your data is governed. Use this page to pick a route before you start onboarding.
The three routes
| 1. Cohort API (API keys) | 2. Data Locker | 3. Bespoke CLF via S3/GCS |
Prerequisites | Cohort API + Master API add-ons in your AppsFlyer contract (paid; not in default plans) | Data Locker enabled in AppsFlyer for a period of time, writing to a data destination you own | Your data team builds a daily export from your warehouse, transformed to Kohort's CLF spec |
Data depth | To D180 only, fixed checkpoints; | Cohort Unified: to D180. User-level: D365+ after PII scrubbing | Whatever your warehouse holds |
Backfill | Yes, from AppsFlyer history | None. Data exists only from the date Data Locker was enabled; earlier history must come from another source (Cohort API or your warehouse) | Yes, from your own history |
PII handling | None (aggregated) | User-level requires scrubbing before Ktrl reads it (we provide a prebuilt S3 Sanitizer) | None, you export cohort level data |
Cost data | Included via Master API | Not included; add the free AppsFlyer cost API key | Included as marketing_spend in your export |
Setup effort | Self-serve via the setup wizard | Set up a daily sync to a Kohort-facing bucket (with PII scrubbing for user-level) | Data engineering project: build and maintain the export to spec |
Best for | Fast trials; payback targets at or before D180 | Post-D180 accuracy without warehouse work | Web shop / custom revenue, long targets, strict credential governance |
Quick decision guide
Payback target at or before D180 and Cohort API in your contract: use the API keys route.
Cohort API not in your contract (Ktrl's key validation will name any required API that is not enabled on your account): use Data Locker.
Payback target beyond D180: use user-level Data Locker (with PII scrubbing) or CLF.
Revenue that never reaches AppsFlyer (web shop, custom events), or you cannot share account-wide credentials: use CLF.
Before kickoff checklist
Confirm these with your AppsFlyer CSM and your data/legal teams before your first onboarding call.
Which add-ons are in your AppsFlyer contract: Cohort API? Master API? Data Locker?
Data Locker bucket: who owns it (AppsFlyer-owned buckets keep ~30 days only), what is its retention, S3 or GCS?
How far back does usable history go, and at what day-level resolution?
Store IDs for every app you want to onboard.
Any user-level data in the path? If so, who scrubs PII, and what is your legal/DPA review timeline?
Cost data source (Data Locker does not include cost).
