Adray

· , Co-founder

Attribution for agencies: how to report to many clients from one source of truth

Attribution for agencies: how to report to many clients from one source of truth

How does an agency report attribution for many clients without spending the month reconciling spreadsheets?

Every agency knows the moment: the monthly call starts, the client opens their store's sales report, and the number on your slide is higher. Nobody is lying, and the next twenty minutes go to explaining why instead of deciding what to do. Multiply that by every client in the portfolio and attribution stops being an analytics problem and becomes an operational one. This is a method for making it routine.

Talk to SalesMulti-touch attribution anchored on your real orders.

Why agencies have it worse

A single store has one set of settings. An agency has a different set per client: attribution windows someone changed two years ago, ad accounts in dollars and stores in pesos, a client whose day closes at midnight in Mexico City and an ad account that closes it elsewhere, one client counting a lead as a form fill and another as a phone call. Each difference is small. Together they make it impossible to compare clients, and easy for a number to move because a setting moved.

On top of that, every platform credits itself. A client running Meta and Google will see both platforms claim the same sales, and the total will exceed what the store recorded. We explain every cause in why Meta, Google, GA4 and your store never match.

Step 1: one anchor per client

For each client, decide which number is the ledger. For ecommerce it is settled orders from the store, after refunds and cancellations. For lead generation it is verified form fills, and later the leads that closed. Every platform number is then a claim about that anchor, and the report shows both side by side instead of choosing one.

This single decision removes most of the argument from the client call, because the client's own sales are on the slide, not replaced by a number from a platform the client does not trust.

Step 2: the same definitions for every client

  • Time zone rule: report each client in their store's time zone and say so on every report.
  • Window: pick one attribution window for comparisons across clients and leave it alone. If a client needs another for bidding, keep it out of the cross-client view.
  • Conversion: define it per vertical in writing: a settled order for ecommerce, a verified form fill for lead generation.
  • Currency: convert ad spend to the store's currency at a stated rule, and state it.
  • UTMs: one naming convention for utm_source and utm_medium across every client, in lowercase.

Write these down once and put them in every new client's onboarding. Standardizing the report without standardizing the definitions just makes different numbers look alike.

Step 3: isolate every client

Each client's data should live in its own workspace, with its own connections and its own permissions. That protects the client (nobody on another account sees their numbers) and protects you (a report cannot accidentally mix two clients' sales). It also makes offboarding clean: when a client leaves, you remove one workspace.

Step 4: a monthly reconciliation per client

Once a month, for each client, run the same three checks. The platforms' combined claims against settled orders, which cannot exceed them; refunds and cancellations by channel; and the share of sales with no attributable source. A change in any of them from last month is the first thing to explain on the call, before it is the first thing the client asks about.

Step 5: the client call

Open with the anchor: sales this month, verified. Then show what each platform claims next to it and how much of each claim holds up. Then the decisions. We cover the structure of that report in how to present marketing results to leadership, and it works the same for a client's leadership as for your own.

Where AI fits

An assistant connected to all your clients can prepare the call for you: "summarize last month for this client, with verified sales, cost per sale by channel and the three changes that matter". It is only as good as the data behind it, so the reconciliation above comes first. With Adray, each client has its own workspace and its own daily report, and the AI connector can answer about one client or compare all of them in one question, keeping their data separate.

Choosing tools as an agency

Three things matter more for an agency than for a single store: support for every platform your clients use (not only Shopify), isolation between clients, and a price that grows with your portfolio rather than with your team. Compare the options in the best marketing attribution tools for ecommerce, and see how Adray works for agencies, one account for unlimited clients with no per-seat fees, on our agencies page.

Common questions

Why does my client's Meta report never match their store?

Because Meta counts the purchases it can credit to itself under its own window and view settings, while the store counts orders. Several platforms can also claim the same order. The gap is normal; what matters is measuring it the same way every month.

Should an agency use the same attribution model for every client?

Use the same definitions for every client (time zone rule, window, what counts as a conversion) so reports are comparable and nobody changes a setting to make a month look better. The business decision per client can still differ.

How do I report lead-generation clients next to ecommerce clients?

With different anchors and the same logic. For ecommerce, settled orders and cost per sale; for lead generation, verified form fills and cost per lead, and later the leads that closed.

Can I ask an AI assistant about all my clients at once?

Yes, if the connection supports it and keeps clients separate. With Adray's connector you can ask about one client's workspace or compare across all of them in one question.

How should an agency charge for attribution reporting?

Most agencies fold it into the management fee, because verified reporting protects the relationship. What matters is that the cost of the tool scales with your portfolio rather than with the number of people on your team.