Service

Paid Acquisition & Marketing Reporting

We run the buying and build the layer that proves what it earned — campaigns held to a cost target, and a data pipeline that tells you whether the users you bought actually paid back.

The problem

The problem with a split operation

Most marketing operations are split down the middle, and the split is where the money leaks. On one side, the buying: budgets go up, the cost per new customer goes up with them, and nobody can say why — because the usual way to scale is to raise the daily budget, which breaks the platform’s own optimization and pushes the price up in the moment. Spend more, pay more per user. On the other side, the numbers: ad spend lives in three ad managers, installs and attribution live in a tracker, revenue lives in the billing system. Somebody joins them by hand once a week, and that spreadsheet is both the most important document in the company and the most fragile. So the two halves never meet. The buyer can’t see whether last month’s cohort paid back, and the analyst can’t change what gets bought.

We close both sides, and we connect them.

What we build

Two pillars. Take one or both.

Paid acquisition

Campaigns run to a target price, not to a budget. Meta, Snapchat, Google Ads, TikTok, Apple Search Ads — and LinkedIn for B2B. The target is the cost your unit economics can carry; everything else is arranged around holding it.

An approach backlog instead of in-the-moment launches. A pipeline of tested and new approaches, planned weeks out, so a burned-out creative never causes a pause — the next one is already costed and ready.

Diversification across account limits. Buying is spread across ad accounts, campaigns, approaches, optimization settings and cost caps, with each account kept inside the limit where its price stays stable. That’s what makes scale possible without the price climbing.

Rotation on a trend, not on a crash. When an account’s cost starts moving the wrong way, fresh approaches come in from the backlog and the best one stays. You act on the trend, before the monthly average moves.

The UA function itself, if you don’t have one. Hiring, workflows, KPIs, budget control, and the handoff to your creative team so material is ready before it’s needed.

Managed buying starts at $10,000/month in ad spend. Reporting and analytics work has no such floor.

Marketing data & reporting

Every source into one store. Ad platforms, your tracker (AppsFlyer, Adjust), your billing or subscription layer, your CRM — pulled into one warehouse (BigQuery, Supabase, Postgres) on a schedule, with the same fields and the same definitions.

KPI definitions written down before dashboards get built. What counts as revenue — gross, net, refunds, chargebacks — and what counts as a conversion, agreed and documented. Most reporting projects fail here, quietly, and nobody notices until two dashboards disagree.

The manual spreadsheet, replaced first. Before anything clever, we reproduce your current sheet automatically and reconcile it against your numbers on a control period. If it doesn’t match, the pipeline is wrong — and you find out in week two, not at handover.

Dashboards people actually open. Looker Studio, Metabase, Power BI — filtered by app, channel, geo and date, grouped by day, week, month or year.

A runbook, not a black box. How to monitor it, how to fix a failed load, how to backfill, how to change the schema safely. The system is yours.

Which creative and which content earn — statistical scoring, content DNA, per-post analytics — is Content & Performance Analytics →

Going deeper: cohort ROI and cross-app attribution

The hard version of this work isn’t a dashboard — it’s joining two systems that were never designed to know about each other. Your ad platform knows what a user cost. Your tracker knows when they installed and where they came from. Your billing system knows what they paid, three weeks later, under a different identifier. Nothing connects the money that went out to the money that came back.

Revenue attributed to the install cohort.

Not to the day the payment landed — so a cohort’s ROI is measured from the day it was bought.

Payback windows, and the break-even day.

D0, D7, D30, D90 — and the date a cohort stops costing and starts earning. That number is what a cost ceiling should be set from.

The identity join, verified before it’s trusted.

Matching the tracker’s ID to the billing system’s events is the single point where this work fails. We measure the match rate first and tell you what it is. If it’s 70% and not 95%, you’ll hear that from us before you’ve paid for a dashboard built on it.

Cost governance built in.

Aggregates, partitioning and scan limits, so the warehouse bill doesn’t grow faster than the insight.

Then the loop closes: the cohort numbers set the cost ceiling, and the buying is run to hold it.

Who this is for

A team scaling paid spend that keeps pushing the cost per customer over the line where it stops paying back.

A company running three or more channels, where every ad manager tells a different story and the full picture lives nowhere.

A product where a business-critical marketing report is a manual spreadsheet one person maintains.

Anyone who can name their cost per acquisition but not their payback day.

A team with no in-house buying function, that needs one built rather than rented forever.

What you get

Campaigns run against a cost target you agreed, with the reasoning visible — which accounts, which limits, what’s in the backlog and why. A data pipeline that runs on a schedule and reconciles against your own numbers. KPI definitions written in plain language your team can check. Dashboards your marketing lead opens without asking anyone. And a runbook, so the system survives us leaving.

Not a subscription.

Proof

The stories with numbers live in the use cases.

Tell us your cost per customer and the day a cohort of them pays back.

If you can’t name the second number, that’s the place we start.

Let's talk