A practical, no-fluff guide for performance teams and agencies.
"Marketing ops stack" usually means a screenshot of forty logos. For a performance agency or growth team in 2026, the working stack is four layers — sources, attribution, an operations layer, delivery — and most of the pain lives in the layer most teams haven't named yet. This guide maps the architecture, the build-vs-buy line, and the order to assemble it.
1. Sources — the ad platforms (Meta, Google, TikTok, Snapchat, Apple Search Ads) plus your store/payment data. Each speaks its own dialect: attribution settings, credit dates, micros, ad squads. The stack's first job is pulling each with its settings pinned.
2. Attribution — the MMP (AppsFlyer, Adjust): the referee that turns overlapping platform claims into one outcome series. Aggregate APIs for spend-level views, raw event APIs for the KPI events your business actually counts, SKAN handled as its own lane.
3. The operations layer — the one without a standard name, where the recurring work happens: maintaining the structured reports (schema-aware, append-only), reconciling platforms against the MMP, computing KPIs by stored definitions, executing launches and creative deployments under approvals. Historically this layer was a person — which is why it's the layer that scales worst.
4. Delivery — where humans meet the numbers: the Sheets stakeholders already trust, Slack summaries with exception flags, email for the audiences that live there.
Layer-1/2 failures are loud (a pull breaks, auth expires). Layer-3 failures are quiet: a definition drifts between analysts, a paste lands in the wrong week, a launch convention mutates per platform. Quiet failures are the expensive ones — they ship to clients. Which is why the operations layer deserves real tooling, not the intern-plus-checklist it usually gets.
Per-platform dashboards as the reporting layer (nobody reconciles them), Zapier chains writing into structured reports (no schema awareness — they break silently), and any tool that requires migrating clients into its format (the migration never finishes).
AppsFlyer + the four ad platforms → Opera as the operations layer → the team's existing Google Sheets + Slack. Nothing migrated; the layer-3 work — reports, reconciliation, launches, creative — runs as previewed, logged operations. That shape is deliberate: it's what Opera is.
"Every Monday: update all client reports, reconcile against AppsFlyer, post each summary — and flag anything off target."
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.