Skip to content

Guide 73 · Reports · GA4 + Tag Manager

Apply a report filter in GA4: isolate one page, channel, or campaign in a detail report

Checked 11 November 2026 · Verification: figures recomputed in Python with decimal arithmetic; downloadable JSON carries the same recomputed figures · Steps traced to Analytics Help, opened or read 11 November 2026 · 7-minute read

A report filter narrows a detail report to rows that match a dimension condition. Add it from the top of the report, or build it into a custom report so it stays.

Expected signal

After step 5, the detail report shows only the rows that match your filter, the filter is named in the report header, and the totals are the filtered totals.

Download the report reference: the Traffic acquisition with page filter reference (JSON) (1415 bytes, MD5 4371c569a74dde04967c15b065c3a9d7). It holds the report or exploration definition and the worked example with the recomputed figures shown on this page.

What you need

  • Viewer access or above to apply a filter to a report you are reading; Editor or Administrator to save a filter into a custom report.
  • One detail report open — for example, Traffic acquisition.
  • The dimension and value written down first — for example, Page path and screen class equals /pricing. A filter built on the fly from a vague idea filters the wrong rows.

The trace

  1. Open the detail report. Sign in, click Reports, then open the detail report — for example, Acquisition, then Traffic acquisition. Read the unfiltered totals once, so you know what the filter removes.
  2. Add the filter. Click + Add filter at the top of the report. In the dimension drop-down, select the dimension — for example, Page path and screen class — then set the condition and the value, for example, exactly matches /pricing.
  3. Apply it and read the new totals. The table now shows only matching rows, and the totals at the top are the filtered totals. Compare them with the unfiltered totals you noted in step 1: the difference is what the filter removed.
  4. Check the filter is doing what you think. If the filtered table is empty, the condition is wrong — usually a path that does not exist, or a dimension that does not carry the value you typed. Clear the filter, search the unfiltered table for the value first, then rebuild the filter from the exact value the table shows.
  5. Save it into a custom report if the filter is permanent. A filter applied to a standard report lasts for your session. To keep it, customize the report and save it as a new report, or create a detail report in the Library with the filter set in the Customize report panel.

Dead ends

DEAD END — FILTERING ON A VALUE THE TABLE DOES NOT CONTAIN. A filter for /pricing/ when the site's path is /pricing returns nothing. Search the unfiltered table for the exact value before you build the filter.

DEAD END — READING FILTERED TOTALS AS PROPERTY TOTALS. The totals at the top of a filtered report are the filtered totals. Quoting them as the property's totals understates the property by everything the filter removed.

DEAD END — EXPECTING A SESSION FILTER TO STAY. A filter on a standard report is not saved with the report. Close the report and the filter is gone; save it into a custom report if it must persist.

End state

A report filter is a lens over one detail report. The worked example below recomputes the rates for the filtered rows, so the filtered totals can be checked against the unfiltered ones from step 1.

Worked example — stated inputs, recomputed results. The rows below are stated inputs for the example. Every rate in the table was recomputed from them.

RowSessionsEngaged sessionsEngagement rateKey eventsKey event rateRevenue
/pricing (filtered)92060465.7%889.6%$940.00
All pages (unfiltered)4,0452,32157.4%3057.5%$2,531.25
Total4,9652,92558.9%3937.9%$3,471.25

Revenue per session is $3,471.25 ÷ 4,965 sessions = $0.70. Engagement rate is 2,925 ÷ 4,965 = 58.9%.

Sources

Checked 11 November 2026. The click paths above are the ones in Google's help pages, opened or read 11 November 2026 (the Explorations and detail-report pages were opened in full; the report, library, navigation and thresholds pages were read from Google's help results the same day, after the browser hit a rate limit). No step in this guide was run inside a live Analytics property, because that needs a Google sign-in and this site does not sign in as anyone. The worked-example figures on this page were recomputed in Python with decimal arithmetic, and the downloadable JSON file carries the same recomputed figures. Google moves menu items without warning; if a path on this page no longer matches, the linked help page is the current map.