Ever wondered who visits each page on your site? Sure, Google Analytics 4 (GA4) gives you *lots* of data. But it’s not always easy to break it down *per URL.* Especially when it comes to *demographics*. Yep, it’s a bit tricky — but don’t worry! By the end of this guide, you’ll understand how to track and report demographics by URL. Plus, we’ll talk about some sneaky caveats you need to watch for.
What Are GA4 Demographics?
Before diving into reports, let’s clear up what GA4 means by “demographics.”
- Age: Ranges like 18-24, 25-34, and so on.
- Gender: Male, female, or unknown.
- Interests: Based on user behavior across Google properties.
- Location: Country, region, and city-level details.
Cool, right? GA4 pulls this data mostly from users logged into Google and those who allow ad personalization. That means the data is sampled, approximate, and not available for everyone.
Can You See Demographics Per URL in GA4?
Technically… yes. But it’s not served on a silver platter. GA4 doesn’t offer a built-in “Demographics by URL” report like old-school Universal Analytics did with page-level filtering. You’ll have to roll up your sleeves and do a bit of setup.
Option 1: Custom Exploration in GA4
GA4’s “Explore” tool is your best friend here. You can cross-reference demographics and URLs using a free-form exploration.
- Login to your Google Analytics 4 account.
- Go to Explore.
- Click +Blank or start a new exploration.
- Add Page path as a dimension.
- Add demographic dimensions like Age, Gender, or Country.
- Add a metric like Users or Engaged sessions.
- Drag dimensions and metrics into rows/columns to slice the data.
Tada! You’ll see rows showing user demographics alongside specific URLs. It looks like magic—but it’s just a smart layout.

Option 2: BigQuery Integration
If you want to go hard-core, connect GA4 to BigQuery. It’s free under certain limits and gives you full raw data access.
Once connected, you can run SQL queries to analyze:
- User age vs. page path
- Location by URL
- Device or browser per demographic group
This is amazing for large sites and advanced power users. But if you’re not comfy with SQL, this route might feel like flying a spaceship with no manual.
The Three Major Caveats
Now, we said it’s possible—but there are some gotchas. Here are the three main caveats you need to know when reporting Demographics per URL in GA4.
1. Demographics Aren’t 100% Available
Not all users have demographics data attached to them. If someone isn’t logged into a Google account or opts out of ad tracking, their age, gender, and interests remain a mystery.
This means:
- Some of your URLs may show (not set) for demographics
- This isn’t an error—just a limit of available data
2. Data Thresholding
GA4 uses privacy rules. If your segment is too small, Google adds thresholding.
This shows up in reports as:
- Some data being “blocked” if it could identify users
- Parts of reports appearing grayed out or “(not set)”
This affects your explorations and detailed filters. You may think, “Hey, where did my Age 18–24 data go for /pricing?” Answer: GA4 is protecting user anonymity.
To reduce thresholding:
- Try using broader date ranges
- Avoid filtering down to very specific user groups
3. Sampling Differences in Exploration vs Reports
GA4 has two “worlds” of data:
- Standard Reports: Built-in, fast, lower flexibility
- Explorations: Custom, but may apply different sampling or thresholds
This means your demographics info for a page may vary slightly depending on where you look. It’s frustrating! But again—just GA4 doing its thing to protect data and generate fast results.
How to Make Your Demographics by URL Reports More Useful
Now that you can build these views, how can you make sense of them? Here’s how to make your work more actionable:
- Create segments for different age or interest groups
- Compare behavior between pages for Gen Z vs Boomers
- Discover user intent based on demographics — do older users prefer your “How It Works” page over your homepage?
- Layer on conversions to see how demo groups perform by URL
This turns curiosity into real insights. Marketers can tailor content. Product teams can redesign pages for preferred audiences. Everyone wins!

Bonus Tip: Use Google Signals with Caution
To collect Demographics info, GA4 uses Google Signals. You must enable this in Admin settings.
But beware:
- It enhances data with cross-device and ad personalization info
- But it ALSO increases thresholding!
So you may get better data but see more blocked fields in your explore reports. Weigh the trade-offs.
Common Questions
Q: Can I export per-URL demographic data?
A: Yes! In Explore, click the export icon and choose CSV or Google Sheets. You can also export from BigQuery if you’re super fancy.
Q: Why is most of my data “(not set)?”
A: It could be low traffic numbers, thresholding, or users without Google-logged-in profiles.
Q: What’s the difference between page_path and page_location?
A: page_path is the relative URL (like /contact), while page_location is the full URL (like https://example.com/contact). Use whichever you find easier.
Conclusion
Getting demographics per URL in GA4 is totally doable — but not obvious. Use Explore for custom reports, or BigQuery if you’re feeling powerful.
Remember the key caveats: missing data, thresholding, and sampling differences. If you want clean, complete slices, think broad and give your data room to breathe.
And most importantly: turn those insights into action! Knowing your audience per page can help improve design, copy, ads, and conversion strategies.
Now go forth and data-slice like a digital ninja!
