> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Usage & billing

> OneSignal billing overview covering invoices, payment methods, plan changes, usage metrics, and cost management for all plan types.

<Note>
  For plan features and pricing tiers, see the public [Pricing page](https://onesignal.com/pricing).
</Note>

This guide explains:

* How to complete common billing tasks
* What affects your invoice amount
* How usage is calculated
* How to manage or reduce costs
* How billing relates to Apps and Organizations

***

## Free plan MAU limit

The OneSignal Free plan is changing. We're bringing deeper lifecycle messaging to our entry plan, with new AI and personalization features, and removal of paid-plan gates for many existing capabilities. Customers on the Growth plan also get access to use more Journeys and Data Tags at no additional charge.

As part of this change, we're introducing a limit to the Free plan's allowed MAU that affects mobile push and in-app messaging. On the Free plan, you must have fewer than **1,000 monthly active users (MAU)** to send mobile push and in-app messages.

These changes take effect for **new customers on September 1, 2026** and **existing customers on October 1, 2026**.

### What happens if you exceed 1,000 MAU

If you have not upgraded and have more than 1,000 MAU when the limit takes effect (October 1, 2026 for existing customers, September 1, 2026 for new customers):

* Mobile push and in-app messages stop sending until you upgrade.
* Other channels continue to work, including web push notifications, email, and SMS, within the same plan limits as before. See the [Pricing page](https://onesignal.com/pricing) for details.
* Any Journeys that use push notification or in-app message steps skip sending to mobile Subscriptions.

If you delete mobile Subscriptions that have been active in the past 30 days (MAU), your plan can re-enable 30 days after deletion, as long as you stay under the 1,000 MAU count during that 30-day timeframe.

For answers to common questions about the limit, how MAU is counted, and how to upgrade, see the [FAQ](#faq).

***

## Common billing tasks

View your Organization's Billing and Usage within **Organizations > Billing**.

<Note>
  You must be an Organization Admin to view the billing page. See [Manage Team Members](./manage-team-members) and ask an Org Admin to add you as a Billing Contact. You can also view App-level usage in **Settings > Usage**.
</Note>

<Frame caption="The OneSignal Organization Billing page">
  <img src="https://mintcdn.com/onesignal/Xug-W0v3SkvUflsM/images/dashboard/org-billing-page.png?fit=max&auto=format&n=Xug-W0v3SkvUflsM&q=85&s=89c6947fff39c8afc5b3e14552a0e302" alt="OneSignal Organization Billing page showing invoices, payment method, and usage" width="2294" height="1280" data-path="images/dashboard/org-billing-page.png" />
</Frame>

### Download an invoice

**Self-serve (Growth & legacy plans)**

1. Go to **Organizations > Billing**.
2. Under **Invoices**, select the invoice.
3. Click **Download**.

<Check>
  The invoice downloads immediately as a PDF.
</Check>

**Professional & Enterprise (contract plans)**

Email `ar@onesignal.com` with:

* Full company name
* Billing email (if available)
* Organization ID (found in **Organizations > Keys & IDs**)

***

### Update your payment method

**Self-serve (Growth & legacy plans)**

1. Go to **Organizations > Billing**.
2. Next to **Payment Method**, click **Update**.
3. Enter your updated payment details and **Save**.

<Check>
  Your updated payment method appears immediately in the billing page.
</Check>

**Professional & Enterprise (contract plans)**

1. Open the secure billing portal from your **Billing Welcome Email**.
2. Enter your updated payment details.
3. Save changes.

If you cannot find the billing portal link, email `ar@onesignal.com` with:

* Full company name
* Billing email (if available)
* Organization ID (found in **Organizations > Keys & IDs**)

***

### Change billing information

**Self-serve (Growth & legacy plans)**

1. Go to **Organizations > Billing**.
2. Next to **Billing Profile**, click **Edit**.
3. Enter your updated billing information and **Save**.

<Check>
  Your updated billing information appears immediately in the billing page.
</Check>

**Professional & Enterprise (contract plans)**

1. Open the secure billing portal from your **Billing Welcome Email**.
2. Enter your updated billing information.
3. Save changes.

If you cannot find the billing portal link, email `ar@onesignal.com` with:

* Full company name
* Billing email (if available)
* Organization ID (found in **Organizations > Keys & IDs**)

***

### Upgrade your plan

**Self-serve (Growth):** Log in to your OneSignal dashboard and go to **Organizations > Billing** to upgrade to the Growth plan.

If you have over 50,000 MAU, or if you'd like to explore the benefits of our annual plans, [contact our Sales team](https://onesignal.com/contact) and someone from the OneSignal team will reach out to you shortly.

***

### Downgrade to Free

**Self-serve (Growth & legacy plans)**

1. Go to **Organizations > Billing**.
2. Select **Change Plan**.
3. Click the **Free** plan.
4. Confirm the downgrade.

<Warning>
  You will continue on the same plan until the end of your current billing cycle.

  Paid features are removed at the end of your current billing cycle.

  If you are on a legacy plan (for example, Starter or the monthly Professional plan), changing plans is one-way. You cannot return to legacy pricing once you leave it.
</Warning>

**Professional & Enterprise (contract plans)**

Contract plans must follow agreement terms. Contact your Account Manager or `ar@onesignal.com` to discuss changes.

***

### Reactivate a suspended account

Self-serve accounts are disabled after **three failed payment attempts**.

To reactivate:

1. Pay any outstanding invoices.
2. Allow up to one business day for reactivation.

If your account is not restored, email `support@onesignal.com` with:

* Full company name
* Billing email (if available)
* Organization ID (found in **Organizations > Keys & IDs**)

***

## What affects your invoice amount?

Your invoice is based on one or more of the following:

* Active **Mobile Monthly Active Users (MAU)**
* Active **Web Push Subscribers**
* **Email sends**
* **Event Streams volume**
* **Custom Event storage**

In-App messaging is included with mobile push at no additional cost on current plans. Some legacy plans charge separately for in-app message impressions. See [In-App impressions (legacy)](#in-app-impressions-legacy-plans-only) below.

To confirm your pricing model, go to **Organizations > Billing**.

You will see either:

* **Mobile MAU + Web Push Subscribers** (current pricing model)
* **Push Subscribers** (legacy plans only)

***

## How billing is calculated

### Monthly Active Users (MAU)

A billing metric. MAU is the count of Mobile [Subscriptions](./subscriptions) with at least one session during your billing cycle. It does not depend on subscription status. Only Mobile Subscriptions count toward MAU: iOS, Android, Huawei, Amazon, macOS, Windows, and Chrome Extensions.

Web Push, Email, and SMS Subscriptions do not count toward MAU.

A session is recorded when:

* Your app is opened with the OneSignal SDK active, or
* You update the `last_active` property via the API. Note that API updates count even if the person never opened the app, including during data imports.

Each Mobile Subscription counts separately. One person using your app on two devices in the same billing cycle counts as 2 MAU. Assigning an External ID links their Subscriptions to one User profile but does not change the MAU count.

Billing is calculated in **increments of 10 MAU**, rounded **down** to the nearest multiple of 10.

<Note>
  This billing metric is measured within your **billing cycle**. It is separate from the [Free plan MAU limit](#free-plan-mau-limit), which is measured over a **trailing 30-day period**.
</Note>

### Web Push Subscribers

Users who subscribed to receive web push notifications from a supported web browser.

* Each subscribed browser is a separate Subscription.
* One user subscribed on two browsers counts as **2 Subscriptions**.

Billing is calculated in **increments of 10 Subscriptions**, rounded **down** to the nearest multiple of 10.

See [Subscriptions](./subscriptions) for more details.

***

### Push Subscribers (legacy plans only)

Push Subscriber pricing includes total subscribed mobile and web push subscriptions.

To reduce subscriber count, remove users via the dashboard or API. See [Delete Users](./delete-users).

<Note>
  To migrate from Push Subscriber pricing to MAU pricing, [contact our Sales team](https://onesignal.com/contact).
</Note>

***

## Messaging usage

### Email sends

You are billed for emails that leave OneSignal, including:

* Delivered
* Bounced
* Most Failures

Exceptions:

* **Invalid ESP credentials**
* **Delivery Error**

<Note>
  Self-serve (Growth & legacy plans) are capped at 500,000 emails per month. Contact `support@onesignal.com` to lift this limit or [contact our Sales team](https://onesignal.com/contact) to discuss volume-based discounted pricing.
</Note>

***

### RCS

RCS messages are billed per message segment based on the message type:

| Type           | Audience      | Description                                                                                                                                                                                                                          |
| -------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Rich**       | US            | Text-only messages that cannot include a title. Can include actions such as replies, dials, or links, but link actions must open in a new tab. Messages longer than 160 characters are broken into segments and charged per segment. |
| **Rich Media** | US            | Messages with media, cards with titles and/or actions that open in a web view (not a new tab), and carousel content.                                                                                                                 |
| **Basic**      | International | Text messages up to 160 UTF-8 characters. Does not include any actions, media, or carousels.                                                                                                                                         |
| **Single**     | International | Text messages greater than 160 UTF-8 characters, up to the max message length of 3,072 characters. Can also include actions, media, or carousels.                                                                                    |

For more on RCS message types, see [Rich Communication Services (RCS)](./rcs-messaging#types-of-rcs-messages).

***

### In-App impressions (legacy plans only)

In-App impressions are billed only on legacy plans that charge separately for in-app messages. On current plans, in-app messaging is included with mobile push at no extra cost.

When billed, an impression counts each display of an [in-app message](./in-app-messages-setup) in mobile apps. This metric does not include push notifications or email.

***

## Event-related billing

Event billing includes both **delivery volume** and **storage volume**.

### Event Streams (delivery volume)

Includes:

* [Event Streams](./event-streams)
* Webhooks
* Integration destinations

Events delivered through integrations count toward your monthly limit.

| Plan         | Active Event Streams | Monthly Event Limit |
| ------------ | -------------------- | ------------------- |
| Free         | 1                    | Up to 1,000 events  |
| Growth       | 3                    | Up to 10,000 events |
| Professional | Custom               | Based on volume     |
| Enterprise   | Custom               | Based on volume     |

<Info>
  Webhooks are a type of Event Stream destination. Events delivered through webhooks and integrations count toward your Event Streams monthly event limit.
</Info>

***

### Custom Events (storage volume)

<Warning>
  Custom Events storage is different from Event Streams. **Event Streams** send message data (delivery, clicks, failures) **out** of OneSignal to external destinations like webhooks and integrations. **Custom Events** are sent **into** OneSignal from your app or backend systems to power Segments, Journeys, and analytics. They have separate billing and separate plan limits.
</Warning>

[Custom Events](./custom-events) are billed based on the number of events **stored** per month. Each plan includes a monthly storage allotment; overages are charged at your contracted unit rate.

By default, all events are stored with unlimited retention. You can adjust the retention period per event type at any time.

Each plan includes:

| Plan         | Included Stored Events / Month |
| ------------ | ------------------------------ |
| Growth       | 1M                             |
| Professional | 5M                             |
| Enterprise   | 10M                            |

### How retention affects Custom Event cost

* Retention is measured per event name.
* Default retention is **unlimited**.
* Minimum retention is **30 days**.
* Billing is based on stored events at the end of the billing cycle.
* Shorter retention reduces billable stored events.

To adjust retention, go to **Data > Custom Events** in the OneSignal dashboard, then select the **Event Storage** tab. From there you can set retention per event name. Changes take effect at the next billing cycle.

<Info>
  Events received through integrations (e.g., Amplitude, Segment) also count toward your stored event total.
</Info>

***

## Analytics data retention

Dashboard reporting data (including message delivery reports, conversion metrics, and template analytics) is retained based on your plan:

| Plan         | Retention period |
| ------------ | ---------------- |
| Free         | 30 days          |
| Growth       | 90 days          |
| Professional | 1 year           |
| Enterprise   | 2 years          |

See the [Pricing page](https://onesignal.com/pricing) for more details on plan features.

***

## Message event retention

Message event data powers [segment filters](./segmentation#message-event-filters), letting you target users based on how they interacted with your messages. How far back that data is available depends on your plan:

| Plan         | Message event retention |
| ------------ | ----------------------- |
| Growth       | 30 days                 |
| Professional | 60 days                 |
| Enterprise   | 90 days                 |

The segment filter UI shows a time window of up to 90 days, but queries beyond your plan's retention period will not return results.

***

## FAQ

### How is MAU counted for the Free plan limit?

For the Free plan limit, MAU is counted over a **trailing 30-day period**. This is different from billing MAU, which is counted within your **billing cycle**. Once total MAU across all Apps in an Organization crosses 1,000, the limit is applied even if activity drops off afterward.

### Where can I find my MAU count?

Log in to OneSignal and visit the Organizations page using the navigation bar to identify your total MAU. The limit is applied at the Organization level and calculated as the sum of your MAU across all Apps in the Organization.

### How can I upgrade?

Log in to your OneSignal dashboard and navigate to **Organizations > Billing** to upgrade to Growth. If you have over 50,000 MAU, or if you'd like to explore the benefits of our annual plans, [contact our Sales team](https://onesignal.com/contact) and someone from the OneSignal team will reach out to you shortly.

### I'm right around 1,000 MAU. What if I go over for a short time?

If your MAU count crosses 1,000, you'll have 24 hours to upgrade your plan before you are unable to send push notifications and in-app messages.

### Can I delete subscribers to immediately get back under the cap?

No, not immediately. MAU is measured over a trailing 30 days, so deleting a subscriber won't lower your count until that activity ages out. If you delete the Mobile Subscriptions that put you over the limit and stay under 1,000 MAU for 30 days, your app re-enables. You cannot send mobile push or in-app messages until those 30 days have passed.

### I upgraded to retain access, but my MAU count dropped below 1,000. Can I downgrade to Free?

Yes, you can downgrade anytime. Your account continues on the paid plan for the remainder of the billing cycle. Once your billing cycle ends, you are subject to the Free plan limits again.

### What does upgrading cost, and how do I do it?

OneSignal charges based on your mobile MAU, monthly emails sent, and web push subscriber count. For current pricing and to estimate your cost, use the [Pricing page](https://onesignal.com/pricing).

For apps with over 50,000 MAU, we offer volume-based discounts if you upgrade to an annual plan. If you have above 50,000 MAU, [contact our Sales team](https://onesignal.com/contact).

### How will I know if I'm approaching the Free plan's MAU limit?

OneSignal customers on the Free plan receive updates as they approach 80%, 90%, and 100% of the 1,000 MAU limit. You can view your current MAU count by navigating to the Organizations page of your OneSignal dashboard.

### How can I manage or reduce costs?

**If you are on MAU pricing:**

* Use our [mobile SDK privacy methods](./mobile-sdk-reference#privacy) to delay SDK initialization. This prevents Mobile Subscription creation until you are ready to create a Subscription for the user.

**If you rely heavily on email:**

* Send to more targeted segments.
* Clean inactive and invalid email addresses.

**If you use Custom Events:**

* Shorten retention periods.
* Consolidate similar event names.

**If you use Event Streams:**

* Audit integrations.
* Reduce unnecessary events.

For volume discounts (for example, more than 50k MAU or 250k emails per month), [contact our Sales team](https://onesignal.com/contact).

### Are there limits on how many segments I can have?

Yes. Each plan has a maximum number of segments, and only **active** (non-paused) segments count toward this limit. Paused segments stay in your account but do not count, so you can pause segments you no longer use instead of deleting them. See [Segment limit](./segmentation#segment-limit) for details, and the [Pricing page](https://onesignal.com/pricing) for the limit on each plan.

### How is billing related to Apps and Organizations?

* You can create unlimited apps and organizations.
* Apps are not billed individually.
* Billing occurs at the **Organization level**.
* You can create multiple Organizations to:
  * Separate apps that you want to be billed for from those you do not.
  * Add apps for different brands, clients, or environments.
  * Example: a "Free" Organization for development or testing and a "Paid" Organization for production.

See [Apps & Organizations](./apps-organizations).

### When am I charged?

The **Growth plan** is billed month-to-month. **Professional** and **Enterprise** plans are billed on an annual contract and can be customized with volume-based pricing.

* **Self-serve (Growth & legacy plans)**: Monthly on the same calendar date you started.
* **Professional & Enterprise (contract plans)**: According to your contract terms.

### Can I cancel anytime?

* **Self-serve (Growth & legacy plans)**: Yes. Downgrade to Free.
* **Professional & Enterprise (contract plans)**: Contract terms apply.

### Can I pay by invoice?

**Custom Professional and Enterprise (contract plans)** can be paid by invoice. Ask your Account Manager or [contact our Sales team](https://onesignal.com/contact).

### Can someone else request invoices?

* **Self-serve (Growth & legacy plans)**: Only [Org Admins](./manage-team-members) can view and edit billing information in the Organization Billing page.
* **Professional & Enterprise (contract plans)**: Email `ar@onesignal.com` with:
  * Full company name
  * Billing email (if available)
  * Organization ID (found in **Organizations > Keys & IDs**)

### How do I add or remove billing contacts?

See [Manage Team Members](./manage-team-members) to remove team members from accessing the App and/or Organization.

To remove a billing contact, email `ar@onesignal.com` with:

* Full company name
* Billing email (if available)
* Organization ID (found in **Organizations > Keys & IDs**)

### What payment methods are accepted?

**Self-serve (Growth & legacy plans):** Visa, MasterCard, American Express, Discover, Diners Club International, JCB, and PayPal.

<Info>
  Online payments are processed by Recurly using 128-bit SSL. OneSignal does not store your card details.
</Info>

**Professional & Enterprise (contract plans):** All self-serve methods, plus wire transfer and ACH. Customers using Google Cloud can also contract OneSignal through the [Google Cloud Marketplace](https://onesignal.com/integrations/google-cloud-platform) to simplify procurement and apply committed spend.

**Currency**

OneSignal invoices in USD by default. Professional and Enterprise customers may pay in select local currencies through a global reseller network. Coverage currently includes APAC (Australia, Bangladesh, India, Korea, Thailand, Turkey, Vietnam), LATAM (Argentina, Brazil, Mexico, Uruguay), and MENA (Dubai, South Africa). [Contact our Sales team](https://onesignal.com/contact) to confirm coverage and arrange payment in your local currency.

### How long does OneSignal keep my user records?

On all paid plans, OneSignal retains your User and Subscription records until you choose to delete them. On the **Free plan**, OneSignal retains only User and Subscription records that have been active in the last 18 months. A record is considered dormant if the Subscription has not used your app or visited your site for more than 18 months, or if OneSignal has not processed any data points for the User in more than 18 months. Dormant records on the Free plan may be removed.

See the [Privacy Policy](https://onesignal.com/privacy_policy) for full data-retention details.

### How does deleting Subscriptions affect my bill?

For **web push**, billing is calculated based on number of Subscriptions, so deleting Subscriptions before the end of your billing cycle will lower your bill.

For **MAU**, deleting active Mobile Subscriptions during your billing cycle reduces your billing MAU and lowers your bill. This billing count is separate from the [Free plan MAU limit](#free-plan-mau-limit), which uses a trailing 30-day window, so deleting Subscriptions does not immediately lower your count for the cap.

Deleting Subscriptions has no impact on Email or SMS billing.

***

## Related pages

<Columns cols={2}>
  <Card title="Apps & Organizations" icon="building" href="./apps-organizations">
    Manage apps, organizations, and how billing is structured across them.
  </Card>

  <Card title="Manage Team Members" icon="users" href="./manage-team-members">
    Add or remove team members and control access to billing.
  </Card>

  <Card title="Subscriptions" icon="address-book" href="./subscriptions">
    How mobile and web push subscriptions are counted toward billing.
  </Card>

  <Card title="Pricing" icon="tag" href="https://onesignal.com/pricing">
    Compare plan features and pricing tiers.
  </Card>
</Columns>
