Building a Google Analytics 4 Dashboard in Data Studio

Building a Google Analytics 4 Dashboard in Data Studio

After you have started tracking your website or apps in Google Analytics 4, you will likely want to create custom reports and dashboards using your GA4 data. These reports can serve as a comparison between GA4 and Universal Analytics while running in parallel and eventually become your source of truth once you have fully migrated to GA4.

In Google Data Studio, you will notice that connecting to GA4 looks a bit different than connecting to UA. Using the built-in Google Analytics connector, you will connect to GA4 at the property-level as there are no views in GA4. You will then see a data schema that may look unfamiliar to you, especially if you’ve become comfortable using UA data in Data Studio. GA4 uses an event-based data model distinct from that of UA, and as a result the available dimensions and metrics are also different.

To compare between UA and GA4 and eventually migrate, you will need to understand how to translate between these two different data models. And that’s what we’re here for! In the rest of this post, we’ll walk-through how to replicate some of the most common metrics and dimensions from UA into GA4.

How to Report on GA4 in Data Studio


Let’s begin with the most commonly-used set of GA metrics: the Audience Overview. We don’t recommend using these metrics as your key measures of success, but they can provide a high-level picture of activity on your site.

The first six metrics are straightforward, and are either available by default or through a simple calculation:

Universal Analytics Google Analytics 4
Users Total users
New Users New users
Sessions Sessions
Number of Sessions per User Sessions per user
Pageviews Views
Pages / Session Calculate as: Views / Sessions

The last two, Avg. Session Duration and Bounce Rate, don’t map directly to GA4. Yes, that’s right, there’s no bounce rate in GA4! Instead, GA4 automatically tracks a measure of engagement, which is far more sophisticated than bounce rate ever was. This leads to measures of Engaged Sessions, Engagement rate, and Engagement time.

Universal Analytics Google Analytics 4
Avg. Session Duration Calculate Avg. Engagement Time as: User engagement / Sessions
Bounce Rate Engagement rate


The standard traffic source dimensions are available in GA4 as follows:

Universal Analytics Google Analytics 4
Default Channel Grouping Session default channel grouping
Campaign Session campaign
Medium Session medium
Source Session source


Since GA4 is designed to enable measurement across websites and mobile apps, it is now easier to report on web pages and app screens together. In contrast, pages and pageviews are a distinct concept from screens and screenviews in the UA data model.

Universal Analytics Google Analytics 4
Page Title
Screen Name
Page title and screen name
Event Category
Event Action
Event Label
Event name
Custom dimensions
Total Events Event count

Note that in addition to the combined Page title and screen name dimension, there are still separate web-specific dimensions for Hostname, Page path, and Page title.


The concept of goals from UA has been replaced by conversions in GA4. A conversion is just a specific event that has been enabled with a “conversion” flag in your GA4 property. To report on conversions in Data Studio, use the Event name dimension along with the Conversions metric. To view just a specific conversion event (e.g. in a scorecard), apply a filter to your chart using the event name.

Universal Analytics Google Analytics 4
Goal XX Completions Conversions filtered by Event name
Goal XX Conversion Rate Use data blending to calculate: Conversions filtered by Event name / Sessions

We hope this gives you a head start on creating a dashboard in Data Studio for your GA4 property. Are there any GA4 dimensions or metrics that you would like to see in Data Studio? Let us know in the comments!

Complete list of posts in our 2020 Data Studio series:

1. Visualizing the COVID-19 Pandemic in Google Data Studio
2. Creating a Google Analytics Dashboard in One Click
3. Using Google Maps in Data Studio
4. Visualizing BigQuery Public Datasets in Data Studio
5. Measuring Web Vitals – Part 2: Monitoring in Data Studio
6. Using Parameters in Data Studio
7. How to Style Links in Data Studio
8. Using Filter Controls in Data Studio
9. Extracting a Theme from an Image in Data Studio
10. Building a Google Analytics 4 Dashboard in Data Studio (this post)
11. How to Convert Text to Dates in Google Data Studio
12. 12 Tips for Enhancing Your Tables in Data Studio

By |2021-03-10T16:01:56-05:00December 14th, 2020|15 Comments
Categories: Data Studio


  1. John Roger 2021-01-12 at 03:38 - Reply


    Thanks for very clear explanations. Now, i am able to understood it clearly.

    Can you please tell me what is meant by ‘Active users’ in Google Analytics4


    • Marc Soares 2021-01-12 at 12:31 - Reply

      Hi John,

      Glad you found the article helpful. The “Active Users” metric for GA4 counts engaged users on your site or app. GA4 automatically tracks engagement time when the user has the website in focus in their browser or the app in the foreground. So, “Active Users” are users that spent some amount of time engaged with your site or app. In contrast, Total users counts all users that visited your site or app as long as they triggered an event.

      Hope that helps!

  2. PatB 2021-03-17 at 02:49 - Reply

    Hi Marc – really helpful article thanks. I’m having an issue where my Data Studio filters for my app’s GA4 property have recently stopped working properly.
    If I create a filter using OR or ‘starts with’ for screen name, it aggregates the total users across each instance of those conditions rather than showing unique total users that match any part of the logic.
    e.g. for a filter based on ‘starts with’ app/screenname it is aggregating users for app/screenname1 + app/screenname2 + app/screenname3 etc. It should be showing the total number of users who view any of those screens – not adding them together. The filters aren’t behaving this way for universal analytics, and don’t behave that way in GA segments, and they didn’t used to behave like this for my GA4 connector.
    The outcome is that when I use some of my filters, it is showing I have more users matching those conditions than use my app as a whole – rendering starts with and or pretty meaningless for reporting Total Users.

    • Marc Soares 2021-03-24 at 14:39 - Reply

      Hi Pat,

      Glad you found the post helpful.

      It’s possible that there have been updates to the GA4 connector recently that changed this behaviour. It sounds like Data Studio is processing the filter within DS instead of pushing it down to GA, which would explain why it cannot correctly calculate the unique user count.

      I suggest posting the issue on the Data Studio help form or issue tracker. You can find the links here:

      One alternative you could try is creating an audience in GA4 with your filter conditions. Then, in Data Studio you can filter for the audience instead of filtering on the screen name.


      • PatB 2021-03-29 at 18:13 - Reply

        Thanks Marc – good advice, and much appreciated.

  3. Ryan 2021-03-26 at 19:14 - Reply

    How do you display multiple conversions (filtered event counts) in one table? Say I wanted to list all of the session sources as the main dimension and then list multiple conversion types for each source.

    • Nicole Harris 2021-04-05 at 15:21 - Reply

      Hi Ryan, thank you for your question! If I understand correctly, you are looking to show Source with Conversion events in a table. Our suggestion is to create a table with Source, Event Name and Event Count. Then create a filter on the table using the conditions “Is Conversion Event” dimension = true. This will only populate the table with events that you have marked as a conversion in the GA4 interface. You can also include a control such as a drop down list with the Source field to allow you to filter one source at a time for all conversion events. Let us know whether this solves your issue!

  4. Kyle 2021-04-13 at 10:33 - Reply

    Any insight as to how we can track Data Studio usage with GA4, since we no longer have access to UA tracking IDs?

    • Nicole Harris 2021-07-21 at 09:22 - Reply

      Hi Kyle, good news! It is now possible to track Data Studio report usage with GA4. This documentation now includes how to set this up with GA4 IDs.

  5. Jess S 2021-04-16 at 13:29 - Reply

    Hello Marc!

    Thanks for writing this blog. I am new to data studio and am trying to rebuild an old report from UA to GA4. I am having trouble re-creating a scorecard for page/sessions which is now Views / Sessions. Do you have have a tutorial on how to combine views & sessions into one score card?

    • Nicole Harris 2021-04-23 at 15:59 - Reply

      Hi Jess! Thank you for your question. In order to show Views / Sessions in a score card you will have to start by creating a new calculated field. You can do this by clicking “Add a field” in the bottom right corner of the data pane. Then, type in Views / Sessions to the formula box. Once you save this calculated field, you’ll be able to add a score card to your report and use the new calculated field you created as the metric. Hope this helps! Let us know if you have any further questions.

  6. Homa 2021-05-20 at 14:46 - Reply

    For conversion I just created a filter which Event Name is xx. For Conversion Rate, I created a calculated field which is Conversions/Sessions but how can I add the filter to have Event Name = xx?

    • Nicole Harris 2021-05-21 at 16:58 - Reply

      Hi Homa, thank you for your question! Sessions unfortunately cannot be filtered by event name. To calculate the conversion rate, we recommend first filtering conversions based on event name and then blending that data with sessions. Then, you will be able to calculate conversions filtered by event name / total sessions. Let us know whether you have any other questions!

  7. Vinicius Sanches 2021-05-26 at 17:12 - Reply

    I’m trying to calculate in Data Studio Avg. Session Duration (Calculate Avg. Engagement Time as: User engagement / Sessions) but as final result I have 00:01:16, but in my GA I have 00:00:22. Do you know how to resolve it?

    • Nicole Harris 2021-05-28 at 14:46 - Reply

      Hi Vinicius! Thank you for your question. It sounds like you are comparing Avg. Session Duration from Google Analytics 4 (GA4) with Avg. Session Duration from Universal Analytics (UA). The discrepancy you are seeing between GA4 and UA is the result of their different data models, not a mistake on your end. Because of the difference in data models, we would not recommend comparing UA and GA4 data. We hope this helps!

Leave A Comment