Skip to main content

Tracking public end users without exploding your analytics bill

Track all public end users under a shared account ID to reduce costs and avoid polluting your analytics.

Simon Herd avatar
Written by Simon Herd
Updated over 2 weeks ago

Overview

If your B2B SaaS product—like Loom—has public-facing elements (e.g. shared video viewers, commenters, or anonymous users), you may face a hidden challenge: analytics cost blowouts due to massive volumes of public user events.

Most analytics platforms, such as Segment, bill based on monthly tracked users (MTUs). If you send a unique user ID for every anonymous viewer, your MTUs—and your bill—can skyrocket.

Here’s how to track public end user activity while keeping costs and complexity under control.


Real-World Example: Loom

In Loom:

  • Paying customers are organizations (accounts), who invite internal users (admins, members).

  • Public users—anyone with a video link—can:

    • Watch videos

    • Comment

    • React or reply

These public users aren’t tied to a CRM record, aren’t targeted for onboarding or upsell, and don’t need to be tracked individually. But their actions may still emit analytics events.


The Problem: Public Usage Can Overwhelm MTU-Based Billing

If you emit a unique user ID for each public visitor, it will:

  • Inflate your monthly tracked user count

  • Pollute your analytics tools with thousands of anonymous IDs

  • Skyrocket costs across Segment, Amplitude, Mixpanel, etc.

  • Create friction when trying to segment or search through real users


Recommended Solution: Reuse the Account ID as the User ID

To avoid this:

Track all public end users under a single user ID, ideally the account (group) ID associated with the content they’re interacting with.

How It Works

  • For logged-out or public-facing users:

    • Set the user ID in your track() call to the account ID (or shared group ID).

    • Do not emit identify() calls or send user traits.

    • Optionally add a flag (e.g. "is_public_user": true) for clarity.

Benefits

  • Only one MTU counted per public-facing account

  • No clutter in user tracking systems or CRM tools

  • Maintains visibility into public usage patterns (views, reactions)

  • Keeps costs predictable—even at high scale


Caveat: Event Volume Billing Thresholds

Analytics platforms may have event-based backstops to prevent abuse. For example:

  • Segment historically used a 1,000-event threshold—if a single user ID sends 10,000 events, it may count as 10 MTUs.

  • This protects platforms from underbilling when one ID carries massive load.

What To Watch

  • Track event volume per ID (especially viral content)

  • Use batching or sampling where applicable

  • Budget for a small bump in MTU counts in extreme cases


When This Pattern Is Appropriate

Use this approach when:

  • You don’t engage with public users directly (e.g. via email, CRM, sales)

  • They aren’t part of your core B2B product experience

  • You only need aggregated insights (e.g. total views, reactions)

🚫 Avoid this approach if:

  • You want to track or follow up with individual public users

  • You’re building growth loops or login funnels tied to these interactions


Summary

For B2B SaaS products with public-facing usage:

Track all anonymous or public users under a shared account-level ID to reduce costs, simplify analytics, and stay focused on your actual customers.

This keeps your MTU counts low, your tracking system clean, and your data model aligned with how you engage your users.

Did this answer your question?