Submit Article Requests

Do you have a suggestion for an article you would like to see created?
Feel free to submit this form and add your suggestions to our document board.

Please fill out the contact form below and we will reply as soon as possible.

  • Integration Hub
  • Contact Us
  • Docs home
  • Installation & Developers
  • Installing Appcues on Web

Exclude a subset of users from your Appcues installation

Methods to exclude a subset of users from your installation and reduce your MAU count

Updated at January 26th, 2026

Submit Article Requests

Do you have a suggestion for an article you would like to see created?
Feel free to submit this form and add your suggestions to our document board.

Please fill out the contact form with the details about the help content you'd like to see.

  • Home

  • Getting Started

    • Installation & Developers

      • Web Experiences

        • Mobile Experiences

          • Workflows

            • Analytics & Data

              • Account Management

                • Integrations

                  Table of Contents

                  What counts as a Monthly Active User (MAU)? Option 1: Do not call identify for excluded users Option 2: Skip identify in non-production environments Recommended best practices

                  There are some cases where you may want certain users not to count toward your Monthly Active Users (MAU) usage. Common examples include:

                  • Internal team members using your product
                  • Test accounts and QA sessions
                  • Staging or sandbox environments
                  • Automated or bot traffic

                  You can control this by excluding specific users from your identify call in your Appcues installation.

                  What counts as a Monthly Active User (MAU)?

                  A MAU is typically defined as a unique user ID that:

                  • Is identified via an identify call, and
                  • Is active (ie logs in) within the billing period.

                  If a user never appears in your identify calls they will not count toward your MAU number.

                  Option 1: Do not call identify for excluded users

                  The most reliable way to ensure a user never counts toward MAU is to skip the identify call completely for that user.

                  You can do this by adding a simple condition around your identify logic.

                  Example: Exclude internal team members by email domain

                  function shouldIdentifyUser(user) {
                  	const email = user.email || "";
                  	const isInternal =
                  		email.endsWith("@yourcompany.com") ||
                  		email.endsWith("@contractor-company.com");
                  
                  	// Skip identify for internal/QA emails
                  	return !isInternal;
                  }
                  
                  if (shouldIdentifyUser(currentUser)) {
                  	appcues.identify(currentUser.id, {
                  		email: currentUser.email,
                  		name: currentUser.name,
                  		plan: currentUser.plan,
                  	});
                  }
                  

                  In this example:

                  • Users with @[yourcompany.com](<http://yourcompany.com>) or @[contractor-company.com](<http://contractor-company.com>) emails are not identified.
                  • Since they are never identified, they will not count as MAU.

                  Example: Exclude users based on role or feature flag

                  const user = window.currentUser;
                  
                  const isNonBillableRole = ["internal", "qa", "demo"].includes(user.role);
                  const isExcludedByFlag = user.features?.excludeFromMAU === true;
                  
                  if (!isNonBillableRole && !isExcludedByFlag) {
                  	appcues.identify(user.id, {
                  		email: user.email,
                  		role: user.role,
                  		account_id: user.accountId,
                  	});
                  }
                  

                  Only users whose role is not internal, qa, or demo, and who do not have an excludeFromMAU flag set, will be identified.

                  Option 2: Skip identify in non-production environments

                  If you run Appcues in multiple environments, you can use environment checks to avoid identifying users outside production.

                  Example: Only identify users in production

                  const isProduction =
                  	window.location.hostname === "app.yourproduct.com" ||
                  	window.location.hostname === "www.yourproduct.com";
                  
                  if (isProduction) {
                  	appcues.identify(currentUser.id, {
                  		email: currentUser.email,
                  		name: currentUser.name,
                  	});
                  } else {
                  	// Staging/local – do not identify users
                  	console.debug("Skipping identify in non-production environment");
                  }
                  

                  You can also use:

                  • Environment variables (e.g., process.env.NODE_ENV === "production")
                  • Custom config flags (e.g., [window.APP](<http://window.APP>)_ENV)

                  This ensures staging and local testing traffic never appears in MAU calculations.

                  Recommended best practices

                  To keep MAU usage clean and predictable:

                  • Define a clear policy for who should count as a MAU

                  For example: paying customers and trial users, but not internal staff, QA, or demo accounts.

                  • Implement a single shared resource

                  Wrap your identify logic in one reusable function so every part of your app uses the same exclusion rules.

                  • Exclude at the earliest point possible

                  Prefer skipping identify entirely for users who should never be billable.

                  • Keep your exclusion rules versioned and documented

                  Document which email domains, roles, or flags are considered non-billable, so other teams can safely add or remove cases.

                  exclude users from installation limit mau dont identify users

                  Was this article helpful?

                  Yes
                  No
                  Give feedback about this article

                  Related Articles

                  • Install the Appcues SDK
                  • Identify users and groups
                  • Track events in your web app
                  • Configure Content Security Policies for Appcues
                  • Set up Appcues in a single-page application
                  Appcues logo

                  Product

                  Why Appcues How it works Integrations Security Pricing What's new

                  Use cases

                  Appcues Integration Hub User Onboarding Software Feature Adoption Software NPS & Surveys Announcements Insights Mobile Adoption

                  Company

                  About
                  Careers

                  Support

                  Developer Docs Contact

                  Resources

                  The Appcues Blog Product Adoption Academy GoodUX Case studies Webinar Series Made with Appcues

                  Follow us

                  Facebook icon Twitter icon grey Linkedin icon Instagram icon
                  © 2022 Appcues. All rights reserved.
                  Security Terms of Service Privacy Policy

                  Knowledge Base Software powered by Helpjuice

                  Expand