The default GA4 reports are built for everyone, which means they are optimized for nobody. GA4 custom reports are how you get views that match the questions your business actually asks — which content types drive revenue, which landing pages lose organic visitors, which campaigns produce key events rather than sessions.
There are two separate systems for this and they are frequently confused. Knowing which one to reach for saves more time than any individual technique.
Two different things called custom reports
The first is the Library, which controls the left-hand Reports navigation. You edit detail reports, group them into collections, and publish them for everyone with access to the property. These are the reports non-analysts will actually open.
The second is Explore, home of explorations. These are personal analysis canvases — free-form tables, funnels, path analysis, segment overlap, cohorts, user lifetime. They are more powerful and more flexible, and they are also easier to build wrong.
Rule of thumb: use the Library for anything a colleague will read weekly, and Explore for questions you are answering once. Publishing a half-finished exploration to the whole team is how bad numbers become company folklore.
Editing detail reports in the Library
You need Editor or Administrator rights on the property. Without them the customize option simply does not appear, which is why so many people conclude the feature does not exist.
- Open any detail report — Traffic acquisition, Pages and screens, Events.
- Click the pencil icon at the top right to customize.
- Under Dimensions, add the ones you need. Custom dimensions you have registered appear here alongside built-in ones. Reorder to set the default primary dimension.
- Under Metrics, add or remove columns. Key events, engagement rate, and revenue are the ones worth surfacing on most reports.
- Add a filter if the report should be scoped — for example, session medium exactly matching
organicto build a permanent organic-only view. - Save as a new report rather than overwriting the original, unless you genuinely want everyone’s default changed.
A saved report does nothing until you add it to a collection and publish the collection. That final step is the one people miss when they say their custom report vanished.
Custom dimensions only appear in the report builder once they are registered under Admin, and registration is never retroactive. If a dimension you created last week shows nothing in a report covering last quarter, that is expected behavior rather than a broken report, and no amount of rebuilding will fix it.
Building and publishing a collection
Collections are the top-level groupings in the left navigation. Go to Reports → Library, create a collection, drag your saved reports into topics inside it, then publish.
A collection worth building for organic search work:
- Organic landing pages — Pages and screens filtered to organic, with engagement rate and key events
- Content performance — the same data grouped by your content group dimension rather than by URL
- Organic key events — Traffic acquisition filtered to organic, sorted by key events
- Search Console — the linked queries and landing page reports, which are unpublished by default on most properties
That last item is easy to forget. Linking Search Console does not make the reports visible; you have to publish the Search Console collection from the Library.
Explorations: picking the right technique
Seven techniques, and most people only ever use one. What each is actually for:
- Free form — cross-tabulate any dimensions against any metrics. The workhorse; use it for 80% of questions.
- Funnel exploration — ordered step completion with drop-off. Open and closed funnels, and you can make steps time-constrained.
- Path exploration — what people did before or after a given event or page. Genuinely useful for finding unexpected exit points.
- Segment overlap — Venn diagram of up to three segments. Best for checking whether two audiences you thought were distinct actually are.
- User explorer — individual user journeys. Use sparingly and be mindful of privacy expectations.
- Cohort exploration — retention by acquisition cohort. Mostly for products, not content sites.
- User lifetime — lifetime value and engagement per acquisition source.
A free-form exploration, step by step
Building an organic content performance table:
- Explore → Free form.
- Import dimensions: Landing page, Session default channel group, Content group (or a custom dimension of your own).
- Import metrics: Sessions, Engaged sessions, Engagement rate, Average engagement time, Key events.
- Drag Landing page into Rows. Set the row limit to 250 or 500 rather than the default 10.
- Drag your metrics into Values.
- Add a filter: Session default channel group exactly matches
Organic Search. - Sort by Key events descending, then scan for pages with high sessions and near-zero key events. That gap list is your rewrite queue.
Save it and rename it something descriptive. Explorations are private to you by default; share them deliberately when the analysis is finished, not while you are still building.
Segments and comparisons
Segments live in explorations and are subsets of users, sessions, or events. Comparisons live in standard reports and are simpler filters applied across the whole report.
The useful difference: comparisons can surface historical data under a custom channel grouping even though custom channel groupings are not retroactive in standard reporting. If you have built a custom channel group to catch legacy UTM mediums, applying it as a comparison is how you see what it would have done to past data.
Keep segment definitions simple. A three-condition segment nobody can explain produces numbers nobody trusts, and you will spend the meeting defending the definition instead of discussing the finding.
Segment scope is its own trap. A user-scoped segment includes every session those people ever had, including the ones that had nothing to do with your filter. A session-scoped segment includes only the qualifying sessions. Asking “did organic visitors convert” and “did sessions from organic convert” are different questions, and the answers can differ by a wide margin on a site with heavy repeat traffic.
Sampling, cardinality, and thresholds
Three limits that will bite you, and each has a visible indicator if you know where to look.
Sampling. Standard reports are generally unsampled. Explorations can be sampled on high-volume properties when the query exceeds the event quota. The card at the top right of the exploration shows the sampling level — check it before quoting a precise number to anyone.
Cardinality. High-cardinality dimensions overflow row limits and the excess collapses into an “(other)” row, so your breakdown stops reconciling with your total. URLs with query strings and site search terms are the usual culprits.
Data thresholding. When identity signals could identify individuals at low volumes, GA4 withholds rows entirely. Symptoms are breakdowns that do not sum and demographic reports that look empty. Test by switching reporting identity to device-based or widening the date range.
Also worth knowing: explorations are capped per user and per property, so a property with several analysts can hit the ceiling. Delete abandoned drafts periodically.
When to leave GA4 for the reporting layer
GA4’s own reporting is fine for analysis and poor for distribution. If you are sending a monthly report to a client or a leadership team, Looker Studio connects to GA4 directly, handles scheduled email delivery, and lets you combine GA4 with Search Console and other sources in one page.
For anything requiring complete, unsampled, uncollapsed data — long-tail search terms, per-user journeys, custom attribution modeling — BigQuery export is the answer. Turn it on early; it cannot be backfilled.
One thing worth doing before you build anything elaborate: write down the question the report is meant to answer, in one sentence, and the decision it should trigger. Reports built without that sentence tend to grow columns forever and never change a decision. The best custom report on most properties is a short table someone actually acts on every Monday.
Whatever layer you report from, remember the gap GA4 leaves. It never reports keyword-level search terms, so the query side of organic performance has to come from Search Console. SEO Rocket connects Search Console and GA4 as ground truth for your own site and shows that measured data beside third-party rank and volume estimates, clearly labeled so nobody confuses a modeled number with a recorded one, with a shareable read-only progress dashboard for clients. It does not replace GA4 or build your explorations for you — the reports above are still yours to construct. It just removes the tab-switching when the measured and estimated pictures need to be read together.