How to Create an Employee Dashboard in Google Analytics
Viewing your website analytics with internal employee traffic mixed in can skew your data, making it hard to see how real customers are behaving. The solution is creating a dedicated employee dashboard in Google Analytics to isolate that internal activity. This article will show you exactly how to identify your team’s traffic and build a custom report in GA4 to monitor it separately.
Why Track Employee Website Activity?
First, let's be clear: this isn't about employee surveillance. The goal is to improve the employee experience and optimize internal resources, not to check who’s spending too long on the HR benefits page. When used thoughtfully, an employee-only dashboard can provide powerful insights into how your team uses company resources hosted on your website or a separate intranet.
Here are a few practical reasons to create one:
Improve Internal Portals: See how employees are using your company intranet, knowledge base, or employee portal. Are they finding the documents they need? Are adoption rates for new tools high or low?
Identify Popular Resources: Discover which HR policies, training videos, sales enablement materials, or corporate announcements get the most views. This helps you understand what content is most valuable to your team.
Spot Friction Points: Identify pages where employees seem to struggle or drop off. For example, if many employees visit a "Submit IT Ticket" page but few complete the form, there might be a usability issue.
Optimize Onboarding: For new hires, you can track their journey through onboarding modules to ensure they are accessing all the necessary materials to get up to speed.
Step 1: Isolate Your Employee Traffic
Before you can build a dashboard, you have to tell Google Analytics how to identify an "employee." Without this step, GA4 has no way of distinguishing your team’s traffic from regular customer traffic. There are two primary methods to do this, each with its own pros and cons.
Method 1: Identify Traffic by IP Address
The classic way to define internal traffic is by using your company’s IP address. This works best if your employees are consistently working from an office with a static, or unchanging, IP address.
How to Define Internal Traffic in GA4:
Navigate to the Admin section (the gear icon) in the bottom-left corner of Google Analytics.
In the Property column, click on Data Streams and select the appropriate web stream for your website.
Under the Google tag section, click Configure tag settings.
On the next screen, find the Settings section and click Show more, then select Define internal traffic.
Click the Create button to make a new rule.
Give your rule a clear name, like "Main Office IP Address." Keep the default
traffic_typevalue asinternal.Under IP addresses, select a Match type and enter the IP address (or range of addresses) for your office. You can find your public IP address by searching "what is my IP address" on Google.
Click Create to save the rule.
Once you’ve defined internal traffic, GA4 will start adding a parameter (traffic_type='internal') to all events coming from those IPs. Note that by default, GA4 has a data filter that is set to "Testing" mode, which means it identifies this traffic but doesn't exclude it from your reports yet. For this use case, we want to see the data, so we don't need to change this setting.
Method 2: Use a Custom Dimension (For Remote and Hybrid Teams)
IP filtering is great for office-based teams, but it falls short with remote employees whose IP addresses change frequently. A more robust solution is to use a Custom Dimension that identifies employees after they log into a secure section of your website.
This method is more technical and may require help from a developer, but it's the most reliable way to track a distributed team.
1. Create the Custom Dimension
First, you need to set up the dimension in GA4 that will hold the "employee" data.
In Admin, go to the Property column and click on Custom definitions.
Click Create custom dimensions.
Configure the new dimension as follows:
Dimension name:
Employee StatusScope:
UserDescription:
Identifies a user as employee or regular guest.User property:
employee_status
Click Save.
2. Send the Data to GA4
Next, you need to update your website’s tracking code to send this information to Analytics when an employee logs in. When an identified employee authenticates on your site, you should fire a user property with the value "employee."
A developer can implement this using a Google Tag Manager event or by adding a code snippet to your site. The gtag.js snippet would look something like this:
Once this is done, the employee_status property will be permanently associated with that user's browser, allowing you to create reports and filters based on whether a user is an employee or not, regardless of their location or IP address.
Step 2: Build Your Employee Dashboard in GA4 Reports
With your employee traffic properly tagged, you’re ready to build the dashboard. In Google Analytics 4, the best way to do this is by creating a custom "Detail Report."
Create a New Custom Report
From the left-hand navigation, click Reports.
Near the bottom of the list, click on Library.
Click the + Create new report button and choose Create detail report.
Select the Blank template to start from scratch.
Add Dimensions: In the right-hand customization panel, click Dimensions. Add the dimensions you want to analyze, such as
Page path and screen class(to see which pages are viewed),Device category,City, and crucially, the custom dimension or filter you'll use to isolate employee traffic.Add Metrics: Click Metrics next. Add the metrics you want to measure, such as
Users,Sessions,Engaged sessions,Engagement rate, andEvent count.Click Save and give your report a recognizable name like "Employee Portal Dashboard."
Filter for Employee Traffic Only
Now, while viewing your newly created report, you need to apply a filter so it only shows data from your team.
At the top of the report, look for the Add filter button.
Click it to open the filter builder.
If you used IP Filtering: Build a filter where the Dimension is
Traffic type, the Match Type is "exactly matches," and the Value isinternal.If you used a Custom Dimension: Build a filter where the Dimension is
Employee Status, the Match Type is "exactly matches," and the Value isemployee.Click Apply.
Your report table and charts will now refresh to show data exclusively from users identified as employees. You can now analyze their specific behavior without other website traffic getting in the way.
What Should an Employee Dashboard Include?
You can customize your new report by adding different summary cards and charts. Here are a few valuable metrics to visualize to better understand how your team interacts with internal content:
Top Visited Pages
See exactly which internal pages, articles, or resources get the most traffic. This helps you understand what information is most important or frequently needed by your team.
Chart type: Bar Chart
Dimension: Page path and screen class
Metric: Users or Sessions
User Engagement Rate by Page
Find out which pages are engaging and which ones are not. A low engagement rate on an important policy page might indicate the content is confusing or unhelpful.
Chart type: Table
Dimension: Page path and screen class
Metric: Engagement rate
Device Usage
Understand how employees are accessing your content. If you see high mobile usage on your company portal, it's a good sign that your internal resources need to be mobile-friendly.
Chart type: Pie Chart
Dimension: Device category
Metric: Users
Internal Site Search Terms
If your site has a search bar, tracking what employees search for is a goldmine. You can discover information gaps, content that's difficult to find, or topics your team needs more info on. (This requires setting up site search tracking in GA4 if you haven't already).
Chart type: Bar Chart
Dimension: Search term
Metric: Number of searches or similar event count
Final Thoughts
Creating an employee-focused dashboard in Google Analytics helps you keep your customer data clean while gaining insights into how your team uses company resources. By defining your internal traffic and building a simple custom report, you can begin making data-driven decisions that improve processes and your team's overall experience.
While GA4 offers deep customization, digging into reports, applying filters, and sharing findings can still be time-consuming. We built Graphed to remove that friction completely. After a one-click connection to your data sources like Google Analytics, you can use plain English to get the answers you need in seconds. Instead of a multi-step setup process, you can simply ask, "Show me a dashboard of the top pages viewed by our internal traffic last month," and get a real-time, shareable dashboard instantly.