The Easiest Way to Create a GA4 Report for a Specific Event

Question from Reddit user:

In Universal, it was really easy. You could use gtag to fire a custom event. (A non-interaction event. But I guess non-interaction is a moot thing with GA4.) And then, you could add conditions to your reports with a condition being this custom even.

How can I achieve the same with GA4?

The only way I found is by creating new audiences through Admin tab. You can create an audience that consists of users with this custom event. And then you can filter your report from All to this new audience.

But this seems like a really long way to go about it. Am I missing something? Is there a simple way to use custom events as a filter or as a condition for reports we create?

Answer from Nabil:

The short answer is:

How do I use a custom event as a filter in a GA4 report?

You are not missing anything, and your method of using a GA4 Audience to filter a standard report is the primary, intended way to view a subset of your standard data based on a custom event, as GA4 is centered around users and events rather than session-based filters like Universal Analytics.

However, the quickest and most flexible way to build a session- or user-scoped report filtered by a custom event is by using the Explorations feature, specifically the Free-form or Funnel Exploration, where you can apply a segment or a filter directly, which is faster than creating and applying a new audience to a standard report.

The long answer is:

The change you’re experiencing is a fundamental philosophical shift from Universal Analytics (UA) to GA4.

In UA, reports were session- and hit-scoped, making it easy to use an event as a filter on a session report because “non-interaction” events were just one type of hit.

In GA4, everything is an event, and the standard reports focus on measuring user behavior, which is why the simplest path to filter is by defining a User Audience based on that event.

To achieve the session- or user-level filtering you desire without creating a permanent audience every time, you should use the Explorations section in GA4.

Within Explorations – specifically the Free-form report or Funnel Exploration – you can define a Segment that filters users or sessions that include your custom event.

You can create a temporary or permanent segment right there in the exploration panel, apply it immediately, and then use dimensions like Session ID or User ID to get a very granular, list-like report that is scoped only to users who performed the event or sessions where the event occurred.

For reporting needs that go beyond the 14-month data retention limit of standard GA4 and require the highest level of customization and external joining of data, an excellent solution is to use the Google Analytics Data API combined with a visualization tool like Looker Studio, potentially enhanced by server-side tracking.

You would use Google Tag Manager and a server-side tagging environment (either Stape or Google Cloud Platform) to ensure your custom event data is sent to GA4 with maximum reliability and to potentially capture additional unique identifiers not present in the browser.

Then, you would use the Google Analytics Data API to query the data, requesting dimensions like the event_name and session_id along with relevant metrics.

Finally, you would connect this data stream via the Looker Studio API to a Looker Studio dashboard, where you can easily apply a filter for your specific custom event, visualize your data, and even join it with other non-GA data sources, all with much more flexibility and control than is possible in the built-in GA4 interface.

This setup is particularly robust for businesses that need to blend their custom event data with CRM or other proprietary data for a complete view of the user journey.

About The Author