Getting Started

GA4 properties and data streams explained (finally)

Understand how GA4's account hierarchy works with properties and data streams. Learn how to structure your analytics for websites and apps.

A
Antoine
January 14, 20266 min read

If you're coming from Universal Analytics, the whole "data streams" concept probably threw you off. It threw me off too. But once you understand how GA4's structure works, it actually makes more sense than UA's setup.

Let me break it down.

The GA4 hierarchy

GA4 organizes data in a three-level hierarchy:

Account
  └── Property
        └── Data Stream (Web)
        └── Data Stream (iOS App)
        └── Data Stream (Android App)

That's it. Simple compared to UA's Account → Property → View structure.

Account

The top level. Think of it as your organization's container for all analytics properties.

  • One account per company/organization (usually)
  • Handles user access and permissions
  • Contains billing information (for GA4 360)

Property

The level where data lives and gets analyzed.

  • Represents a single business/product/brand
  • Contains all your reports and explorations
  • Where you configure key events, audiences, and data settings
  • Can have up to 50 data streams

Data Stream

The source that sends data into your property.

  • Three types: Web, iOS App, Android App
  • Each has its own Measurement ID (web) or App Stream ID
  • Enhanced Measurement settings are configured here

Key difference from Universal Analytics

In UA, if you wanted to track a website and mobile app together, you needed workarounds. Each property was essentially single-platform.

In GA4, one property can receive data from multiple platforms. Your website, iOS app, and Android app can all feed into the same property, giving you a unified view of user behavior across platforms.

Universal Analytics (Old)
─────────────────────────
Property: "Website"
Property: "iOS App"
Property: "Android App"
(Hard to see cross-platform journeys)

GA4 (New)
─────────────────────────
Property: "My Product"
  └── Web Stream
  └── iOS Stream
  └── Android Stream
(Unified cross-platform view)

This is genuinely useful if you have users who browse on web and later convert in your app.

What about Views?

Short answer: they're gone.

Views don't exist in GA4. Instead, you have other options:

UA ConceptGA4 Replacement
Filtered viewsData filters (permanent)
Different views for regionsSegments in Explorations
View-level access controlProperty-level roles (less granular)
Test viewDebugView

If you need truly separate data (like different business units), create separate properties.

GA4 360 only: Sub-properties and roll-up properties are available on the paid tier, offering more UA-like flexibility.

How many properties do you need?

This is the question I get asked most often. Here's my rule of thumb:

One property if:

  • Single website/product
  • Single brand
  • Web + mobile app for the same product
  • One team manages everything

Multiple properties if:

  • Multiple distinct brands/products
  • Different business units need data separation
  • Legal/compliance requirements for data isolation
  • Different geographic regions with separate teams

Practical example

Scenario: You have an e-commerce site, a blog on a subdomain, and mobile apps.

Answer: Usually one property with:

  • Web stream for main site (example.com)
  • Blog is part of the same domain, same stream
  • iOS stream for the app
  • Android stream for the app

Scenario: You run an agency with 50 clients.

Answer: 50 separate properties (one per client), all under your agency account.

Setting up data streams

Web stream setup

  1. Go to Admin → Data Streams
  2. Click Add stream → Web
  3. Enter your website URL (with https://)
  4. Name it clearly (e.g., "Main Website")

You'll get a Measurement ID that looks like G-XXXXXXXXXX. This is what you use to install tracking.

Important web stream settings

After creating your stream, configure these:

SettingLocationRecommendation
Enhanced MeasurementStream detailsEnable all (except form interactions if unreliable)
Unwanted ReferralsConfigure tag settingsAdd payment providers (PayPal, Stripe)
Internal TrafficConfigure tag settingsAdd your office IPs
Cross-domain TrackingConfigure tag settingsAdd your domains if you have multiple

For detailed setup, see our initial setup checklist.

App stream setup

  1. Go to Admin → Data Streams
  2. Click Add stream → iOS app or Android app
  3. Enter your bundle ID / package name
  4. Follow the Firebase SDK integration steps

App streams require Firebase SDK integration. GA4 uses Firebase for mobile app tracking. There's no way around it.

Common mistakes to avoid

Multiple web streams for one website

This is the biggest mistake I see. Don't do this:

❌ Wrong:
Property: "My Site"
  └── Web Stream: "Homepage" (example.com)
  └── Web Stream: "Blog" (blog.example.com)
  └── Web Stream: "Shop" (shop.example.com)

This creates data duplication and fragmented user journeys. Instead:

✅ Correct:
Property: "My Site"
  └── Web Stream: "Main Website" (example.com + all subdomains)

Configure cross-domain tracking if needed, but use one stream.

Creating streams before you need them

Don't create placeholder streams "just in case." Each stream starts collecting data immediately (if installed), and empty streams just clutter your setup.

Mixing test and production

Some people create a "test" stream for their staging environment. This pollutes your production data. Instead:

  • Use a completely separate property for testing
  • Or use DebugView for verification
  • Or use internal traffic filters

Data stream limits

LimitAmount
Data streams per property50 total
App streams (iOS + Android)30 max
Web streamsNo specific limit (within total 50)

You're unlikely to hit these limits unless you're doing something wrong with your structure.

Permissions and access

Unlike UA views, you can't give someone access to just one data stream. Access is managed at the property level.

Available roles:

RoleCan viewCan configureCan manage access
Viewer--
AnalystCreate explorations-
MarketerCreate audiences-
Editor-
Administrator

If you need granular access control, consider separate properties.

Cross-platform user tracking

One of GA4's best features is unified user tracking. When set up correctly, you can see:

  • A user browsing on mobile web
  • Later installing your app
  • Making a purchase in the app

This requires:

  1. All platforms feeding into the same property
  2. A consistent user identifier (User-ID feature)
  3. Proper data stream configuration

For most sites, even without User-ID, GA4 does a decent job of stitching sessions together using Google Signals and device graphs.

Next steps

Once you have your structure figured out:

  1. Configure your key events
  2. Set up essential tracking
  3. Link your Google accounts

And if you want simpler analytics without managing all this complexity, try Analayer. We connect to your GA4 data and surface the insights you actually need.

See your analytics clearly

Stop struggling with Google Analytics. Connect your account and get a cleaner, simpler view of your data in seconds.