Question from Reddit user:
Hi there
TL;DR: GA4 Rookie needs help creating monthly blog reports
Use case:
I need to do monthly reporting for our blog.
Thsi means that, every month, I log into GA4, manually 1 by 1, type in the links for the blogs I posted, then download the CSV file, and create Month-to-month reports in sheets with performance metrics that are visually easier to interpret.
Metrics I look at include views, users, views per user, av engagement time, event count, conversions, and bounce rate.
The problem:
This is tedious and takes up a whole lot of time.
I can repurpose elsewhere, and I believe there’s a better solution – I just don’t know what.
Ideal solution:
A report that’s “there” when I log into a GA4 and shows me blog post performance, with the above metrics, month over month.
Better yet, it’s also emailed to me weekly and monthly.
The ask:
How do I do this?
I’ve tried report templates but I have to “re-build” these each month.
Answer from Nabil:
The short answer is:
Your struggle with tedious manual reporting is a common one in GA4, which unfortunately lacks a native “month-over-month blog performance” report that automatically appears and emails itself.
The immediate solution to stop manual CSV downloading is to use a GA4 Exploration Report for the initial setup, saving the report for easy access each month.
The ultimate, scalable, and automated solution is to entirely move your reporting out of GA4 and into Looker Studio by leveraging its native GA4 connector.
This lets you build your exact dashboard once, using the Page path and screen class dimension and Date range controls for month-over-month comparisons, and then configure Looker Studio’s sharing settings to automatically email the dashboard monthly.
The long answer is:
The reason your current process is so time-consuming is that the standard GA4 reports aren’t designed for on-the-fly comparisons of a filtered group of pages month-over-month, especially since the old Universal Analytics Custom Reports were retired.
For a quick fix within the GA4 interface, you should use the Free Form Exploration under the Explore section.
Here, you set the Rows to the Page path and screen class dimension, the Values to your key metrics like views, users, and average engagement time, and you apply a Filter to include only your blog post paths.
You can save this Exploration, and while you still have to manually adjust the date range each month for a month-over-month view, it eliminates the need to manually type in URLs one-by-one and rebuild the table structure.
However, the best solution that achieves your “ideal solution” of a pre-built, automated, and visually superior report is through the combination of the Google Analytics Data API and Looker Studio.
While you won’t directly interact with the Google Analytics Data API or the Looker Studio API for this specific use case, these technologies are the foundation of the seamless data flow.
Looker Studio has a powerful, native, no-code connector to GA4.
You would open a new Looker Studio report, connect your GA4 property, and build a table or chart using the Page path and screen class dimension and the desired metrics.
Looker Studio allows you to set up date range controls where you can easily select “Last Month” and then apply a “Comparison date range” of “Previous Period” to instantly get your month-over-month change without ever leaving the dashboard.
Once the dashboard is built, you use Looker Studio’s scheduling feature to automatically email a PDF snapshot of the report on a weekly or monthly cadence.
For future-proofing your data and addressing potential GA4 limitations like data sampling, a server-side tagging setup using Google Tag Manager and a platform like Stape or Google Cloud Platform is an excellent addition.
This advanced setup ensures that you are sending clean, consistent, and custom data parameters to GA4, which then makes your reporting in Looker Studio even more accurate and less prone to sampling issues, though for simple blog page reporting, the native Looker Studio GA4 connector is usually sufficient to solve your immediate problem.