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
A repeatable process for monthly agency client reports: which sources to connect, how to get th…
GuideThe GA4 metrics clients actually understand — sessions, users, conversions, engagement — presen…
GuideKeep retainers visible and invoicing boring: contract value on every client card, GST-ready inv…
IntegrationConnect a client's Shopify store for revenue, orders, AOV, items and new customers in the month…
SolutionTurn a client's Google Analytics, Instagram, Facebook and Shopify into one monthly report — acc…
ReportsSee your agency's revenue, pipeline and attendance at a glance, and hand every client a branded…