Project Online: How do I find who is using Project Online?

Chris Boyd recently responded to the User Voice thread around the “Last Connect” column no longer shown in Project Online topic with a suggestion on how one might replace this functionality using other features already available in Project Online and Office 365.  The thread is here ––last-connect-column-no-longer-shown-in-project-o but I’ll also publish here and I’m adding a few screen shots as I’ve already walked through these steps on my Project Online tenant.

*** Update 9/30/2016 – Paul Mather has also published another approach that may be a better fit in replacing the original functionality – see for details ***

Over to Chris first, but read on to the end as I have a few comments and thoughts to add.


First, I would like to provide a little more context on why the last connected date was removed from the admin user page in PWA. Unfortunately keeping the last connected date current was an expensive operation that was impacting end users in unexpected ways. We had several service escalations which lead us to removing this column. It was negatively impacting several experiences:

• Logging into the PWA site
• Moving between pages within PWA
• Project Center load time

At this point in time we do not have plans to add it back. We will continue to monitor the need for organizations to have this information. In the meantime, here is a workaround to capture who is accessing the PWA site:

1. Configure audit settings for a site collection for the PWA site: Make sure to check the “Searching site content” checkbox.




2. Add a “Search-Driven Content” web part to the PWA home page or any other PWA web part page to track the usage of it.

a. Click on the Gear in the top right corner
b. Edit page
c. Add a Web Part
d. Categories “Search-Driven Content”  “Recommended Items”


If you don’t want the web part to be visible, continue with the following otherwise go to step 3.

e. On the “Recommended Items” web part, click the arrow in the top right of the web part
f. Edit Web Part
g. Expand Layout and check Hidden
h. Click Ok

3. Stop editing the page

At this point, anytime someone accesses the home page it will be logged. To generate a report:

1. Go to: https://MY_SPO_URL/PWA_URL/_layouts/15/Reporting.aspx?Category=Auditing


2. Run a custom report
3. Make sure to check “Searching site content”


The report that is generated should give you who has access the PWA site. It is important to note that it will not capture Project Client or reporting from OData usage.

Chris Boyd
Principle PM Manager
Microsoft Project Team

The report is an Excel file which has two tabs – Audit Data – Table, and Report Data 1.




Obviously this will only register for the specific page – so you may need to add to other pages if the home page is not normally used – and as Chris mentions – this will not register usage from the OData feeds, or clients such as Project Professional, Project Online Desktop Client or the iPad Portfolio App.  The Report Data 1 page gives User Id and when an access occurred, so you could build up a Power BI dataset by importing the Excel data (the _data table when using Get Data from Excel), and likely just the User ID (Suitably trimmed) and the Occurred (GMT) column – and updated for your time zone if you wanted.  Not thought through all the logic yet on automation options.  You’d need a Date table too.  If anyone’s already done something similar then feel free to share.

The other question I’m already hearing someone ask – even before posting this – is how do I know someone hasn’t logged in?  The best way to handle this would be to use PowerShell to get a list of your users who have a license for Project Online – and use this in the same Power BI model as the full list of potential users.  You could then link this to the Report Data 1 output and show the most recent date for each User ID, and choose the option to also show items with no values so that you could see who hadn’t logged in.  You would only be seeing data from now forwards – so no history – but this does give you the potential to get so much more information on usage patterns than just the unreliable ‘last connect date’ which would actually register a connection even if the user failed to log in.