User Analytics Unique User Count

SurajPatel
Tera Contributor

Hi everyone,

 

I'm working on providing our IT communications team some data over Portal and Knowledge usage over the last fiscal year and have run into a bit of a speedbump. I need to report the number of unique users to visit our IT Help portal and in User Analytics am unable to export the data as it is well over 10k records, and there doesn't appear to be a native way to exclude external users (we have an identifier we can normally filter out), nor does there appear to be a way to navigate to a traditional list view of the users that have accessed the portal.

 

Any thoughts? We are on Yokohama and have platform analytics enabled.

2 REPLIES 2

Ct111
Giga Sage

Are you looking for something like this 

 

or something relevant to this 

Gaurav Shirsat
Mega Sage

Hello @Ct111 

Database can help you to get your desired results:

Please follow below steps :You can Create a Custom Report Using a Database View. You need to join two tables and get it done as follow :
Create a database view that joins:

ua_page_view or ua_user_session

sys_user

Filter by:

Page = your Help Portal page

Date range = your fiscal year

sys_user attribute that marks them as internal

Use a distinct count of user.sys_id as your metric.

 

OR can try this :

you can get a Scripted Report (Background Script or Scheduled Script)
// Define the date range for the fiscal year
var startDate = '2024-07-01 00:00:00';// add as per your suitability
var endDate = '2025-06-30 23:59:59';// add as per your suitability

var uniqueUsers = {};
var grPage = new GlideRecord('ua_page_view'); // or 'ua_user_session' depending on how you're tracking

grPage.addQuery('page.name', 'CONTAINS', 'IT Help Portal'); // Adjust this to match your portal page name
grPage.addQuery('session.created_on', '>=', startDate);// value will be as per your variable in line 1
grPage.addQuery('session.created_on', '<=', endDate);//value will be as per your variable in line 1
grPage.query();

while (grPage.next()) {
var user = grPage.session.user; // or grPage.user if available directly
if (user && !user.getDisplayValue().includes('external-identifier')) { // Apply your external user logic
uniqueUsers[user.toString()] = true;
}
}

gs.log('Unique internal users: ' + Object.keys(uniqueUsers).length);

 

Thanks and Regards

Gaurav Shirsat