Reconcile AppsFlyer attribution with Google Ads spend in one report — and keep blended CAC and ROAS current automatically.
Google Ads reports its own spend and results. AppsFlyer attributes installs and events its own way. Reconciling them by hand — week after week — is where reporting time goes. Opera pulls both, lines them up, and computes blended CAC and ROAS in the report you already use.
On the Google Ads side: Google reports modeled conversions — estimated, not a 1:1 observed count — and credits them to the click date, not the conversion date. So today's numbers for recent days keep revising upward as conversions land. Auto-tagging (GCLID) and your own UTMs can also disagree. Pull with a stable conversion window and expect the last several days to change after the fact.
On the AppsFlyer side: AppsFlyer reports standard attribution and SKAN (SKAdNetwork) conversions, and they rarely agree: SKAN postbacks arrive delayed and coarsely bucketed, so iOS installs lag and look lower than reality for a day or two. Separately, cohort metrics (revenue and retention tied to the install date) behave differently from activity metrics (events that happened during the period). A report that mixes them will double-count or undercount. The fix is to keep SKAN and attributed columns side by side and label cohort vs activity explicitly.
Opera doesn't force a false single truth — it keeps both series side by side and surfaces the gap.
Opera reads your report's structure and appends the reconciled numbers to the right rows. Formulas are preserved; writes are append-only.
Opera is built to touch production reports and live ad accounts without breaking anything:
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.