Every app published to Plotly Cloud has an Analytics tab that shows how the app is used and how much compute it consumes. Plotly Cloud collects this data on the server as your app runs, so you don’t need to add any tracking code to your app.
To view analytics for an app, go to Dash apps, select your app, and open the Analytics tab.
<img>
Analytics is on by default for every app. The Enable analytics for this app toggle controls whether Plotly Cloud collects page views, callback interactions, and MCP tool calls for the app, so turn it off for any app where you don’t want this data collected.
Use the time range selector to show data for the last 7 days, 30 days, or 90 days. The selection applies to all metrics reported. Note that all dates and times are shown in UTC.
Plotly Cloud keeps analytics data for 90 days. Views, callback interactions, MCP tool calls, CPU, and memory are all removed once they pass that age, so the 90-day range always shows everything that’s available.
Two summary cards report totals for the selected time range:
The Views chart plots daily views against a running cumulative total, with daily views on the left axis and cumulative views on the right. Switch between All views and Unique views to change whether repeat visits by the same person are counted.
The Callback interactions chart shows how often each of your callbacks ran, which tells you which parts of the app people actually use. The five most active callbacks are shown by default.
Callbacks are identified by their outputs rather than by their function names. A callback with a single output appears as that output, such as trend-chart.figure. A callback with several outputs appears as all of them joined with +, in the order they’re declared:
scope-indicator.children + kpi-cards.children + trend-chart.figure + regional-chart.figure
Callbacks with many outputs produce long names in the legend and in tooltips, so give your components meaningful IDs if you want these to stay readable.
<img>
If your app runs as an MCP server, the MCP tool calls chart shows how often agents invoked each of its tools, grouped by tool name, with the five most-called tools shown by default. The Top MCP callers section lists the users behind those calls. Calls made to public apps and by unauthenticated clients aren’t attributed to a user, so they don’t appear there.
Apps that don’t have MCP enabled show no data in these sections. See Dash MCP on Plotly Cloud for how to turn MCP on and connect an AI client.
<img>
The CPU and Memory charts plot your app’s resource consumption against the limit for its current app size, drawn as a dashed line. CPU is measured in cores and memory in GB.
Use these charts to decide whether your app is on the right size. An app that repeatedly runs close to its memory limit is a candidate for a larger size, because an app that exceeds its memory enters the Failing state. An app that stays well below both limits may be over-provisioned, and you can move it down a size to save credits.
Because the dashed limit line reflects the app’s current size, the line moves when you change the app size, while the historical usage data stays as it was recorded.
<img>