web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Pages / PowerApps Portal LogIn...
Power Pages
Unanswered

PowerApps Portal LogIn Insights

(0) ShareShare
ReportReport
Posted on by 13

Hey guys,

is there a way to see how many users have logged in to my portal?
Unfortunately I have not found anything.

Categories:
I have the same question (0)
  • oliver.rodrigues Profile Picture
    9,368 Most Valuable Professional on at

    Hi

     

    Make sure you have a site settings called Authentication/LoginTrackingEnabled and set to True

    this will automatically stamp a successful login within the Contact record, that's probably the best way to start

     

    ------------

    If you like this post, give a Thumbs up. Where it solved your request, Mark it as a Solution to enable other users find it.

  • Verified answer
    OOlashyn Profile Picture
    3,496 Most Valuable Professional on at

    Hi @Ericson ,

     

    There is no ootb way to see such sort of statistics. However, you can add Azure Application Insights or Google Analytics to gather this info and a lot more. You can check out my blog post on how to use Azure Application Insights with Portal. 

  • CaptJoe Profile Picture
    83 on at

    This is now available directly in Power Platform Admin Center under the Capacity->Summary Tab.  Click on download reports, then New, and you can select Portal Logins or Page Views, and you'll get an excel file of access over the last 30 days

    Captjoemcd_0-1624397219307.png

    Captjoemcd_2-1624397320101.png

     

     

  • PowerBridge Profile Picture
    15 on at

    I need to manage Portal Licenses based on who is using the APP over the last 2-3 months. Is their anyway to see who logged In? Thanks in advance for any of the help.

  • CaptJoe Profile Picture
    83 on at

    Last successful portal login is tracked on the Contact's record in dynamics/dataverse - you can search or filter based on that field.  If you're looking for access to a model driven or canvas app, you'll need to check logins through Azure. 

  • PowerBridge Profile Picture
    15 on at

    @Captjoemcd thanks for your response. I will appreciate if you can provide any further information like links, screenshots etc. Thanks again for your time and help.

  • eromerof Profile Picture
    54 on at

    Hi,

     

    I cannot see the Auth id or the accountid in Azure Insights. I add this code to telemetry options in portals. What else should I do? Or what am I doing wrong? (Instrumentation key omitted)

     

    Thanks in advance!

     

     

    <script type="text/javascript">
    
     !function(T,l,y){var S=T.location,k="script",D="instrumentationKey",C="ingestionendpoint",I="disableExceptionTracking",E="ai.device.",b="toLowerCase",w="crossOrigin",N="POST",e="appInsightsSDK",t=y.name||"appInsights";(y.name||T[e])&&(T[e]=t);var n=T[t]||function(d){var g=!1,f=!1,m={initialize:!0,queue:[],sv:"5",version:2,config:d};function v(e,t){var n={ },a="Browser";return n[E+"id"]=a[b](),n[E+"type"]=a,n["ai.operation.name"]=S&&S.pathname||"_unknown_",n["ai.internal.sdkVersion"]="javascript&colon;snippet_"+(m.sv||m.version),{time:function(){var e=new Date;function t(e){var t=""+e;return 1===t.length&&(t="0"+t),t}return e.getUTCFullYear()+"-"+t(1+e.getUTCMonth())+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"."+((e.getUTCMilliseconds()/1e3).toFixed(3)+"").slice(2,5)+"Z"}(),iKey:e,name:"Microsoft.ApplicationInsights."+e.replace(/-/g,"")+"."+t,sampleRate:100,tags:n,data:{baseData:{ver:2}}}}var h=d.url||y.src;if(h){function a(e) { var t, n, a, i, r, o, s, c, u, p, l; g = !0, m.queue = [], f || (f = !0, t = h, s = function () { var e = {}, t = d.connectionString; if (t) for (var n = t.split(";"), a = 0; a < n.length; a++) { var i = n[a].split("="); 2 === i.length && (e[i[0][b]()] = i[1]) } if (!e[C]) { var r = e.endpointsuffix, o = r ? e.location : null; e[C] = "https://" + (o ? o + "." : "") + "dc." + (r || "services.visualstudio.com") } return e }(), c = s[D] || d[D] || "", u = s[C], p = u ? u + "/v2/track" : d.endpointUrl, (l = []).push((n = "SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)", a = t, i = p, (o = (r = v(c, "Exception")).data).baseType = "ExceptionData", o.baseData.exceptions = [{ typeName: "SDKLoadFailed", message: n.replace(/\./g, "-"), hasFullStack: !1, stack: n + "\nSnippet failed to load [" + a + "] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: " + (S && S.pathname || "_unknown_") + "\nEndpoint: " + i, parsedStack: [] }], r)), l.push(function (e, t, n, a) { var i = v(c, "Message"), r = i.data; r.baseType = "MessageData"; var o = r.baseData; return o.message = 'AI (Internal): 99 message:"' + ("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) (" + n + ")").replace(/\"/g, "") + '"', o.properties = { endpoint: a }, i }(0, 0, t, p)), function (e, t) { if (JSON) { var n = T.fetch; if (n && !y.useXhr) n(t, { method: N, body: JSON.stringify(e), mode: "cors" }); else if (XMLHttpRequest) { var a = new XMLHttpRequest; a.open(N, t), a.setRequestHeader("Content-type", "application/json"), a.send(JSON.stringify(e)) } } }(l, p)) }function i(e,t){f || setTimeout(function () { !t && m.core || a() }, 500)}var e=function(){var n=l.createElement(k);n.src=h;var e=y[w];return!e&&""!==e||"undefined"==n[w]||(n[w]=e),n.onload=i,n.onerror=a,n.onreadystatechange=function(e,t){"loaded" !== n.readyState && "complete" !== n.readyState || i(0, t)},n}();y.ld<0?l.getElementsByTagName("head")[0].appendChild(e):setTimeout(function(){l.getElementsByTagName(k)[0].parentNode.appendChild(e)},y.ld||0)}try{m.cookie = l.cookie}catch(p){ }function t(e){for(;e.length;)!function(t){m[t] = function () { var e = arguments; g || m.queue.push(function () { m[t].apply(m, e) }) }}(e.pop())}var n="track",r="TrackPage",o="TrackEvent";t([n+"Event",n+"PageView",n+"Exception",n+"Trace",n+"DependencyData",n+"Metric",n+"PageViewPerformance","start"+r,"stop"+r,"start"+o,"stop"+o,"addTelemetryInitializer","setAuthenticatedUserContext","clearAuthenticatedUserContext","flush"]),m.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4};var s=(d.extensionConfig||{ }).ApplicationInsightsAnalytics||{ };if(!0!==d[I]&&!0!==s[I]){var c="onerror";t(["_"+c]);var u=T[c];T[c]=function(e,t,n,a,i){var r=u&&u(e,t,n,a,i);return!0!==r&&m["_"+c]({message:e,url:t,lineNumber:n,columnNumber:a,error:i}),r},d.autoExceptionInstrumented=!0}return m}(y.cfg);function a(){y.onInit && y.onInit(n)}(T[t]=n).queue&&0===n.queue.length?(n.queue.push(a),n.trackPageView({ })):a()}(window,document,{
     src: "https://js.monitor.azure.com/scripts/b/ai.2.min.js", // The SDK URL Source
     
     crossOrigin: "anonymous", // When supplied this will add the provided value as the cross origin attribute on the script tag
     
     cfg: { // Application Insights Configuration
     instrumentationKey: ""
    
    }});
    {% if user %}
     appInsights.setAuthenticatedUserContext('{{user.Id}}', '{{ user.parentcustomerid.Id }}');
     {% else %}
     appInsights.clearAuthenticatedUserContext();
     {% endif %}
    
    
     
    
    </script>

     

     

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Pages

#1
Jerry-IN Profile Picture

Jerry-IN 71

#2
Fubar Profile Picture

Fubar 62 Super User 2025 Season 2

#3
sannavajjala87 Profile Picture

sannavajjala87 31

Last 30 days Overall leaderboard