What are Monthly, Weekly and Daily Active Users in Salesforce Applications?
Table of contents
Monthly (or Weekly/Daily) Active Users - or MAU/WAU/DAU in short - is a popular metric used to measure user engagement of software applications. It measures the number of unique users who are active in a given time period.
Calculation example
Let's consider the month of May 2024. You sold 10 user licenses to an account. If 2 of those 10 users are active in May, you have 2 MAU or 20% MAU (because 2 out of 10 is 20%). It does not matter how many times they are active during the month, as long as they are active at least once.
The same math applies to Weekly and Daily Active Users, just with a different time span. If only one user out of 10 logs into your product on Monday and again on Friday, that is one WAU. If that user logs in at 9am on Monday and again at 5pm, that is one DAU.
What constitutes active usage?
By default, ISVapp classifies a user as active whenever that user interacts in any way with a component from your managed package. There are several ways that users can interact with your package in Salesforce:
Direct interaction
This happens, when a user directly and intentionally uses something from your package. A few examples are:
The user opens a Visualforce or Lightning page
The user opens, creates, modifies or deletes a record of your packaged custom objects
Indirect interaction
There are also some interactions that happen "along the way" or even unintentionally:
A packaged trigger runs as part of a record operation
A user opens a page layout that includes one of your packaged Lightning Web Components. That will record a "view event" for that component even if the user opened that page layout in order to do something unrelated.
A scheduled Apex jobs runs in the context of an administrator or a system user
Why are there more MAUs than assigned licenses / seats?
As described above, there are several ways Salesforce tracks user interactions, and by default ISVapp considers all of them as active usage. This explains why you may see more MAUs (or WAUs/DAUs) for some accounts than they have available licenses.
To explore this further, let's consider another example: You sell an ISV application to an existing Salesforce customer who has 100 employee users in their Salesforce organization. They purchase 10 seats/licenses from you for your application, so you would naturally not expect to see more than 10 MAUs.
However, Salesforce cannot protect access from unlicensed users in every possible scenario, especially those unintended, indirect interactions we talked about earlier. Unlicensed users may interact with your product. A simple example of this is an Apex trigger: your application may come with a trigger on the (standard) Account object. This trigger will be executed no matter what, even if the user triggering the Account creation or update is not licensed for your product. We have summarized several other examples of such unintended usage in our FAQs.
Why are there always more MAUs than WAUs and DAUs?
MAUs look at the number of unique users who are active throughout the month. The time frame for WAUs and DAUs is smaller, and typically users visit your product at different times throughout the month. To illustrate this, let's look at a third example:
The typical users of your product may be regulars: they work throughout the week and log in every other day. If you have two of them, you will see 2 Weekly Active Users. In addition, there may be other users who use your product more sporadically, perhaps only once a month for reporting or only when they need to look up something specific. Let's say we have a C-level employee who always visits your application on the last Friday of the month to do some reporting. In ISVapp you will see
2 WAU, expect for the last week, where it shows 3 WAU
3 MAU, because 3 unique users have been active over the course of the month
Here is an illustration:
How can I adjust what ISVapp counts as an active user?
ISVapp can filter out usage events from your app usage that you do not want to contribute to MAUs, WAUs and DAUs. You can set this up yourself under Setup > Active Users. On a high level, it is based on the ISVapp feature management: you create a feature and include any usage event definitions that you do not want to count as active usage. Once created, you select that feature in the Active User Configuration and ISVapp will apply the specified filter on your engagement data, even historically.