GA4 Monthly Client Report for Agencies (Template + Fields)
Summary
A monthly GA4 client report answers three questions in one page: did traffic grow, did it engage, and did it convert, each versus last month and the same month last year. In Better Analyst you keep each client's GA4 property in its own Project, build the report once, swap the data source for the next client, and schedule it.
On this page
Who this report is for
Agency account managers and freelancers who send the same monthly performance summary to several clients and want it consistent, accurate and delivered without rebuilding it each month.
What the report includes
| Metric | Source field | Why it matters |
|---|---|---|
| Users | activeUsers | Headline audience size most clients recognise. |
| Sessions | sessions | Total visits, the base for every rate in the report. |
| Engagement rate | engagementRate | Shows whether traffic quality held up as volume changed. |
| Key events | keyEvents | The client's agreed goals: leads, sign-ups or purchases. |
| Revenue | totalRevenue | For ecommerce clients, the number they care about most. |
| Channel | sessionDefaultChannelGroup | Explains where the month's change came from. |
| Month | yearMonth | Lets the report compare this month, last month and the same month last year in one query. |
How to build it in Better Analyst from Google Analytics
- In Better Analyst, open Connectors, choose Add Connector, then Google Analytics.
- Click Connect with Google and sign in with an account that has Viewer or Admin access to the GA4 property. Better Analyst requests read-only access.
- Pick the GA4 account and property from the dropdowns and click Connect. Universal Analytics properties are not supported.
- Create a Project for the client so its GA4 property, chats, dashboards and tasks stay separate from other clients.
- Ask for the report: headline KPIs for last month versus the previous month and the same month last year, a channel breakdown and three plain-English takeaways.
- Turn it into a web dashboard, apply the client's brand kit, and for the next client swap in their GA4 property instead of rebuilding.
Questions to ask
- “Summarise last month for this client: users, sessions, engagement rate, key events and revenue versus last month and last year.”
- “Which channel explains most of the change in key events month over month?”
- “Write three takeaways a non-technical client would understand.”
- “Which landing pages gained or lost the most sessions compared with last month?”
Sample output
Sample data for illustration, not real account data.
| KPI | This month | Last month | Change | Same month last year | YoY change |
|---|---|---|---|---|---|
| Users | 24,180 | 22,960 | +5.3% | 19,870 | +21.7% |
| Sessions | 31,540 | 30,120 | +4.7% | 26,410 | +19.4% |
| Engagement rate | 57.9% | 55.2% | +2.7 pts | 53.1% | +4.8 pts |
| Key events (leads) | 412 | 389 | +5.9% | 301 | +36.9% |
Charts to use
- KPI scorecards (Scorecards with comparison): Each headline KPI with its change versus last month and last year.
- Sessions by channel, 13 months (Stacked column chart): Monthly sessions by channel so seasonality and the year-ago month are visible.
- Key events trend (Line chart): Monthly key events with the previous year as a second line.
Keep it up to date
Save the analysis as a monthly scheduled task (for example on the 2nd, after GA4 data settles) delivered by email or to the client's Slack channel. A Data Flow can also push the KPI table into the client's Google Sheet, and an alert can warn you mid-month if key events fall sharply.