What is Screen Class in Google Analytics 4?

Cody Schneider7 min read

Navigating Google Analytics 4 often feels like learning a new language, and dimensions like "Screen class" can seem confusing at first. This is a powerful, automatically collected dimension that is especially useful if you are tracking a mobile app. This article will explain exactly what Screen Class is, how it differs from the more familiar "Screen name," where to find it in your reports, and how you can use it to get a clearer picture of your app's performance.

GraphedGraphed

Your AI Data Analyst to Create Live Dashboards

Connect your data sources and let AI build beautiful, real-time dashboards for you in seconds.

Watch Graphed demo video

What Is "Screen Class" in GA4?

In Google Analytics 4, Screen class is the technical name of the UIViewController (for iOS) or Activity (for Android) that a user is currently viewing in your mobile app. It’s an automatically collected dimension provided by the Google Analytics for Firebase SDK.

Think about it like this: your app is made of different building blocks of code. When a user opens a screen — like your homepage, a product page, or their profile settings — a specific piece of code is responsible for displaying that screen. The "Screen class" is the internal, code-level name for that specific building block.

Because it’s a technical dimension meant for developers, the names you see won’t be friendly or user-facing. Instead of "Product Detail Page," you’ll see something like ProductDetailViewController or com.app.MainActivity.

One major point to remember: Screen class is for mobile apps only. You will not see any data for this dimension if your GA4 property is only connected to a website data stream. It’s designed to give you insight into your native iOS or Android app's structure and performance.

Free PDF Guide

AI for Data Analysis Crash Course

Learn how to get AI to do data analysis for you — the best tools, prompts, and workflows to go from raw data to insights without writing a single line of code.

"Screen Class" vs. "Screen Name": Understanding Key Differences

At first glance, "Screen class" and "Screen name" might seem like they describe the same thing, but they serve very different purposes. The key distinction comes down to automatic vs. manual and technical vs. descriptive.

Screen class is captured automatically by the Firebase SDK. It reflects the literal class name in your app's code and is used by developers for precise, technical identification.

Screen name, on the other hand, is a descriptive name you (or your development team) manually set in the code to make reports easier for everyone to understand. This is the friendly name, like "Home Screen" or "Purchase Confirmation," that marketers and product managers use for their analysis.

Here’s a simple breakdown of the differences:

For example, if a user is looking at a specific product, your data might look like this:

  • Screen Name: "Bright Red T-Shirt - Product Page"
  • Screen Class: ProductViewController

You can see how both provide different information. The Screen Name tells the marketing team which product is gaining traction. The Screen Class tells the development team that the generic product template screen is functioning correctly. Without the custom Screen Name, you'd just know someone was on a product page, but you wouldn't know which one.

How to Find and Use the Screen Class Dimension in GA4

You can access the Screen Class dimension in both standard reports and custom Explorations. If you only have a web data stream, these options may be grayed out or show no data.

In Standard GA4 Reports

The easiest place to start is the "Pages and screens" report, which is built to show this data.

  1. From the left-hand menu in GA4, navigate to Reports → Engagement → Pages and screens.
  2. By default, this report shows the "Page path and screen class" primary dimension. To isolate just the Screen class, click the small down-arrow next to the primary dimension column title.
  3. From the pop-up menu, search for and select "Screen class."
  4. Alternatively, you can add it as a secondary dimension by clicking the blue “+” icon next to the primary dimension dropdown.

If you mainly have app traffic, your report will now be populated with rows of technical screen class names along with associated metrics like Views, Users, and conversions. If you have both web and app data, you may see a mix of page paths and screen classes, or a large number of rows labeled as (not set) for your web users.

GraphedGraphed

Your AI Data Analyst to Create Live Dashboards

Connect your data sources and let AI build beautiful, real-time dashboards for you in seconds.

Watch Graphed demo video

In Custom Exploration Reports

For more flexible analysis, using an Exploration report gives you more control over your data. This is where you can build reports from scratch to answer specific questions.

  1. Go to the Explore section from the left navigation pane and click on Blank report.
  2. In the Dimensions column on the left, click the “+” icon.
  3. Search for "Screen class" under the "Page / screen" section. Check the box and click Import. Do the same for "Screen name" if you want to compare them.
  4. For Metrics, click the “+” again and import relevant metrics like Views, Active users, Conversions, and Total revenue.
  5. Drag Screen class from the Dimensions pane into the Rows configuration box in the main panel.
  6. Drag the metrics you imported into the Values box.

Your report will populate instantly, showing a customizable table with your screen classes and the performance metrics you selected. This is an excellent way to compare user engagement across different technical components of your app.

Practical Use Cases for the Screen Class Dimension

While marketers will spend more time looking at Screen name, Screen class offers unique value, especially when troubleshooting issues or bridging the communication gap with your development team.

1. Debugging and Technical Troubleshooting

This is the primary function of the Screen class. Imagine you see an event firing incorrectly, or crash logs spiking for a specific part of your app. A marketer might report "there's a problem on the checkout page." For a developer, this is too vague. Is it the shipping info step, the payment selection, or the final review?

By looking at the Screen class associated with the errors, a developer can pinpoint the problem to an exact code controller, such as ShippingDetailsViewController, allowing for a much faster fix.

2. Identifying Untagged or Mislabeled Screens

In a fast-moving development environment, a new app screen might be released without a custom screen name being assigned to it. In your regular reports, traffic to this screen might appear as (not set). However, if you add "Screen class" as a secondary dimension, you'll see a code-level name (e.g., NewSubscriptionFlowController) associated with that (not set) traffic. This is a clear signal that a tracking gap exists, telling you exactly which screen needs to have a proper Screen name assigned.

Free PDF Guide

AI for Data Analysis Crash Course

Learn how to get AI to do data analysis for you — the best tools, prompts, and workflows to go from raw data to insights without writing a single line of code.

3. Deeper Analysis of App Architecture

How your team names screen classes can reveal insights into your app's structure. You might find classes grouped by functionality, like SettingsPrivacyController, SettingsNotificationsController, and SettingsAccountController. Analyzing performance across these related classes can help you prioritize which parts of a larger feature set need improvement or redesign.

4. Improving Communication Between Marketing and Development

Bridging the vocab gap between marketing and engineering saves massive amounts of time. When a marketer spots a huge user drop-off in a funnel analysis for a step they call "Address Entry,” they can now bring much more specific information to the technical team.

They can say, “We're seeing a 60% session drop-off on the screen named ‘Address Entry,’ which corresponds to the UserAddressViewController screen class.” This immediately gives the developer a shared point of reference and a precise area of the codebase to investigate, fostering clearer collaboration.

Final Thoughts

In short, "Screen Class" is a technical GA4 dimension that identifies the specific code component of a screen within your mobile app. While the friendly, manually-set "Screen name" is your go-to for most marketing analysis, "Screen Class" is essential for debugging, finding tracking gaps, and creating a common language between your analytics and development teams.

Understanding the layers of data in GA4, like the difference between Screen class and Screen name, is crucial, but it's often where the manual reporting busywork begins. That’s why we built Graphed. Instead of navigating menus to add dimensions and build reports from scratch, you can simply ask for what you need — like "show me user engagement by screen name for our Android app last month" — and get a real-time dashboard instantly. We connect all your data sources and turn complex questions into clear answers in seconds.

Related Articles