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

# Usage Details

> Understand how MoEngage calculates your bill, then track your usage across billing metrics on the dashboard.

export const BillableMTUCalculator = () => {
  const [inputs, setInputs] = useState({
    totalMtu: 80000,
    eventBasis: 'total',
    events: 12000000,
    fup: 100
  });
  const [result, setResult] = useState({
    eventsOverFup: 0,
    billableMtu: 0,
    driver: 'mtu'
  });
  useEffect(() => {
    const {totalMtu, events, fup} = inputs;
    const safeFup = fup > 0 ? fup : 1;
    const eventsOverFup = Math.round(events / safeFup);
    const billableMtu = Math.max(totalMtu, eventsOverFup);
    const driver = eventsOverFup > totalMtu ? 'events' : 'mtu';
    setResult({
      eventsOverFup,
      billableMtu,
      driver
    });
  }, [inputs]);
  const reset = () => setInputs({
    totalMtu: 80000,
    eventBasis: 'total',
    events: 12000000,
    fup: 100
  });
  const basisLabel = inputs.eventBasis === 'custom' ? 'Custom User Actions' : 'Total Tracked Events';
  return <div style={{
    fontFamily: 'Inter, sans-serif',
    border: '1px solid #e1e8ed',
    borderRadius: '12px',
    background: '#fff',
    maxWidth: '950px',
    margin: '20px auto',
    overflow: 'hidden'
  }}>
      <div style={{
    background: '#023047',
    color: 'white',
    padding: '12px 20px',
    display: 'flex',
    justifyContent: 'space-between',
    alignItems: 'center'
  }}>
        <span style={{
    fontSize: '13px',
    fontWeight: 'bold',
    textTransform: 'uppercase'
  }}>Billable MTU Calculator</span>
        <button onClick={reset} style={{
    background: 'rgba(255,255,255,0.2)',
    border: '1px solid rgba(255,255,255,0.3)',
    color: 'white',
    fontSize: '10px',
    padding: '4px 8px',
    borderRadius: '4px',
    cursor: 'pointer'
  }}>RESET</button>
      </div>

      <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    background: '#e1e8ed',
    gap: '1px'
  }}>
        <div style={{
    flex: '1.5',
    minWidth: '350px',
    background: '#fff',
    padding: '20px',
    display: 'flex',
    flexDirection: 'column',
    gap: '16px'
  }}>
          <div>
            <label style={{
    display: 'block',
    fontSize: '11px',
    fontWeight: '800',
    color: '#6a7c92',
    textTransform: 'uppercase',
    marginBottom: '6px'
  }}>
              Total MTU (Mobile + Web + TV)
            </label>
            <input type="number" min="0" value={inputs.totalMtu} onChange={e => setInputs(p => ({
    ...p,
    totalMtu: parseInt(e.target.value, 10) || 0
  }))} style={{
    width: '100%',
    padding: '10px',
    border: '1px solid #e1e8ed',
    borderRadius: '6px',
    fontSize: '15px',
    fontWeight: 'bold',
    fontFamily: 'monospace'
  }} />
          </div>

          <div>
            <label style={{
    display: 'block',
    fontSize: '11px',
    fontWeight: '800',
    color: '#6a7c92',
    textTransform: 'uppercase',
    marginBottom: '6px'
  }}>
              Event basis (per your contract)
            </label>
            <select value={inputs.eventBasis} onChange={e => setInputs(p => ({
    ...p,
    eventBasis: e.target.value
  }))} style={{
    width: '100%',
    padding: '10px',
    border: '1px solid #e1e8ed',
    borderRadius: '6px',
    fontSize: '13px'
  }}>
              <option value="custom">Custom User Actions</option>
              <option value="total">Total Tracked Events</option>
            </select>
          </div>

          <div>
            <label style={{
    display: 'block',
    fontSize: '11px',
    fontWeight: '800',
    color: '#6a7c92',
    textTransform: 'uppercase',
    marginBottom: '6px'
  }}>
              Events this month (selected basis)
            </label>
            <input type="number" min="0" value={inputs.events} onChange={e => setInputs(p => ({
    ...p,
    events: parseInt(e.target.value, 10) || 0
  }))} style={{
    width: '100%',
    padding: '10px',
    border: '1px solid #e1e8ed',
    borderRadius: '6px',
    fontSize: '15px',
    fontWeight: 'bold',
    fontFamily: 'monospace'
  }} />
          </div>

          <div>
            <label style={{
    display: 'block',
    fontSize: '11px',
    fontWeight: '800',
    color: '#6a7c92',
    textTransform: 'uppercase',
    marginBottom: '6px'
  }}>
              Contracted FUP (events per user)
            </label>
            <input type="number" min="1" value={inputs.fup} onChange={e => setInputs(p => ({
    ...p,
    fup: parseInt(e.target.value, 10) || 1
  }))} style={{
    width: '100%',
    padding: '10px',
    border: '1px solid #e1e8ed',
    borderRadius: '6px',
    fontSize: '15px',
    fontWeight: 'bold',
    fontFamily: 'monospace'
  }} />
          </div>
        </div>

        <div style={{
    flex: '1',
    minWidth: '280px',
    background: '#f8fafc',
    padding: '30px',
    display: 'flex',
    flexDirection: 'column',
    justifyContent: 'center',
    borderLeft: '1px solid #e1e8ed'
  }}>
          <div style={{
    display: 'flex',
    gap: '10px',
    marginBottom: '16px'
  }}>
            <div style={{
    flex: 1,
    background: result.driver === 'mtu' ? '#e6f7f4' : '#fff',
    border: `1px solid ${result.driver === 'mtu' ? '#2a9d8f' : '#e1e8ed'}`,
    borderRadius: '8px',
    padding: '12px'
  }}>
              <div style={{
    fontSize: '10px',
    color: '#6a7c92',
    textTransform: 'uppercase',
    marginBottom: '4px'
  }}>Total MTU</div>
              <div style={{
    fontSize: '18px',
    fontWeight: '800',
    fontFamily: 'monospace',
    color: '#023047'
  }}>{inputs.totalMtu.toLocaleString()}</div>
            </div>
            <div style={{
    flex: 1,
    background: result.driver === 'events' ? '#e6f7f4' : '#fff',
    border: `1px solid ${result.driver === 'events' ? '#2a9d8f' : '#e1e8ed'}`,
    borderRadius: '8px',
    padding: '12px'
  }}>
              <div style={{
    fontSize: '10px',
    color: '#6a7c92',
    textTransform: 'uppercase',
    marginBottom: '4px'
  }}>Events ÷ FUP</div>
              <div style={{
    fontSize: '18px',
    fontWeight: '800',
    fontFamily: 'monospace',
    color: '#023047'
  }}>{result.eventsOverFup.toLocaleString()}</div>
            </div>
          </div>

          <div style={{
    background: '#fff',
    border: '1px solid #e1e8ed',
    borderRadius: '8px',
    padding: '16px',
    borderLeft: '4px solid #023047'
  }}>
            <div style={{
    fontSize: '11px',
    fontWeight: 'bold',
    color: '#6a7c92',
    textTransform: 'uppercase',
    marginBottom: '6px'
  }}>Billable MTU</div>
            <div style={{
    fontSize: '26px',
    fontWeight: '800',
    fontFamily: 'monospace',
    color: '#023047',
    marginBottom: '10px'
  }}>{result.billableMtu.toLocaleString()}</div>
            <div style={{
    fontSize: '12px',
    color: '#475569',
    lineHeight: '1.5'
  }}>
              {result.driver === 'events' ? `Driven by ${basisLabel} ÷ FUP. Your event volume is above your FUP allowance.` : 'Driven by Total MTU. Your event volume is within your FUP allowance.'}
            </div>
          </div>
        </div>
      </div>
    </div>;
};

## MoEngage Billing Workflow

Your monthly invoice has two parts:

```text theme={null}
Platform pricing + Add-ons = Net invoice
```

**Platform pricing** is based on one or both models set in your contract:

* **Billable MTUs**: driven by your Monthly Tracked Users, Events, and Fair Usage Policy (FUP). For more information, refer to [Platform Pricing](#platform-pricing).
* **Profile-based**: a flat rate based on the number of user profiles in your account, simpler, and only applies if your contract specifies this model.

<Info>
  Add-ons are billed separately from platform pricing, and you're only billed for the ones you use. For more information, refer to [Add-Ons](#add-ons).
</Info>

## Platform Pricing

For more information, refer to [Manage Subscription](/docs/user-guide/settings/account/billing/manage-subscription) to see which model applies to your account.

<Tabs>
  <Tab title="Billable MTUs">
    If your contract is on the Billable MTU model, your platform fee is based on your **Billable MTU**:

    ```text theme={null}
    Billable MTU = max(Total MTU, Events ÷ FUP)
    ```

    Billable MTU takes whichever is higher: your Total MTU, or your Events divided by your Fair Usage Policy (FUP) allowance. If you already know the formula and want to troubleshoot a specific change, refer to [Diagnosing a bill increase](#bill-increase-diagnosis).

    ### Events

    Every user action, tracked or auto-generated, feeds into MTU:

    * **Custom user actions**: events you send through your app, website, server-to-server integration, or other integrations (for example, "Added to Cart"). For more information, refer to [A Complete Guide to Event Tracking](/docs/user-guide/data/event-data/a-complete-guide-to-event-tracking).
    * **System-generated events**: events MoEngage tracks automatically (for example, "App/Site Opened"). For more information, refer to [Derived Events and Attributes](/docs/user-guide/data/event-data/derived-events-and-attributes).

    <Warning>
      Your contract defines whether "Events" here means Custom User Actions or Total Tracked Events. For more information, refer to [Organization Details](/docs/user-guide/settings/account/billing/organization-details).
    </Warning>

    ### Total MTU

    ```text theme={null}
    Total MTU = Mobile MTU + Web MTU + TV MTU
    ```

    MTU counts every unique user profile that performs at least one event in the calendar month, including anonymous profiles and background or system-triggered events, not only users who opened your app. A user active on more than one platform is counted separately on each.

    <Note>
      Total MTU is a distinct metric from MAU (Monthly Active Users). MAU is a separate dashboard metric that counts users who have at least one App/Site Opened event in the month, and it isn't part of the billing formula. Total MTU is always equal to or higher than Total MAU, since MTU also counts anonymous profiles and background events.
    </Note>

    | MTU metric           | What it counts                                                                          |
    | -------------------- | --------------------------------------------------------------------------------------- |
    | Mobile Tracked Users | Unique user profiles that performed at least one event on your mobile app in the month. |
    | Web Tracked Users    | Unique user profiles that performed at least one event on your website in the month.    |
    | TV Tracked Users     | Unique user profiles that performed at least one event on your TV app in the month.     |
    | Total MTU            | The sum of Mobile, Web, and TV Tracked Users.                                           |

    **Example**: 10,000 mobile-only users + 4,000 web-only users + 1,000 users active on both (counted once per platform, contributing 2,000) = 16,000 Total MTU.

    ### FUP

    Fair Usage Policy (FUP) is the average number of events allowed per user per month, set in your contract (typically 50–500 events per user). If your event volume pushes past this allowance, your billable MTU is recalculated upward, and you start paying based on event volume, not only on user count. To find your FUP, refer to [Organization Details](/docs/user-guide/settings/account/billing/organization-details).

    #### Worked Example: Calculating Billable MTU

    Say your account has a Total MTU of 80,000, your contract sets FUP at 100 events per user, and your contract's event basis is Total Tracked Events. You record 12,000,000 Total Tracked Events this month.

    | Line item                       | Value                              |
    | ------------------------------- | ---------------------------------- |
    | Total MTU                       | 80,000                             |
    | Total Tracked Events this month | 12,000,000                         |
    | Contracted FUP                  | 100 events/user                    |
    | Events ÷ FUP                    | 12,000,000 ÷ 100 = 120,000         |
    | **Billable MTU**                | **max(80,000, 120,000) = 120,000** |

    Events ÷ FUP (120,000) is higher than Total MTU (80,000), so you're billed on 120,000, since event volume outpaced your FUP allowance.

    #### Try It: Billable MTU Calculator

    Enter your own numbers to see which side of the formula determines your bill.

    <BillableMTUCalculator />

    ### Bill Increase Diagnosis

    | Observation                               | Likely cause                                                                                                                                                                 |
    | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Total MTU grew proportionally             | Expected, more tracked users means more cost.                                                                                                                                |
    | Total MTU flat, but Billable MTU jumped   | Check average events per user, you likely crossed your FUP threshold.                                                                                                        |
    | Messaging or channel costs rose, MTU flat | This is a channel-usage change, not a user-count change. Check add-on usage (Email, SMS, WhatsApp, Push, RCS, Cards, Landing Pages, Data Exports) under [Add-Ons](#add-ons). |
  </Tab>

  <Tab title="Profile-Based">
    If your contract specifies profile-based pricing, your platform fee is a flat rate based on the number of user profiles in your account each month. MTU, Events, and FUP don't factor into your billing under this model.

    | Term                | Description                                                                                                  |
    | ------------------- | ------------------------------------------------------------------------------------------------------------ |
    | All Profiles        | The total number of unique user profiles (both identified and anonymous) in your workspace.                  |
    | Identified Profiles | The subset of All Profiles with an identifier, such as an email, mobile number, or unique ID.                |
    | Billing basis       | Billed per profile tier, based on either All Profiles or Identified Profiles depending on your subscription. |

    Add-ons (messaging channels, RCS, Cards, Data Exports) are billed the same way regardless of which platform pricing model you're on. For more information, refer to [Add-Ons](#add-ons).

    Profile-based billing keeps things simple, no MTU, Events, or FUP calculation is involved, and the profile count each month is the only variable. Add-ons (messaging, RCS, Data Exports) are added on top, the same as under the MTU model.
  </Tab>
</Tabs>

## Add-Ons

These are billed on top of platform pricing when the corresponding add-on is enabled on your plan. Add-on rates vary by contract.

<AccordionGroup>
  <Accordion title="Messaging channels">
    | Metric                 | Description                                                                                                                                                          |
    | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Emails Sent            | Number of email messages sent to your users, across all campaigns and flows.                                                                                         |
    | SMS Sent               | Number of SMS messages sent to your users, across all campaigns and flows. Billed in segments, a message over 160 characters splits into multiple billable segments. |
    | WhatsApp Messages Sent | Number of WhatsApp messages sent to your users, across all campaigns and flows.                                                                                      |
  </Accordion>

  <Accordion title="Inform">
    Inform is MoEngage's transactional messaging infrastructure. You're billed only for channels you use, based on the number of messages sent.

    | Metric                   | Description                                                                                              |
    | ------------------------ | -------------------------------------------------------------------------------------------------------- |
    | Total Inform Messages    | The combined total of all messages sent across all channels (Push, Email, SMS, and WhatsApp) via Inform. |
    | Inform Push Messages     | The number of push notifications sent to your users via Inform.                                          |
    | Inform Email Messages    | The number of email messages sent to your users via Inform.                                              |
    | Inform SMS Messages      | The number of SMS messages sent to your users via Inform.                                                |
    | Inform WhatsApp Messages | The number of WhatsApp messages sent to your users via Inform.                                           |
  </Accordion>

  <Accordion title="Additional channels">
    Available if RCS, Cards, or Landing Pages are enabled on your plan.

    | Metric             | Description                                        |
    | ------------------ | -------------------------------------------------- |
    | RCS Sent           | RCS messages sent to your users.                   |
    | Cards Sent         | Cards sent across campaigns and flows.             |
    | Landing Page Views | Total non-unique impressions across landing pages. |
  </Accordion>

  <Accordion title="Data Exports">
    Automated data exports to your data warehouse, partner tool, or API destination. Billed based on the volume of data exported monthly if not already covered by your plan.
  </Accordion>

  <Accordion title="Open Analytics">
    Available if you run queries through MoEngage's open analytics or data warehouse querying capability.

    | Metric               | Description                                                                      |
    | -------------------- | -------------------------------------------------------------------------------- |
    | Open Analytics Usage | The total volume of monthly data scanned to execute your open analytics queries. |
  </Accordion>
</AccordionGroup>

## View Usage

To access the Usage page, on the left navigation menu in the MoEngage dashboard, click **Settings** > **Account** > **Billing**, then select the **Usage** tab.

### Access Permissions

The following table describes the permissions required to access and use the Usage page:

| Permission component | Permission name        | Details                                                                                                                                                                                                                                                                                                   |
| -------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Usage and Billing    | View Usage             | Grants read-only access to the Usage page. You can change filters, select a date range, and view billing charts and trends. You see a workspace only if it's attached to the same billing account as your current workspace, and you have *Usage and Billing > View Usage* permission for that workspace. |
| Usage and Billing    | Manage account details | Allows you to switch between workspace and account views in the usage filter. When enabled, the **Account** option appears in the filter drop-down. At the account level, all metrics are displayed as the sum across all workspaces.                                                                     |
| Usage and Billing    | Download               | Allows you to download charts and tables directly from the MoEngage dashboard.                                                                                                                                                                                                                            |
| Alert Manager        | Manage alerts          | Allows you to create or edit alerts on any billing metric. For more information, refer to [Access Roles](/docs/user-guide/settings/account/team-management/access-roles).                                                                                                                                      |

## Analyse Trend

The **Usage Trends** section lets you visualize data patterns for different metrics, organized under categories such as Data and Engage.

<Frame>
  <img src="https://mintcdn.com/moengage/gkRVQO6GSpnDaGjC/images/analyze-your-usage-trends-1.gif?s=ea7ccaa9e800a132c9de144ac67a0cb2" alt="The Usage Trends section with workspace, date range, and metric category filters" width="3172" height="858" data-path="images/analyze-your-usage-trends-1.gif" />
</Frame>

<Steps>
  <Step title="Filter your data">
    Select the data to analyze using the filters at the top of the page:

    * **Select workspaces/account**: Use the filter drop-down to choose the scope of data to view.
      * **Workspaces**: Choose one or more workspaces to include in the analysis. By default, your current workspace is selected. You only see workspaces mapped to the same billing account as your current workspace, and for which you have the necessary permissions (see [Access Permissions](#access-permissions) above).
      * **Account**: View all metrics aggregated as the sum across all workspaces in your account. This option requires the *Manage account details* permission.
    * **Select date range**: Define the time period. Choose **This month**, **Last month**, or a **Custom range** (up to the last 12 months). The selected date range also applies to the chart and table view.

    <Info>
      - By default, the page shows data for the current calendar month.
      - Usage data is available from October 2025 onward.
      - All metrics are tracked based on your workspace's configured timezone.
    </Info>
  </Step>

  <Step title="View and interpret the trends">
    Use the controls to customize your chart or table view:

    * **Metric selection**: Select a relevant category, such as **Data**, **Engage**, **Events**, or **MTUs**.
    * **Granularity**: View data aggregated **Monthly** or **Quarterly**.
    * **Chart and table view**: Switch between a line chart for quick visual analysis and a table for exact numbers.

    For example, to see the trend of custom events you tracked over the last 3 months:

    1. In the **Data** section, select the metric you want to view from the category drop-down list. The **Events** category is selected by default.
    2. Set the granularity to **Monthly** or **Quarterly**. **Monthly** is selected by default.
    3. Select the chart or table icons to switch between a visual graph and a detailed data table. **Chart** view is selected by default.

    <Frame>
      <img src="https://mintcdn.com/moengage/LmD9Juq-ozRwtmj7/images/step-2-usage-trends-(1)-1.gif?s=44a976bdedaadb87e9aaa675770be7a5" alt="A usage trends chart toggled between chart and table view for the Events category" width="3600" height="728" data-path="images/step-2-usage-trends-(1)-1.gif" />
    </Frame>
  </Step>

  <Step title="Export and download your data">
    You can export data for reporting and record-keeping in two ways:

    * **Download the metrics list**: Click **Download** on the metrics list to download a full usage report.
          <Frame>
            <img src="https://mintcdn.com/moengage/6SJDnfU38lmupHr4/images/download-metrics.png?fit=max&auto=format&n=6SJDnfU38lmupHr4&q=85&s=f3ad1b805d9b665f18b50dc5d8fc672b" alt="The Download button on the usage metrics list" width="3360" height="1624" data-path="images/download-metrics.png" />
          </Frame>
    * **Export trends data**:
      * In the chart view, click **Export Chart** to download the graph as a PNG file.
      * In the table view, click **Download Table** to download the raw data as a CSV file.
          <Frame>
            <img src="https://mintcdn.com/moengage/6SJDnfU38lmupHr4/images/download-csv.png?fit=max&auto=format&n=6SJDnfU38lmupHr4&q=85&s=a636ce4e579b858d1f24c1c02c36af49" alt="The Export Chart and Download Table options in the usage trends view" width="3032" height="614" data-path="images/download-csv.png" />
          </Frame>
  </Step>
</Steps>

## Create Alerts

Stay ahead of your usage with custom alerts that notify you as soon as a metric crosses a limit you define. This gives you time to adjust campaigns, throttle activity, or plan an upgrade well before charges are incurred.

To create an alert:

<Steps>
  <Step title="Open Alert Management">
    Click **+ Manage Alert** in the upper-right corner.

    <Frame>
      <img src="https://mintcdn.com/moengage/MioPW1Ob_6cMkZzP/images/manage-alerts.png?fit=max&auto=format&n=MioPW1Ob_6cMkZzP&q=85&s=fbf7afe06c71d72e38ba48e26f1ee1d8" alt="The Manage Alert button in the upper-right corner of the Usage page" width="3360" height="1618" data-path="images/manage-alerts.png" />
    </Frame>

    The **Alert management** page appears.
  </Step>

  <Step title="Start a new alert">
    Click **+ Create alerts** in the upper-right corner. The **Create alert** page appears.
  </Step>

  <Step title="Enter the general details">
    On the **Create Alert** page, enter the general details:

    * **Alert name**: Enter a unique name for your alert.
    * **Create Alerts On**: Campaign Stats is selected by default. To monitor usage and billing metrics, select **Billing**.
    * **Send Alert On**: Select your primary notification channel (for example, Email).
    * (Optional) Click **+ Add alert destination** to configure Slack, MS Teams, or Webhooks as an alert destination. For more information, refer to [Alert Destinations](/docs/user-guide/settings/reports-and-alerts/alert-management/getting-started/create-an-alert#alert-destinations).
  </Step>

  <Step title="Define the alert condition">
    * In the **Send alerts when** list, select the metric to monitor (for example, Total Tracked Events, Total Monthly Active Users, Web Active Users).
    * Set the threshold logic (for example, **Is greater than**) and enter the numerical limit.
  </Step>

  <Step title="Add recipients">
    In the **Members** section, select the team members who should receive notifications. You can add any registered MoEngage UI user to the alert.
  </Step>

  <Step title="Save the alert">
    Click **Create**. For more information, refer to [Alert Management](/docs/user-guide/settings/reports-and-alerts/alert-management/getting-started/overview-alert-management).
  </Step>
</Steps>

### Alert Evaluation Logic

MoEngage evaluates alerts daily and scans usage data accumulated up to the evaluation time against your set limits. You receive a notification as soon as the daily scan identifies that your usage exceeds a defined threshold.

<Info>
  * You can edit and delete alerts. For more information, refer to [Managing Alerts](/docs/user-guide/settings/reports-and-alerts/alert-management/manage-alerts/managing-alerts).
  * MoEngage offers role-based permissions to create alerts. For more information, refer to [Access Roles](/docs/user-guide/settings/account/team-management/access-roles).
</Info>

## FAQs

<Accordion title="Why don't my Email or SMS dashboard numbers match my bill?">
  The email volumes shown in your workspace dashboard reflect sends from that specific workspace only. Billing for email is calculated at the account level across all workspaces that use the same MoEngage Sender. If the same Sender (for example, a shared "from" email address or domain, or Sendgrid Subuser) is configured across multiple workspaces, the total sends from all those workspaces are aggregated for billing purposes. This means your billed email volume may be higher than what any single workspace dashboard shows. For the complete billing information, refer to the Usage page and select all relevant workspaces.

  SMS billing discrepancies typically arise for two reasons:

  * **Shared shortcodes across workspaces**: Similar to email, if the same shortcode is configured across multiple workspaces, billing is aggregated at the account level. Your workspace dashboard only shows sends from that workspace, while invoicing reflects the combined total.
  * **SMS segments vs. messages**: The MoEngage dashboard shows SMS Sent as the number of individual messages sent. Billing is based on SMS segments, the number of individual transmission units a message is broken into. A single message that exceeds the standard GSM character limit (160 characters for plain text) is split into multiple segments, each billed separately. For example, a 320-character message counts as 2 billable segments even though it appears as 1 message in the dashboard. To reconcile the difference, review your message length distribution and check if shared shortcodes are active across multiple workspaces. Contact your CSM for a detailed segment-level billing report.
</Accordion>

<Accordion title="Why is there a discrepancy in event count between the Billing Usage page and the Data Management page?">
  The Billing Usage page reflects all data processed within the month, including historical backfills through file or data warehouse imports and data that arrives late due to delays. The Data Management page shows a daily snapshot and doesn't retroactively update historical graphs for events added after the original date passes. Your bill reflects the total volume of data ingested, while Data Management shows only what MoEngage captured at that time.
</Accordion>

<Accordion title="Why is there a difference between the data in Billing and Key Metrics?">
  Key Metrics shows Monthly Active Users (MAU) as a rolling count for the last 30 days. Billing MTU is calculated on the actual calendar month, which varies between 28, 29, 30, or 31 days depending on the month or leap year. This difference in calculation windows means the two numbers rarely match exactly.
</Accordion>

<Accordion title="Why is there a difference between the data in Billing and Segmentation?">
  MoEngage calculates billing MTU on the first day of every month as a fixed snapshot. Segmentation queries run against live data, so the two can drift apart afterward:

  * If a user merge happens after the billing calculation, re-running a segmentation query can show a decrease in user count.
  * If events reach MoEngage's servers with a delay, re-running a segmentation query after the delay can show an increase in user count.
</Accordion>
