Integration

AppsFlyer + Google Ads reporting automation

Reconcile AppsFlyer attribution with Google Ads spend in one report — and keep blended CAC and ROAS current automatically.

Two sources, one number

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.

Why the numbers never match (and how Opera handles it)

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.

The reconciliation columns

What one reconciled week looks like
Google Adsspend, platform-reported results (campaign, ad group, keyword/asset, geo and date)
AppsFlyerattributed installs & events, SKAN separate (media source, campaign, ad set, geo and date)
Computedblended CAC, CPI, ROAS by your definitions — plus a variance column with a threshold flag

Updated in your existing Sheet

Opera reads your report's structure and appends the reconciled numbers to the right rows. Formulas are preserved; writes are append-only.

Safe enough for production

Opera is built to touch production reports and live ad accounts without breaking anything:

  • No destructive writes. Updates are append-only by default — your existing data and formulas are never overwritten.
  • Preview before execution. You see exactly what Opera will change before a single cell is written.
  • Campaigns paused by default. New campaigns are created paused, with approvals required before any spend.
  • Full audit logs and client-level isolation. Every action is logged, and each client's data and rules stay separate.

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.

Frequently asked questions

Does it replace my MMP or ad platform?
No — it reads from both and reconciles them in your report. You keep your existing tools.
How is blended CAC calculated?
Using your definition: Opera applies your KPI logic rather than a generic formula.
Can I add more platforms?
Yes — the same report can fold in Google, TikTok and Snapchat alongside these two.

Watch Opera run a real workflow, end to end.

Three minutes: a plain-language request, a Sheet schema read, an AppsFlyer pull, a previewed append, a Slack summary — then a paused campaign launch.