Guide

Shopify reporting for agencies

For an agency running commerce clients, the monthly question is blunt: did the work move revenue. That means the social and web numbers need to sit next to the store's sales numbers in the same report, compared to the same previous period. This guide covers which Shopify KPIs to show and the coverage caveats to be upfront about.

Key takeaways

  • Report revenue, orders, average order value, items sold and new customers — next to the traffic and social numbers.
  • Compare every KPI to the equal-length window before your range.
  • Derive top products per day from the orders themselves so the ranking is range-aware.
  • Be explicit that Shopify only returns orders older than 60 days once the store grants protected customer data access.

The commerce KPIs that matter monthly

Revenue is the headline. Orders and average order value explain how the revenue was made — more buyers or bigger baskets. Items sold tracks volume for merchandising-led work. New customers separates acquisition from repeat, which is the number most likely to reflect an agency's campaigns. Five KPIs, reported every month against the previous period, is a solid commerce section.

Comparison and connection

An admin connects the client's store once through OAuth with read scopes for orders, products and customers — no write access. Orders are aggregated into daily revenue, orders and items; a nightly sync keeps it current and a per-client sync-now covers ad-hoc checks. Each KPI is shown against the equal window before your range, so a reported increase is an increase on the real previous period.

Top products, by range

Product rankings are derived per day from the orders, so top products for a 28-day report and a 12-month report are genuinely different lists — aggregated for the dates you picked. This matters when a seasonal push changes the mix; a frozen all-time ranking would hide the effect of the exact work you're reporting on.

The 60-day coverage caveat

Shopify only returns orders older than 60 days after the store has granted "protected customer data" access. Until then, the backfill is limited and the report should say so rather than implying a full history. State the coverage you actually have — clients respect an honest "data starts here" line far more than a silent gap.

Common questions

Does the connection need write access to the store?

No — read scopes for orders, products and customers only.

Why are older orders sometimes missing?

Shopify withholds orders older than 60 days until the store grants protected customer data access. The report states the coverage it has.

One store per client?

Yes, one Shopify store per client record.

See how ThodaLogic Ops does this

Shopify — part of one workspace for clients, content, approvals, invoicing and client reporting.

Keep reading

Support
Shopify Reporting for Agencies: What to Show Clients · ThodaLogic Ops