Tracking Public Users or Unlicenced Users
Avoid unnecessary MTU costs by routing public-facing usage through shared instance IDs.
Why This Matters
In Forge apps -- especially those used in Jira Service Management (JSM) -- it's common to support public-facing usage. This includes interactions from unlicensed Atlassian users, such as external users submitting requests via portal pages or embedded forms.
These users may have Atlassian accounts -- but they aren't licensed users of your app.
Despite that, their actions can still trigger analytics events -- and that introduces a risk:
Each unique user ID = 1 MTU
Thousands of public users = thousands of unnecessary tracked users
This can quickly inflate your analytics costs, pollute your event data with anonymous IDs, and distract from the insights that actually matter -- those tied to your paying customers and internal users.
Recommended Pattern: Track Public User Events Under a Shared Instance ID
Public users -- including unlicensed Atlassian users accessing your app via JSM portals -- may still perform actions that matter: submitting forms, viewing pages, interacting with features. You likely do want to track that activity, because it reflects product usage and demand.
But to avoid exploding your MTU count:
- Track all public user events under a shared
userId, typically the instance'scloudId - Add a trait like
{ isPublicUser: true }to distinguish these events when needed
This lets you capture meaningful activity without treating each anonymous user as a unique tracked user.
Why This Works
| Benefit | Explanation |
|---|---|
| Reduces MTUs | Shared userId prevents thousands of tracked users |
| Maintains usage visibility | You still capture important product signals (views, submits) |
| Easy to segment | Filter by isPublicUser to isolate or exclude these events |
| Privacy-safe | No identify calls, no PII, no cookie consent issues |
By centralizing all public activity under a shared ID and tagging it clearly, you get the best of both worlds:
- Visibility into how your app is used publicly
- Control over what's included in your user-level analytics
- Savings on MTU-based pricing
Event Volume Considerations
Even with a shared user ID, most analytics platforms still meter total events.
For example:
Segment's soft rule: 250 events sent by a single user ID = 1 MTU
So 50,000 public form views on a shared ID may still count as ~200 MTUs
Best Practices
- Monitor high-traffic events (e.g. form views)
- Expect some MTU scaling with volume, even when IDs are shared
Summary
For Forge apps -- particularly those with public-facing elements like JSM apps -- tracking all anonymous usage under a shared instance ID is the best way to:
- Limit MTU blowouts
- Keep analytics focused on real users
- Maintain privacy and compliance
- Still capture meaningful product usage data