We have a SharePoint 2013 on-premises server. and the users have reported that the "Popularity Trends" report will always be empty:-

enter image description here

so i read this link @ https://briantjackett.com/2013/08/26/powershell-script-to-workaround-no-data-in-sharepoint-2013-usage-reports/ and when i run the proposed script:-

> $aud = Get-SPUsageDefinition | where {$_.Name -like "Analytics*"} 
> $aud | fl    
> $prud = Get-SPUsageDefinition | where {$_.Name -like "Page Requests"}
> $prud | fl

I got False for the "EnableReceivers", as follow:- enter image description here

also when i checked Central admin > Application management > Manage Service Application > "Usage and Health Data Collection Service Application", i found that it is started as follow:- enter image description here

so not sure what is going on? the problem that the fix on this link https://briantjackett.com/2013/08/26/powershell-script-to-workaround-no-data-in-sharepoint-2013-usage-reports/ is not an official fix, and i am afraid of running it... so can anyone advice why our "Popularity Trends" always show 0 views..

1 Answer 1


According to your post, the root cause is related to the Event Receiver that are both disabled.

As a workaround, please enable the Event Receivers and register it to your content farm.

Run the below PowerShell in content farm: for enabling the Page Requests event receivers:

$prud = Get-SPUsageDefinition | where {$_.Name -like "Page Requests"}
$prud.EnableReceivers=  $true
$prud.Enabled = $true
$aud = Get-SPUsageDefinition | where {$_.Name -like "Page Requests*"}
$aud | fl

Run the below PowerShell in content farm: for enabling the Analytics event receivers:

$aud = Get-SPUsageDefinition | where {$_.Name -like "Analytics*"}
$aud.EnableReceivers=  $true
$aud.Enabled = $true
$prud = Get-SPUsageDefinition | where {$_.Name -like "Analytics"}
$prud | fl

Run the below PowerShell in Content farm to attach the page request receiver:

$prud = Get-SPUsageDefinition | where {$_.Name -like "Page Requests"}
$prud.Receivers.Add("Microsoft.Office.Server.Search.Applications, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c","Microsoft.Office.Server.Search.Analytics.Internal.ViewRequestUsageReceiver")

Run the below PowerShell in Content farm to attach the Analytics receiver:

$aud = Get-SPUsageDefinition | where {$_.Name -like "Analytics*"}
$aud.Receivers.Add("Microsoft.Office.Server.Search.Applications, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c", "Microsoft.Office.Server.Search.Analytics.Internal.AnalyticsCustomRequestUsageReceiver")
$aud.EnableReceivers = $true

Then wait for 24 hours and check if everything is working as expected.

And there is a blog for your reference: SharePoint 2016 Popularity Trends and Usage data return no results

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.