Q. No data is showing up after installing GA4, why is that?
It's most likely a normal delay. GA4 processes data in three stages, realtime, intraday, and daily, and official guidance states that processing can take 24-48 hours, and in rare cases up to 7 days (this isn't a guaranteed service level). Right after installation, what you should check isn't the standard reports, it's the Realtime report and DebugView.
Three lines you can use today
- Verify the install using the Realtime report and DebugView, not the standard reports.
- Traffic acquisition (session-based) and User acquisition (person-based) numbers are naturally different, don't compare them.
- Excluding internal traffic can't be undone once the filter goes Active, start with Testing.
Twenty Menu Items, So Where Do You Even Start?
The first time you open GA4's left-hand navigation, several collections line up under Reports, each with a further row of detailed reports stacked underneath, and on top of that there's Explore and the gear-shaped Admin, so of course the first screen leaves you unsure what to click.
Thankfully, you don't need to look at all of it. The reports worth checking daily for someone with a brand-new account actually narrow down to five: Realtime, Traffic acquisition, User acquisition, Pages and screens, and Engagement (or Events). This post opens these five in order, then walks through the five traps beginners get caught in most often.
Part 1 covered the foundational units, cookies, sessions, and events, and these five reports are really nothing more than those units transposed onto a screen. Whether you're counting sessions or counting people, that's the real fork in the road today.
Installation Comes First: The Minimum Path from Tagging to Verification
There's something to cover before we get to reports. Only once the account is created and the tag installed correctly will the reports afterward start filling with numbers, and the official procedure breaks down into four steps.
First, create an Account. It ends with going to Admin at analytics.google.com, clicking Create Account, and setting the account name and data-sharing options. Second, create a Property. Enter the property name, reporting time zone, and currency, and here the time zone affects which date a session gets attributed to. Even if it's Tuesday in the visitor's local time, if it's still Monday according to the reporting time zone, it gets logged as a Monday visit, so keep that in mind.
Third, add a Data Stream. Under "Data collection and modification" in Admin, go to Data Streams, click Add stream, and for web, enter the URL and stream name. This issues a Measurement ID starting with G-, and this ID is the link connecting your tag to the GA4 property. It's recommended to turn on Enhanced Measurement at the same time you create the stream, since it automatically captures events like scrolling and outbound clicks without a developer having to lift a finger.
Fourth, install the tag. There are three routes here: with a CMS or site builder, it often ends with simply entering the Measurement ID into a GA field; installing manually means picking "Install manually" on the Installation instructions screen and pasting the resulting snippet right after the <head> tag on every page. In terms of structure, it roughly looks like this.
<!-- Google tag (gtag.js), example structure -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
Practical trap. The code above is just an example showing the structure, don't copy it as-is instead of the actual snippet issued on the real install screen, and don't fill in G-XXXXXXXXXX with a made-up value. The third method is Google Tag Manager (GTM): add a "Google Analytics: GA4 Configuration" tag inside GTM, and that's it.
Diagram 1. From account to tag install, you only need to pick one of three methods, and the last step is always to verify via Realtime and DebugView.
It's easy to panic if you open the standard reports right after finishing installation and see nothing, because while data collection usually starts within 30 minutes, aggregating it into the standard reports takes separate processing time. So remember that what to open right after installing isn't the standard reports, it's these two screens: Realtime and DebugView.
DebugView is a screen that shows a specific device's events in real time, in detail, and you need to turn on debug mode first. To watch just your own device, use Tag Assistant's preview mode; it can also be set up to cover all user devices. Go into DebugView under Data display in Admin, and the middle column shows the last 60 seconds of events (the Seconds stream), the left column shows a 30-minute archive (the Minutes stream), and the right column shows the 30-minute Top Events and the selected device's user properties.
Practical trap. Official guidance is that you should filter out traffic that flowed in under debug mode so it doesn't contaminate your actual report data, so as soon as testing is done, turn debug mode off right away.
Image: installing the tag is like planting a seed. Right after planting, what to check isn't the fruit (reports), it's the roots (Realtime, DebugView).
Report 1, Realtime: Confirm Right Now That the Tag Is Alive
At the very top of the Reports menu is the Realtime report, officially defined as "monitoring activity on your website or app as it happens." Its default cards show active users over the last 5 and 30 minutes, active users by acquisition source/medium/platform/campaign, active and new users by audience, views by page title/screen name, event counts and key events by event name, and users broken down by user property.
There's one principle worth knowing here: the Realtime report runs as a "best effort" service. That means it prioritizes speed with no formal service-level objective (SLO), but doesn't guarantee data arrives with full accuracy, and each card only shows up to 700 rows, with anything beyond that lumped into (other) if there are too many distinct values.
The beginner use case is simple. Open this screen right after installing the tag, click through pages yourself in your own browser, and watch whether the active user count climbs. The moment a number shows up, you can treat the tag as alive.
Image: the Realtime report is a speedometer, not a revenue statement. All it tells you is whether things are alive right now.
Reports 2 & 3, Traffic Acquisition and User Acquisition: Counting Sessions vs. Counting People
Part 1 pointed out that a session (a single visit) and a user (an anonymous identifier keyed on client_id) are different counting units, and this exact distinction is what splits into two separate reports: Traffic acquisition and User acquisition.
Traffic acquisition sits at Reports → Acquisition → Traffic acquisition, and is scoped to new sessions. Its default dimensions are session-level values like session source, session medium, session campaign, and the attribution model is non-direct last click, meaning credit goes to the last touchpoint excluding direct. The question this report tries to answer is "where did this visit (session) come from."
User acquisition sits at Reports → Acquisition → User acquisition, and is scoped to new users. Its default dimensions are first user source, first user medium, first user campaign, and the question this report tries to answer is "what channel first brought this person here."
Official documentation is explicit on this point: because the two reports have different scopes, you shouldn't compare their metric values against each other. Consider a visitor who arrived via Google search on day one, then returned the next day by clicking an email newsletter link. The User acquisition report groups both sessions under google/organic, since the first source is locked in place. The Traffic acquisition report, in contrast, attributes the first session to google/organic and the second, separately, to email/newsletter.
Diagram 2. The same two visits, but Traffic acquisition re-evaluates per visit while User acquisition groups them under one initial touchpoint. That's why you shouldn't hold the numbers up against each other.
Supplemental note: the scenario above is an illustration built on official documentation's scope explanation, and some of the finer detail was cross-checked against an unofficial source (Analytics Mania).
Report 4, Pages and Screens: Which Page Is Doing the Work
Reports → Engagement → Pages and screens is a pre-built report showing data for a website's individual pages and an app's individual screens together, and the key point is that it shows every page and screen visited during a session, whether reached first or later on.
Practical trap. This report doesn't distinguish landing status. If you're wondering "what was the first page visited (the landing page)," you need to open the separate Landing page report instead, because Pages and screens is the full record of every view, while the Landing page report filters that down to just the first page.
If you want to dig further into where users came from and where they went around a specific page, follow up with Path exploration under Explore.
Image: the Pages and screens report is the full viewing record. To see only the first page, switch over to the Landing page report.
Report 5, Engagement and Events: What Visitors Actually Did
Reports → Engagement → Engagement overview is a pre-built summary report of engagement data, giving you a time-series comparison of key metrics, which pages/screens people visited, and which features they interacted with, all at a glance. Three metrics are worth watching: Views is the number of pages/screens a user saw (repeated views of the same page each count separately), Event count is the number of collected event occurrences, and Event count by Event name is which event names fired most often and how frequently.
Engagement overview is exposed by default under the Life cycle collection, but may not be visible by default under the Business objectives collection, meaning some accounts require an admin to add it manually to the left-hand navigation.
For a more granular look, go into Engagement → Events. You can see the full logged list of events, including automatically collected ones, and clicking "View events" on the Engagement overview's event card leads to the same screen.
Image: the Engagement/Events report follows the footprints of what a visitor actually clicked on-screen.
That covers the five, let's put them together in one table.
| Report | Location | Scope/unit | Question it answers |
|---|---|---|---|
| Realtime | Top of Reports | This exact moment | Is the tag alive |
| Traffic acquisition | Acquisition | New sessions | Where did this visit come from |
| User acquisition | Acquisition | New users | What channel first brought this person |
| Pages and screens | Engagement | Page/screen views | Which page is doing the work |
| Engagement/Events | Engagement | Events | What did visitors actually do |
Five Traps Beginners Fall Into First
Knowing how to open a report doesn't help if you misread the numbers on screen, you'll still draw the wrong conclusion. Let's look at the five traps beginners hit most often.
Diagram 3. All five traps aren't cases of "the numbers look wrong," they're cases of "this is just how the structure was designed to work."
Processing Delay: 24-48 Hours, Rarely Up to 7 Days
GA4 processes data in three stages, realtime, intraday, and daily, where intraday data shows a partial preview of the previous day updated several times throughout the day, and becomes available before the fully finalized daily data. Official guidance states data processing can take 24-48 hours, and this isn't a service-level agreement (SLA). Large properties or complex data can push it later, and some data may arrive with a delay of up to 7 days, so keep that in mind.
(not set): An Empty Label on the Shipping Box
By official definition, (not set) is a placeholder used "when Analytics didn't receive information for a specific dimension," closer to a state where the box (the data) itself exists but the sender's name (the label) is blank. Common spots where it shows up: session source/medium when Google Ads integration is disconnected or auto-tagging is off, cases where the session_start event is missing, the landing page when a session has no page_view, and custom parameters. For custom parameters, (not set) may be normal within the first 24 hours after registration, and if it's still showing after 24 hours, that's when it's worth digging into the cause.
(data not available) is easy to confuse this with, but the key difference official documentation points to is that (not set) is, for the most part, "actionable."
Excluding Internal Traffic: Once a Filter Is Applied, It Can't Be Undone
The process has two steps: first, in the web data stream, go to Configure tag settings → Show more → Define internal traffic and specify a rule name, the traffic_type value (default "internal"), and an IP address match condition. Then, in Admin → Data Settings → Data Filters, click Create filter, choose the filter type "Internal Traffic," set the operation to Exclude, and it filters out hits where traffic_type is internal.
Important warning. Official documentation states that applying a data filter as Exclude has a permanent effect, excluded data isn't processed and can never be seen again, in either Analytics or BigQuery. So set the filter to "Testing" state first, confirm it's filtering the way you intend, and only then switch it to Active.
Data Retention Period: 2 Months or 14 Months?
GA4 lets you set retention periods separately for user-level data and event-level data. Standard properties can choose between 2 or 14 months, and 360 properties get additional options of 26, 38, or 50 months, for event data only. Keep in mind, though, that age, gender, and interest data always stays fixed at 2 months regardless of this setting. If a large or extra-large property exceeds the collection limit, event-level retention automatically shrinks to 2 months, and data older than that becomes inaccessible and is permanently deleted, so caution is needed.
| Property type | Selectable options | Where to change it |
|---|---|---|
| Standard property | 2 months · 14 months | Admin → Data Settings (Data Retention), requires Editor permission |
| 360 property (event data) | 2 · 14 · 26 · 38 · 50 months |
Here's something worth stating honestly: the official help documentation itself doesn't specify exactly which value is selected by default when you create a new GA4 property. Descriptions of "defaults to 2 months" and "defaults to 14 months" are even mixed across different sources. So right after a new install, don't guess, check the value directly in Admin, and switch it to 14 months if you need to.
Menu Names Change: From Conversions to Key Events
Google tends to change GA4's menu and terminology names fairly often, a notable example being the March 27, 2024 announcement that split out the terms "Conversions" and "Key events." There had been confusion from a metric called "Conversion" being measured differently on the Google Ads side versus the Analytics side, with numbers that didn't line up, and this was meant to clean that up. Key events measure actions important to business success (for UX improvement), while conversions are actions meant for measuring ad campaign performance and bid optimization, that's the distinction. Events that had previously been marked as Conversion were automatically switched over to Key event, no separate action was needed.
What this example shows is one underlying principle: depending on report collection settings (Life cycle vs. Business objectives), an admin can customize the left-hand menu layout, so the actual menu names and positions visible can differ by account. So treat the menu paths described in this post as a skeleton only, and confirm the exact, current button names and locations directly on your own screen.
Image: the five traps aren't bugs, they're points where GA4 was originally designed to behave this way. Know them going in, and you won't trip.
Once the Five Feel Familiar: Move On to Explorations
All five of these reports are pre-built, meaning they only show a fixed combination of dimensions and metrics. When that combination doesn't match your question, that's when Explorations come in. Free-form exploration is the most flexible analysis tool, letting you reconstruct data into tables or graphs however you want, showing up to 5 dimensions as rows and 10 metrics at once, with nested rows or segments/filters to narrow the scope. Visualizations can be freely switched between table, donut, line, scatter, bar, and geo map too, so if the five standard reports are off-the-rack clothing, exploration is a suit tailored to your own body. How to actually use exploration in practice will be covered further in another part of the series.
- Verify installation: did you install the tag? Open the Realtime report and DebugView and confirm your own visit gets picked up.
- Retention period: is it set to 2 months or 14 months? Look at the actual value in Admin → Data Settings and set it to 14 months.
- Internal traffic: is the office IP mixed in? Create a Define internal traffic rule, and set the filter to Testing first.
- Comparison habit: are the Traffic acquisition and User acquisition numbers different? That's normal, share with your team that the scopes are different before anyone panics.
- Recheck the menu: does this post's menu names and screen differ from yours? It could be a collection setting difference, so treat your own screen's labels as the reference.
If you only take one thing away, let it be this.
When a number is missing or looks off, ask "is this how the structure is designed to work" before you ask "is this a bug."
Frequently Asked Questions
No data is showing up after installing GA4, why is that?
It's most likely a normal delay. GA4 processes data in three stages, realtime, intraday, and daily, and official guidance states that processing can take 24-48 hours, and in rare cases up to 7 days (this isn't a guaranteed service level). Right after installation, what you should check isn't the standard reports, it's the Realtime report and DebugView.
What's the difference between the Traffic acquisition and User acquisition reports?
Traffic acquisition is scoped to new sessions and re-evaluates where a visit came from each time, while User acquisition is scoped to new users and locks in the channel that first brought that person here. The scopes differ, so official guidance warns you shouldn't compare the metric values of the two reports against each other.
How do I exclude my own visits in GA4?
In the data stream's tag settings, use an internal traffic rule to assign a traffic_type=internal value to internal IPs, then create an Internal Traffic filter set to Exclude in Admin's Data Filters. Keep in mind, though, that switching the filter to Active has a permanent effect, so it's safer to set it to Testing state first, confirm it's filtering as intended, and only then switch it over.
This post is Part 3 of the Intro to Digital Marketing Analytics series. If you've got the foundational units, cookies, sessions, and events, and UTM tags down, you're now equipped to read those same units directly off the GA4 screen.
- Previous parts: Cookies, Sessions, and Events Basics, UTM Parameters Basics
- Advanced part: Dark Funnel Tracking
Sources
- 4-step initial setup, 3 tag install methods: Set up Analytics for a website and/or app, Google Help
- Realtime report definition, best effort: [GA4] Realtime report, Google Help
- How to use DebugView: Monitor events in DebugView, Google Help
- Traffic acquisition vs. User acquisition scope: User acquisition report vs. Traffic acquisition report, Google Help
- Supplemental scope comparison example (unofficial): User Acquisition vs Traffic Acquisition in GA4, Analytics Mania
- Pages and screens report: [GA4] Pages and screens report, Google Help
- Engagement overview report: [GA4] Engagement overview report, Google Help
- Free-form exploration: [GA4] Free-form exploration, Google Help
- Conversions → Key events name change: [GA4] Conversions vs. key events in Google Analytics, Google Help
- Data freshness delay (24-48 hours): [GA4] Data freshness, Google Help
- Meaning of (not set): What the value (not set) means in your reports, Google Help
- Excluding internal traffic, irreversibility warning: Filter out internal traffic, Google Help
- Data retention period: Data retention, Google Help
The gtag.js code in the body is an example showing structure only, and you must use the actual snippet issued on your own install screen. The default data retention value and the exact current names/locations of left-hand menu items can vary by account settings, so rather than stating them flatly from official documentation alone, this post uses a "check it directly on your screen" tone.
Found this useful? Share it
Latest posts
Kakao Share Thumbnail Not Showing? Here's the Fix (JavaScript SDK 2025)
Learn why Kakao Share thumbnails don't appear even with a valid imageUrl, and fix it using scrapImage to convert your URL into a KAGE CDN URL. Step-by-step guide.
How to Generate CRM User Manuals in 20 Minutes with Claude Code Sub-Agents
Learn how Claude Code sub-agents can analyze your CRM codebase and auto-generate user manuals and visual guidebooks in just 20 minutes. See the real-world results.
GEO Generative Engine Optimization: The Complete 2025 AI Marketing Strategy Guide
Learn what GEO (Generative Engine Optimization) is, how it differs from traditional SEO, and discover 5 proven AI marketing strategies to get cited by AI search engines in 2025.
Related projects
Get new posts by email
Insights on marketing, analytics, and dev, delivered to your inbox.
