Your agency’s report looks great. Check it against your own shop data.

Cooperation with an agency usually breaks down in one place: the report says “a great month”, but the bank balance says something else. Both sides are right by their own figures, because they are counting different things. This guide rebuilds the cooperation around shop data: a shared metric glossary for the contract, red flags in reports, a review rhythm and a shared data view in which arithmetic replaces disputes over results.

Mechanics

Why an agency report always looks good

It is rarely bad faith; it is how the tools are built. Agencies report from ad panels, and the panels count in their own favour: their own attribution windows (click and view), conversion modelling where consent is missing, no knowledge of cancelled orders or the costs of other channels. Add natural selection: the metrics that happened to grow make it into the presentation. The same month seen from two sides (illustrative data, a lighting shop):

Agency report · from panels
ROAS (Google Ads panel)6.2
Conversions (per panel)1,418
CTR, CPC, impressionsall rising
Cancelled ordersno data
Costs of other channelsoutside the report
Shop data and GA4 · same time window
ROAS according to GA4 (Google Ads)3.9
Transactions according to GA4 (Google Ads)911
Shop-wide MER4.8
Brand share of panel conversions38%
Profit after ad costs+€10,300

The gap between 6.2 and 3.9 is not fraud: these are two counting systems, described in more detail in the guide to conversions and attribution. The problem only arises when the cooperation is assessed on the first one. The rule for the rest of this post: panels are for optimisation, shop data is for settling results.

Glossary

A shared glossary: metrics that go into the contract

A dispute over results is almost always a dispute over definitions. That is why the glossary is agreed before the cooperation starts and written into the contract, with the source of every figure specified:

MetricDefinitionSourceRole
MERrevenue from paid orders / total spend across all platformsshop + platformsmain assessment
Channel ROAS (GA4)revenue attributed to the channel in GA4 / channel spend, under one documented attribution model (an estimate)GA4 + platformschannel assessment
Total costmedia spend + agency fee, monthlyinvoicesfull picture
Brand separatelyshare of brand campaigns in spend and conversions, reported separatelyplatformsresults hygiene
Profit after adsproduct margin minus ad spend, when margin is in the datashop + platformsmature assessment

Panel ROAS can (and indeed should) remain part of the agency’s operational work. The contract and the reviews rely on figures from the shop (MER, margin) and on channel splits from GA4. Where to get margin for the last row is explained in the guide to margin in e-commerce.

Hygiene

Red flags in agency reports

None of these flags proves the cooperation is bad; each one calls for follow-up questions. Two or three at once form a pattern, not a coincidence:

The report is made of panel screenshots

Not a single figure from the shop system. Ask: how many paid orders and how much revenue did the shop record in the same time window, and what MER does that give?

Successes rely on brand traffic

Search terms containing the shop name counted in generic results inflate the total. Ask: what do the results look like with brand campaigns excluded?

ROAS without a benchmark

“ROAS 5.4” means nothing without a break-even threshold and previous periods. Ask: what ROAS breaks even at our margin, and how did recent months look?

No total spend figures

The report praises one channel while staying silent on the total cost of all platforms and the agency fee. Ask: how much did we spend in total, and what was the MER?

Reach instead of orders

Impressions, clicks and CTR as the main metrics in a shop that lives off sales. Ask: how many transactions and how much revenue does GA4 attribute to these campaigns, and how many paid orders and how much revenue did the shop record in total over the same period?

Comparisons tailored to fit the argument

A promotional week set against an ordinary one, year-on-year growth without seasonal context. Ask: how does it compare with the equivalent period?

Rhythm

Working rhythm: weekly, monthly, quarterly

Accountability is not a single meeting but three loops, each with a different role:

weekly · operational

Short data-based review

  • the week’s MER against the previous four
  • spend per platform vs plan
  • search terms: what was added to exclusions
  • campaign changes and the reasons for them
monthly · results

Settlement against the contract

  • channel ROAS according to GA4 against panel figures
  • brand separate from generic
  • profit after ad costs (when margin is in the data)
  • tests: what was checked and what it shows
quarterly · strategic

Direction and budgets

  • budget split across platforms
  • value of new customers over time (cohort LTV from shop data)
  • experiment plan for the next quarter
  • metric dictionary review: do the definitions still hold?

Shared view

A shared data view instead of swapping reports

Most of the friction disappears when both sides look at the same numbers in the same tool. Instead of exchanging presentations every month: one data model (campaigns from all platforms + paid orders + margin) that both the shop and the agency can access. Access is designed in layers: the agency sees campaign results, sales and aggregated profitability metrics, without raw purchase price lists. The shop sees everything.

When one side prepares the report, the other negotiates with the numbers. When the numbers sit in a shared place, only the decisions are up for negotiation.

In DataOrganizer this set-up is built in: the owner connects the sources and grants access, and both sides query the same dataset. The monthly review then looks like this:

AI assistant DataOrganizer app
connected sourceslast month
The agency reports a ROAS of 6.2 from Google Ads. How much are we really earning on these campaigns?
AI
Comparing with GA4 and shop MER, with brand separated…
AI

Google Ads assessed against GA4 and shop totals:

ViewROASSpendComment
Platform (agency report)6.2–attribution windows + platform modelling
GA4: whole channel3.9€9,600revenue according to GA4, one attribution model
of which: brand campaigns9.4€8759% of spend, 38% of platform conversions
of which: generic and product3.3€8,725above the 2.8 break-even point at your margin

Generic campaigns pay off according to GA4, though more modestly than the platform suggests: ROAS 3.3 against a break-even of 2.8 (an estimate; the shop-wide MER of 4.8 is the check on the total). To discuss with the agency: scaling the groups above break-even and reporting brand separately, as it currently inflates the average for the whole account.

MER by monthProfit after ad costsBrand vs generic

Methodological note: the figures in the examples are illustrative. The break-even ROAS is set by margin (approximation: 100 divided by the product margin in per cent), and the attribution model used for the channel split in GA4 must be single, written down and applied consistently by both sides; changing it mid-collaboration invalidates comparisons. The channel split is an estimate, while MER on shop revenue settles the total.

Key takeaway

A good agency gains from shared data; a weak one loses. A shared dictionary, brand reported separately, settlement on MER from paid orders and one data view for both sides: this is the set-up in which genuine partnership becomes simpler and the pretend kind ends by itself.

FAQ

FAQ on holding your agency accountable

How do you check whether an agency really delivers?

By comparing the report with shop data: revenue from paid orders, total spend and MER, with the channel split taken from GA4 as an estimate. The deciding factor is a calculation on data the agency cannot influence; a report based only on ad platforms will by definition look better than reality.

Which metrics should go into the contract?

MER, channel ROAS according to GA4 (one attribution model), total cost (media + agency fee), brand reported separately and, when margin is in the data, profit after ad costs. For every metric, a recorded source: shop data or GA4, not a platform screenshot.

Should an agency have access to margin data?

In layers: aggregated profitability metrics (categories, profit after advertising) yes, raw purchase prices per product no. An agency with a view of profitability runs product campaigns better, and shared numbers end disputes faster than contract clauses.

How often should you review the agency?

Three loops: weekly for operations (MER, spend, exclusions), monthly for results (channel ROAS according to GA4, brand separate, tests), quarterly for strategy (budgets, value of new customers over time). A weekly meeting without shop data on the table is just a slide show.

How does DataOrganizer help?

One data model (campaigns from all platforms + paid orders + margin) with access for both sides. Instead of swapping reports: the same numbers and a chat to which the owner and the agency put the same questions about MER, channel ROAS according to GA4 and profit after ad costs.

Cheat sheet for the whole guide

Data-driven work with an agency: three pillars

1. A dictionary before you start. MER on paid orders, channel ROAS according to GA4, total cost and brand separate, with the source of every number written down. Definitions agreed once end disputes before they begin.

2. Settlement based on shop data. Ad platforms remain optimisation tools; the basis for settlement is orders, which nobody can influence. Red flags in reports are a signal to ask questions, not to go to war.

3. A shared view instead of swapping reports. One data model with layered access for both sides. DataOrganizer provides exactly this set-up: the shop and the agency query the same connected data, and the monthly review fits into a few questions in the chat.


DataOrganizer · a shared view for the shop and the agency

Settle campaigns using your own data

Connect your shop and ad platforms, then give the agency access: MER, channel ROAS according to GA4 and profit after ad spend in one place for both sides. Demo account available instantly; you pay only for connected sources.