User Classification and Billing Guide
1. User Classification
In Watchers Analytics (https://chatadmin.watchers.io/analytics), users are divided into two categories:
DAU/MAU Active
These are active users who have full access to chat functionality, such as sending messages, reacting, etc. Uniqueness is determined by the userId
passed by the client upon chat initialization.
DAU/MAU Read-Only
These are users who can view the chat but cannot interact with it. This mode is triggered by passing the readonly
GET parameter.
- When
readonly
is present, the client-provideduserId
is ignored. - Instead, a unique internal
userId
is generated and stored in the browser'slocalStorage
.
If the user changes devices, browsers, or clears cache, a new internal userId
is generated.
This may lead to a discrepancy between your internal metrics and Watchers Analytics.
2. Billing Model
The standard Watchers billing model is based on the number of MAU Active users each month.
Optional Add-on: Read-Only Mode
If Read-Only Mode is implemented, you are granted a quota of free MAU Read-Only users, typically 3× your MAU Active.
Any additional Read-Only users beyond that quota are billed at a reduced rate.
Note: Your integration method directly affects the number of MAU Active and MAU Read-Only users, which in turn impacts your monthly billing.
3. Integration Recommendations
Accurate user tracking and fair billing depend on when the chat is initialized:
-
Chat loaded with the page UI:
Send the chat initialization request as soon as the interface is rendered. -
Chat loaded on user action (e.g., "Open Chat" button):
Send the initialization request only after the user performs the action.
This ensures that only users who actually interact with or view the chat are counted and billed accordingly.
4. Impact of Background Loading
If the chat is initialized in the background—even if it is not visible to the user:
- A socket connection is opened.
- Backend processes are triggered: message fetching, auto-translation, caching, etc.
- These actions consume resources, even though the user may never see the chat.
Summary
To ensure accurate user tracking and avoid unnecessary costs:
- Do not initialize the chat before actual user interaction.
- Understand the difference between active and read-only users.
- Use Watchers Analytics to verify usage behavior.
Updated 1 day ago