Question from Reddit user:
Is there a way to get a report on 404 errors that my own domain is linking to?
I can’t find a way to do it with the built in reports nor a custom explore report.
I’m thinking there is some way to do it with tag manager and creating a custom event with a parameter that has the previous page in it or something?
The site has 100k+ pages and it’s not feasible to crawl it for a number of reasons.
Answer from Nabil:
The short answer is:
You’ve hit on a critical point – UTMs are only valuable if you actually look at the data, and Looker Studio is absolutely the best, most accessible way to create a great overview of them.
You can easily connect Looker Studio directly to your Google Analytics 4 (GA4) property and build a single dashboard that pulls in all five UTM dimensions – Session source / medium, Session campaign, Session source, Session medium, and Session term – alongside key metrics like Conversions, Engagement rate, and Total revenue in a simple, filterable table and chart.
The fastest solution is to use the native GA4 connector in Looker Studio, but for maximum performance, long-term scalability, and data cleanliness, the superior solution is to funnel your GA4 data into BigQuery and use the Google Analytics Data API and Looker Studio API to build custom, aggregated tables for your dashboard.
The long answer is:
The primary issue with analyzing a large volume of UTMs directly in the GA4 Explore section is that the interface is not designed for continuous monitoring and sharing with a team, and you may run into data sampling limits on highly specific reports.
Looker Studio is a far better choice because it allows you to consolidate all the necessary information onto one page that can be easily refreshed and shared.
To get started quickly, you should connect Looker Studio directly to your GA4 property using the built-in connector.
Once connected, create a main table that displays the Session campaign dimension as the primary breakdown, and include your key metrics.
Next, add filter controls to the top of the report so users can quickly filter the table by the Session medium or Session source to narrow down the results, for example, only showing campaigns where Session medium equals “cpc.” However, for a future-proof, robust, and unsampled solution, you should consider a more advanced architecture involving BigQuery and APIs.
The true excellence of this solution lies in using the native GA4 export to BigQuery, where every raw event is stored.
For internal tracking consistency, you can use Google Tag Manager with a server-side setup like Stape or Google Cloud Platform (GCP) to enforce consistent naming conventions and potentially apply custom logic before the data ever hits GA4 and BigQuery.
With your clean, unsampled data in BigQuery, you then use the Google Analytics Data API to programmatically pull highly specific, aggregated views from your raw data, and the Looker Studio API to manage and update your report data sources, ensuring your dashboards are lightning-fast and never sampled.
This method gives you complete control to create custom fields and cleanliness checks on your UTM data before it ever hits the final dashboard, transforming your reporting from a basic overview into a strategic analysis tool.