A practical, no-fluff guide for performance teams and agencies.
Fintech UA has a reporting problem disguised as an attribution problem: the metrics that matter — purchases, subscriptions, completed checkouts — live deep in the funnel as in-app events, while the easy numbers (installs, CPI) are nearly meaningless for the business. This guide is AppsFlyer reporting built around fintech's real KPIs, with the event taxonomy, the funnel staging and the compliance-friendly mechanics.
Installs → registrations → checkout completed → purchase → repeat purchases. Spend efficiency is judged at the purchase stage: cost per purchase is the real CAC. CPI exists only as a top-of-funnel diagnostic — a report that leads with CPI is reporting the wrong business.
Everything downstream depends on event names being exact and stable: registration_completed, checkout_started, checkout_completed, purchase_completed, first_purchase — whatever your app fires, written in the definitions block character-for-character. These are event-counter KPIs, which means the AppsFlyer Raw Data Pull API (event-level rows, deduplicated per user), not aggregate exports that count rows.
checkout takes minutes; repeat purchase takes longer. A cohort acquired this week hasn't had time to mature — so purchase columns need the same maturity discipline as ROAS: count by install cohort, label young cohorts as maturing, and never compare a 3-day-old cohort's purchase rate to a settled one. Conversion-rate panic is usually just impatience with the funnel's clock.
geo = US), campaign prefix (US_), re-engagement excluded"Update the weekly acquisition report with spend by channel and purchases from AppsFlyer, and flag any market where cost per purchase rose more than 15%."
Multi-market apps report per market — and markets are implemented as geo + prefix discipline. US_ campaigns, geo = US, the US tab; same structure per market, each on its own row of the schedule. The discipline that makes this automatable is naming: one unprefixed campaign pollutes a market's CAC silently.
Fintech reporting changes get audited, so the write model matters: append-only updates (history immutable), full audit logs of what was written from which pulls, per-entity isolation, and least-privilege access — view to map, edit only on the report file. These properties (the safety model) are why automation is more defensible than ad-hoc manual edits, not less.
While the event taxonomy is still being renamed by the app team. Stabilize the events (and get a deprecation policy), then schedule.
This is the fintech industry setup on Opera: both AppsFlyer APIs at the right grain, market filters stored per report, maturity handled, every write previewed and logged.
See this running on your own reports.A 45-minute workflow audit maps your current process and shows exactly what Opera automates — step by step.
Three minutes: a plain-language request, a Sheet schema read, an AppsFlyer pull, a previewed append, a Slack summary — then a paused campaign launch.