Skip to content

Agency reporting

Stop sending monthly PDFs: live payment-verified reporting for agency clients

A PDF can look clean on export and be outdated when the client opens it. Live reporting is useful when it puts the same payment-aware number in front of both sides.

The PDF problem

Clients check Ads Manager and Stripe between meetings. By the time a monthly report is opened, Meta moved, Google moved, and payment revenue may show a different week than the slide.

That is not always a media problem. Often it is a reporting-lag problem wearing a media costume.

Reporting portal is not payment reconciliation

A reporting portal can aggregate connectors, charts, and share links. Payment-verified attribution answers a narrower question: when Meta and Google both claim the same sale, what revenue should you defend against the processor?

You can need both. Looker Studio or an agency portal can remain the right place for SEO, email, social, and other reporting.

A workflow that survives Slack screenshots

Connect the processor first. Then look at Meta and Google claims next to what cleared. Then share the live client view.

If you only connect ad accounts, you still have two confident ROAS figures and one confused client.

  • Refresh spend and payment revenue for each client workspace.
  • Spot where platform claims sit above what cleared.
  • Send the live share link before the QBR.
  • Defend payment-verified ROAS in the meeting; use platform ROAS for in-channel changes.

We already use Looker Studio

Fair. Keep it for charts if it works. The question is whether payment revenue is actually in the story and reconciled against the platform claims.

A beautiful dashboard that sums Meta claimed revenue with Google claimed revenue still has the same arithmetic problem as a PDF.

Agency packaging

Thexly Agency is $79/mo for up to 10 clients, with live shareable client reports. Agency+ is custom above 10 clients.

If the book is entirely Shopify-native DTC, a stack built for that checkout world may be a closer fit.

The practical question

The missing layer is not another chart. It is the payment-aware number behind the chart.

Sources

Further reading

Related guides

Keep reading