Reports & Analytics
Overview, conversations, agents, teams, labels, inbox, CSAT, SLA and per-module reports.
Reports & Analytics overview
Overview The Reports & Analytics area brings together the metrics of your support, sales and automation operation in one place. Use it to track conversation volume, agent and team performance, customer satisfaction (CSAT), SLA compliance and the numbers from each enabled ConversaLabs module (CRM, Payments, Sales, Follow-ups and more). Reports help answer everyday questions: how many conversations came in today? Which agent resolved the most? Where are we losing response time? Are customers satisfied? Are we hitting targets? Most reports offer a "live" panel with current numbers plus historical reports you filter by date range. Prerequisites - An active ConversaLabs account and a user with permission to view reports (usually administrators; agents may have access depending on the access role). - For CSAT reports, the satisfaction survey must be enabled on your inboxes. - For SLA reports, SLA policies must be configured (the feature may depend on plan/permission). - For per-module reports, the matching module must be enabled for the account. Step by step 1. In the left sidebar, open Reports. 2. Choose the report you want (Overview, Conversations, Agents, Teams, Labels, Inbox, CSAT, SLA and others). 3. Use the date range selector to set the period you want to analyze. 4. Apply the available filters (by agent, team, inbox or label, depending on the report). 5. Read the charts and the summary metrics at the top. 6. When you need the raw data, use the report's download/export (CSV) option. Settings & options - Date range: the period for historical reports. - Business hours: many reports let you count only working hours, which makes time-based metrics (response, resolution) fairer. - Filters: by agent, team, inbox and label, depending on the report. - Export: download data as CSV for external analysis or sharing. - Live panel: the Overview shows real-time numbers (open conversations, unattended, online agents). Use cases - Track conversation volume and trends over time. - Compare performance across agents and teams. - Measure customer satisfaction and on-time compliance (SLA). - Consolidate the numbers from each module (CRM, Payments, Sales) for meetings and targets. Tips, limits & best practices - Standardize the date range when comparing different reports so you don't compare mismatched periods. - Turn on the business hours filter when assessing response/resolution times. - CSAT and SLA metrics only make sense when the matching features are configured. - For deeper analysis, export the CSV and cross-reference it with your own spreadsheets/tools. Troubleshooting - I don't see the Reports menu: your access role may lack permission β talk to an administrator. - The numbers are all zero: check the selected date range and the applied filters. - No CSAT/SLA data: confirm the satisfaction survey and SLA policies are enabled. - A module report is missing: the module may not be enabled for the account. See also - Conversations, agents, teams, labels and inbox reports - CSAT and SLA reports - Per-module reports (CRM, Payments, Sales and more)
Conversations, agents, teams, labels and inbox reports
Overview These are the everyday operational reports. They show how much came in and was resolved and how well your operation responded, sliced by different dimensions: - Conversations: volume of incoming and resolved conversations, plus average first response and resolution times over the period. - Agents: the same metrics per agent, to compare individual performance. - Teams: the aggregated view per support team. - Labels: volume and performance sliced by the labels applied to conversations. - Inbox: the numbers per channel/inbox (for example, each WhatsApp number or the website widget). In these five reports every chart bar is clickable. Clicking one opens a side panel with the records that produced that number β the conversations and messages behind the bar. That is the bar drilldown, the shortest path from a metric to the conversation that explains it. Prerequisites - Permission to access Reports. - For the bar drilldown, the Administrator role: agents still see the charts, but they can't open the record panel. - For the teams report, have teams created and agents assigned to them. - For the labels report, use labels on conversations so there is data to slice. - For the inbox report, have at least one inbox connected. Step by step 1. Open Reports in the sidebar. 2. Select the report you want (Conversations, Agents, Teams, Labels or Inbox). 3. Set the date range in the date selector. 4. Apply the filters the report offers (for example, pick a specific agent, team, inbox or label). 5. Analyze the volume charts and the time metrics at the top. 6. Click a bar in the chart to open the drilldown panel with that bar's records. 7. Inside the panel, scroll the list and use Load more to fetch the next page of records. 8. Use the Previous bar and Next bar arrows in the panel header β or the β and β keys β to move across neighbouring bars without closing the panel. 9. Click a card to open the matching conversation in a new tab. 10. Use download/export (CSV) when you want the detailed data. Settings & options - Date range: the analyzed period. - Business hours: option to count only working hours in time calculations. - Common metrics: incoming conversations, resolved conversations, first response time, resolution time. - Slice (filter): agent, team, inbox or label, depending on the report. - CSV export: for external analysis and shared reports. The button only appears for an Administrator or for a custom role with the Export reports (or Manage reports) permission. - Bar drilldown: a side panel with the records behind the number. It shows: - in the header, the bar value, the period label and the conversation count β omitted when it would merely repeat the bar value, as in the conversations chart. For time metrics it also shows the count of messages involved, when that differs from the conversation count; - one card per record with the conversation number (#123), the status, the message direction (incoming or outgoing), that record's metric value, a content preview and links to the contact, inbox and assigned agent; - 25 records per page, with a Load more button for the following pages. - Opening a record: clicking a card opens the conversation in a new tab. When the record is a message, the conversation opens positioned on that message. Contact, inbox and agent links also open in a new tab without closing the panel. - Drilldown window: the panel only considers the intersection between the bar's period and the period selected in the filter. A bar that starts before the chosen range shows only the part inside it. - Business hours in the drilldown: with the option on, the value shown on each record is the one calculated in business hours too. Use cases - Spot volume peaks per channel and size the team accordingly. - Compare agents and recognize who resolves faster (and with quality). - Assess which topics (labels) drive the most conversations. - Measure the performance of each inbox separately. - Go from the number to the conversation: click the resolution-time spike and read exactly which conversations produced it. - Audit an outlier before challenging the team β the panel shows the contact, inbox and assignee of every record. Tips, limits & best practices - Combine Conversations (overview) with Agents to tell whether a bottleneck is volume or capacity. - Use consistent labels so the labels report stays useful β scattered labels create noise. - Turn on business hours so the team isn't penalized for conversations arriving off-hours. - Export the CSV when you need to cross-reference data or keep history outside the platform. - Empty bars don't open: only bars with records in the period respond to the click. The navigation arrows automatically skip empty bars and stop when there is no further bar with data. - The drilldown is administrators only. An agent who clicks a bar gets the notice βOnly administrators can drill down into report records.β. - The drilldown has its own per-user request limit: by default 10 per minute, a tenth of the general reports limit. Opening dozens of bars in very quick succession can hit that ceiling β the installation operator tunes it through the RATE_LIMIT_REPORTS_DRILLDOWN_API_USER_LEVEL environment variable. - Each panel page returns 25 records; anyone calling the GET /api/v2/accounts/{account_id}/reports/drilldown endpoint directly can request up to 100 per page. Troubleshooting - An agent shows no data: check whether they received/handled conversations in the period and whether they're included in the filters. - The teams report is empty: confirm there are teams created and agents assigned. - Labels don't appear: conversations in the period may have no labels applied. - Times look very high: consider turning on the business hours filter. - Clicking the bar does nothing: confirm the bar has a value above zero, that a period is set in the filter and that your role is Administrator. - The panel says βNo records found for this barβ: the records may fall outside the intersection between the bar's period and the filtered period, or they may have been deleted after the chart was generated. - The panel shows a loading error: close and reopen the bar to try again. If it persists, wait a minute (request limit) and repeat. See also - Reports & Analytics overview - CSAT and SLA reports - Per-module reports (CRM, Payments, Sales and more)
CSAT and SLA reports
Overview Two reports focus on the quality of support: - CSAT (customer satisfaction): consolidates the answers from the satisfaction survey sent at the end of conversations. It shows the customers' rating, the response rate and the trend over time, helping you understand how the people you served perceived it. - SLA (service level agreements): tracks whether the defined deadlines (for example, first response time and resolution time) are being met, highlighting cases that breached the SLA. Together they complement the volume and performance reports: beyond knowing how much and how fast, you understand at what quality and within which deadlines. Prerequisites - Permission to access Reports. - CSAT: the satisfaction survey must be enabled on inboxes so there are answers to report. - SLA: SLA policies must be configured and applied to conversations. This feature may depend on the account's plan/permission. Step by step 1. Open Reports in the sidebar. 2. Select CSAT or SLA. 3. Set the date range in the date selector. 4. Apply the available filters (for example, by agent, team or inbox). 5. For CSAT, read the consolidated rating, the response rate and the score distribution; for SLA, look at the compliance rates and the list of breached conversations. 6. Use download/export (CSV) to drill into individual answers or breach cases. Settings & options - CSAT β satisfaction survey: enabled per inbox; it's what feeds the report. - SLA β policies: define the deadlines (first response, next responses, resolution) and where they apply. - Date range and filters: by agent, team and inbox, depending on the report. - CSV export: to audit CSAT answers and investigate SLA breaches case by case. Use cases - Track customer satisfaction and act on drops in the rating. - Spot agents or teams with the best and worst scores for coaching. - Ensure compliance with contractual deadlines with customers (SLA). - Quickly find the conversations that breached the SLA and address the root cause. Tips, limits & best practices - CSAT only reflects reality if the survey is actually being sent and answered β monitor the response rate. - Configure realistic SLAs; unreachable targets create constant breaches and lose value. - Combine CSAT (perceived quality) with SLA (deadlines) for a complete picture. - Export the CSV periodically to keep history and cross-reference it with internal targets. Troubleshooting - No CSAT data: confirm the satisfaction survey is enabled on inboxes and there are resolved conversations in the period. - Low response rate: this is expected; not every customer answers. Review the send timing/channel. - SLA doesn't appear: check that SLA policies are configured and the feature is available for your account. - Too many SLA breaches: revisit the defined deadlines and the team's capacity in the period. See also - Reports & Analytics overview - Conversations, agents, teams, labels and inbox reports - Per-module reports (CRM, Payments, Sales and more)
Per-module reports (CRM, Payments, Sales and more)
Overview Beyond the core support reports, each ConversaLabs module brings its own analytics, usually inside the module's own area (and, in some cases, also consolidated in Reports). This way you track not only conversations, but the whole business cycle: pipeline, billing, targets, cadences, bookings and products. The modules with the most relevant analytics are: - CRM: deal progression through the pipeline/kanban, values and conversion per stage. - Payments: charges by status (pending, paid, overdue), revenue and subscriptions. - Sales & Gamification: targets, commissions, ranking/leaderboard and the live wall panel (TELΓO). - Follow-ups: cadence funnel, enrollments, progress and exit. - Calendar: bookings made, canceled and rescheduled. - Catalog & Commerce: products and orders generated in conversations. Prerequisites - Permission to access reports and the matching module. - The module must be enabled for the account (many are optional/per-plan or depend on a permission/feature). - In modules with owner-based isolation (for example, Sales), you'll only see the data you have access to according to your role. Step by step 1. Open the module you want in the sidebar (CRM, Payments, Sales, Follow-ups, Calendar or Catalog). 2. Find the reports/dashboards area inside the module (summary views, charts or filterable lists). 3. Set the date range and the module's own filters (for example, charge status, pipeline stage, sales rep, sequence). 4. Read the consolidated metrics and, when available, open the per-item details. 5. Export the data (when the module offers it) for external analysis. Settings & options - CRM: filters by pipeline, stage, owner and period; values and deal counts. - Payments: slices by status, gateway and period; revenue and charges/subscriptions. - Sales & Gamification: targets and target-on-target, commissions, ranking and the real-time wall panel (TELΓO). - Follow-ups: enrollment funnel, completed steps and exit reasons. - Calendar: bookings by event type and status. - Catalog & Commerce: products sent and orders registered in conversations. Use cases - Forecast revenue by tracking the CRM pipeline and the charges in Payments. - Motivate the sales team with ranking, targets and the live wall panel. - Measure how effective Follow-up cadences are at recovering opportunities. - Assess Calendar occupancy and Catalog performance in conversations. Tips, limits & best practices - Each module has its own metrics and filters β standardize the date range when comparing with the core support reports. - In Sales, remember owner-based isolation: managers and reps may see different slices. - Combine the module numbers with the conversations/agents reports to understand cause and effect (support volume Γ business result). - Export CSV when you need to consolidate data from several modules into a single report. Troubleshooting - I don't see the module: it may not be enabled for the account or your role β talk to an administrator. - The numbers don't match expectations: check the date range, filters and owner-based isolation. - No export option: not every module offers CSV; use the filters and views available on screen. - Empty data: there may be no activity in the period (charges, deals, bookings) or the filters are too narrow. See also - Reports & Analytics overview - Conversations, agents, teams, labels and inbox reports - CSAT and SLA reports
Live Overview report (real-time monitoring)
Overview The Live Overview is ConversaLabs' real-time monitoring screen. Unlike the historical reports (which you filter by a date range), it shows the state of your operation right now: how many conversations are open, how many are still unanswered, how many have no owner yet, and how many agents are available at this moment. The numbers refresh on their own every minute, with no need to reload the page. It's the ideal screen to keep open on a team wallboard or to watch during peak hours. For analyzing past periods, use the historical reports (Conversations, Agents, Teams, etc.). Prerequisites - An active ConversaLabs account and a user with permission to view Reports (typically administrators; agents may have access depending on the access role). - Agents set up on the account so the status (online/busy/offline) is meaningful. - For the heatmaps to show data, there must be conversation history in the selected period. Step by step 1. In the left sidebar, open Reports. 2. Select Overview. 3. Read the live counters at the top (conversations and agent status). 4. Scroll down to see the traffic heatmaps and the per-agent and per-team conversation tables. 5. Leave the screen open: the numbers update automatically every minute. Settings & options - Conversations (live counters): four real-time counters: - Open: total conversations with an open status. - Unattended: open conversations that have not yet received an agent reply. - Unassigned: open conversations with no agent in charge. - Pending: conversations with a pending status (awaiting action/follow-up). - Filter by team: when you have teams, a selector lets you narrow the conversation counters to a specific team (or view all of them). - Agent status: real-time count of agents that are online, busy and offline. - Conversation heatmap and Resolution heatmap: show traffic by day of week and hour, helping you spot peak times. Each heatmap has its own period selector and a CSV download button. The calculation respects your browser's time zone. - Conversations by agent (live): a table with the open/unattended/unassigned counters per agent, updated in real time. - Conversations by team (live): the same view aggregated by support team. Use cases - Staffing: see, in real time, whether there are enough agents online for the volume of open conversations. - SLA risk: watch the unattended and unassigned conversations to act before response deadlines are missed. - Backlog: quickly spot a pile-up of conversations with no owner and redistribute them. - Peak planning: use the heatmaps to find the busiest hours and adjust schedules and shifts. Tips, limits & best practices - The screen refreshes automatically every minute β no need to reload. - The live counters have no date selector: they always reflect the current state. Only the heatmap has a period selector. - Download the heatmap CSV to plan shifts and rosters based on real peak hours. - Keep this screen on a team monitor during business hours for continuous tracking. Troubleshooting - The heatmap is empty: check the period selected on the heatmap itself β there may be no conversations in the chosen range. - The numbers look stuck: the refresh happens every minute; wait for the cycle or reload the page. If the tab sat in the background for a long time, reopen the Reports screen. - An agent shows as offline: the status reflects real-time availability β the agent may be disconnected or have their status set to busy/offline. - I can't see the Reports menu: your access role may lack permission β talk to an administrator. See also - Reports & Analytics overview - Conversation, agent, team, label and inbox reports
Bot report (AI agent performance)
Overview The Bot report measures how your AI agent or support bot performs: how much it resolves on its own versus how much it has to hand off to a human agent. It is the report that answers "is my bot actually reducing the team's workload?". For the selected period, it consolidates the conversations that went through inboxes with an active bot, the total number of responses sent, the resolution rate (conversations the bot closed by itself) and the handoff rate (conversations the bot passed to a human). Use it to track the return on automation and find where the bot still falls short. Prerequisites - An active ConversaLabs account and a user with permission to view reports (usually admins; agents may have access depending on their access profile). - At least one inbox with an active bot β an AI agent (Captain) or an Agent Bot connected to the inbox. Without an active bot, the report stays at zero. - Real bot activity in the period: the rates are computed from the bot resolution and bot handoff events recorded on those conversations. Step by step 1. In the left sidebar, open Reports. 2. Select the Bot report. 3. Set the period (date range) you want to analyze. 4. Choose the grouping (by day, week, month, year), which controls how the charts are split over time. 5. Read the four summary cards at the top and, below them, the bot resolution and handoff charts. Settings & options The four cards at the top (computed for the selected period): | Card | What it shows | | --- | --- | | Total conversations | Conversations created in the period in inboxes with an active bot. This is the base for the rates. | | Total responses | Response messages sent in those conversations during the period. | | Resolution rate | Percentage of conversations the bot closed on its own (resolutions Γ· total conversations). | | Handoff rate | Percentage of conversations the bot handed off to a human (handoffs Γ· total conversations). | Below the cards, the summary and charts area shows: - Bot resolutions and bot handoffs as period totals, compared to the equivalent previous period. - Two charts over time (resolutions and handoffs), split by the chosen grouping. Filters available in this report: period and grouping. Unlike other reports, the Bot report does not show the agent/team/inbox filter or the business-hours toggle β it focuses on the bot's overall behavior. When a conversation has both a resolution and a handoff in the same period, the handoff wins: it counts as a handoff and not as a resolution, so the resolution rate is not inflated. Use cases - Measure automation ROI: track how much the bot resolves on its own and how much work it takes off the team. - Tune flows with high handoff: a high handoff rate shows where the bot can't cope β good candidates to improve flows and replies. - Track deflection over time: use the grouping to see whether the resolution rate climbs as you refine the bot. Tips, limits & best practices - Compare the resolution rate with CSAT: resolving a lot with low satisfaction may mean the replies aren't actually helping. - Standardize the period when comparing different measurements, so you don't compare different ranges. - A high handoff rate usually signals gaps in the bot β prioritize those scenarios in the flows. - The rates are based on conversations created in the period; right after enabling or switching the bot, the numbers may take a while to settle. Troubleshooting - Everything is zero: there is probably no inbox with an active bot, or there was no bot activity in the period. Check the bot and the date range. - Numbers look too low: the bot may have been enabled recently β widen the period or wait for more conversation volume. - The Bot report doesn't appear: confirm there is a bot/AI agent connected to an inbox and that your profile has permission to view reports. See also - Reports and analytics overview - CSAT and SLA reports
WhatsApp cost center: usage, cost per message and visibility in conversations
Overview The WhatsApp cost center shows what messages sent through the WhatsApp API cost, message by message. For every message sent by a WhatsApp Cloud, Coexistence or 360dialog inbox, Meta reports in its delivery update whether that message is billable and in which category (marketing, utility, authentication or service). ConversaLabs records that fact and prices it with Meta's official rate card, in the right market and currency. In one place you can answer: - how much the account spent this month, by inbox, category and campaign; - how much of the estimated monthly allowance of 1,000 service messages each number has used; - how many messages were free, and why; - how many are still awaiting delivery (Meta only bills what is delivered); - how many were not billed because they failed; - what a specific conversation cost. Important: Meta says whether a message is billable, but it generally does not report the amount in the delivery update. Every amount in this cost center comes from the official rate card (or your account's custom rate) and is a faithful estimate, not Meta's invoice. The exception is marketing sent with a maximum price through the Marketing Messages API: in that case Meta reports the estimated cost on the message itself, and the platform uses that amount, unless the account has a custom rate for that market and category: the account rate wins, and Meta's amount stays in the message detail as a reference. The only total Meta itself reports is shown in the Reconciliation with Meta block. Prerequisites - The WhatsApp cost center feature enabled on your account. While it is off, nothing is recorded and no cost screen appears. - At least one WhatsApp Cloud, Coexistence or 360dialog inbox. WhatsApp Web inboxes are not billed by Meta. - Permission: - see amounts: administrators and roles allowed to manage inboxes or to manage the WhatsApp Hub, always limited to the inboxes the role can reach; - manage (rate cards, custom rate, historical estimate and visibility in conversations): administrators only. Step by step 1. Open Reports β WhatsApp costs in the sidebar. 2. Pick the period, the inbox and the display currency in the filter bar. Filters live in the page address, so you can reload or share the link without losing the view. 3. Move through the tabs: - Overview: the period's four totals (Billable, Awaiting delivery, Free and Not billed), the Service messages this month card (billed, free under the estimated monthly allowance and how many of the 1,000 were already used), the daily series by category, the grouping by inbox, category, campaign, sender or conversation, the reconciliation with Meta and the paginated message list; - Usage: the billing month, with the estimated service-message allowance, free messages by reason and billable ones by category (see the sections below); - By inbox: the cost of each number, with its currency, the partner badge and the last reconciliation date; - Campaigns: what each campaign cost and how much was not billed because of failures; - Rate cards (administrators only): the official rate cards in effect and the custom rate. 4. Use Sync with Meta to refresh the reconciliation now instead of waiting for the next automatic read. Settings & options Measured Maestro subtotal in a call When a call shows Maestro usage, its US dollar amount can appear as Measured subtotal and At least. This happens when a model request has no confirmed completion yet, even if other responses in the call have already been measured. ConversaLabs preserves the known portion and keeps the complete cost unconfirmed. The subtotal stays separate from WhatsApp's currency and costs. For more about measurement, see Brain usage. What changed on 2026-10-01 Since 2026-10-01 these Meta billing rules apply; the allowance mentioned below is a platform estimate: - Service messages are billed. Free-form text sent inside the 24-hour customer service window is now billed per delivered message, at the market's utility and authentication rate, with no volume tiers. Until 2026-09-30 it was free. - The platform estimates a monthly allowance of 1,000 delivered service messages per number (see the section below). The projection applies a cost after it; actual billing follows Meta's report. Estimated monthly allowance; Meta does not publish this limit in the documentation tracked here. - Utility inside the window is billed. A utility message sent while the customer service window is open is now billed. Until 2026-09-30 it was free. - Reactions are never billed and do not count toward the estimated allowance. - The ad's free window (Click-to-WhatsApp) went from 72 hours to up to 7 days. Meta's rule: if the business responds within the 24-hour customer service window using any type of message, that reply is free and opens the free window, starting from the time of the reply; while it is open, any message is free, templates included. Only a reply sent through the Cloud API opens the window: a reply over WhatsApp Web does not. Meta Business Agent messages are still charged per token inside it. - New rate cards took effect. In Brazil the amounts did not change (see Rate cards). - The 24-hour customer service window did not change: it still defines when you can reply with free-form text. The Usage tab's timeline shows which rule applies to each period. Message states | State | What it means | Counts as cost? | |---|---|---| | Awaiting delivery | Meta accepted the message but has not confirmed delivery yet. The amount shows as provisional. | Not yet | | Billable | Delivered and marked billable by Meta. | Yes | | Free | Delivered at no charge, with the reason (see the table below). | No | | Not billed | Failed, or went 30 days without a delivery confirmation. | No | | New format, under review | Meta sent a billing format we have not verified yet. It stays out of every total until it is checked. | No | Free reasons | Reason | When it shows | |---|---| | Monthly service-message allowance | Since 2026-10-01: a service message treated as inside the number's estimated monthly allowance of 1,000; the limit does not prove it is free at Meta. | | 24-hour customer service window | Until 2026-09-30: a message sent while the customer service window was open, before service charging started. | | Ad free window (up to 7 days) | A message sent inside the window opened by a Click-to-WhatsApp ad. Inside it, every message is free. | | WhatsApp Web | A message sent from the WhatsApp Web inbox, which Meta does not charge for. | | WhatsApp Business app | A message sent from the app on a Coexistence inbox. | The platform follows what Meta reports on each message: if Meta sends a message as free, it shows as free. Monthly service-message allowance The platform uses an estimated monthly allowance of 1,000 delivered service messages per number. Estimated monthly allowance; Meta does not publish this limit in the documentation tracked here. The quantity, message types and reset below are local assumptions: - in the estimate, 1:1 and group service messages share the same allowance; in a group, each recipient the message is delivered to uses one estimated unit; - the estimate does not roll over: the balance does not carry into the next month, and the count starts over every month; - the documentation tracked here does not confirm the reset or its time zone. The platform uses the WhatsApp account's time zone, the same one as the Usage tab's billing month, and says so on screen; - reactions do not count in the estimate; - after the 1,000 in the estimate, a cost is projected at the recipient market's official service rate; actual billing depends on Meta's report. The estimated allowance shows by default in three places: the Usage tab, the Service messages this month card on the Overview, and the Cost of this conversation block. Each one shows how many messages were used, how many remain, the date the allowance ran out in the estimate (when it did) and the price of each message after it, projected from the rate in force. Since October 2026, the Service messages this month card says how many messages were billed and how many are presented as free under the monthly allowance in the estimate, without confirming that limit as a Meta rule. The estimated count uses what Meta reports on each delivered message; those reports do not confirm the allowance, its types or its reset. Messages with no delivery confirmation yet are left out until the confirmation arrives. To hide the allowance, an administrator turns off Show the 1,000 service-message allowance in Settings β Account Settings β Costs in conversations. Hiding it does not change any amount. Government and non-profit organizations. Until 2027-12-31, service messages stay free above the estimated allowance for governments and non-profits that Meta considers eligible. Meta decides eligibility, and there is no programmatic way yet to know whether an account is eligible. The platform follows what Meta reports on each message: if it arrives as free, it shows as free. Payment method. If Meta's messaging account has no payment method on file, verify that setting before relying on billable messages. The estimated allowance does not confirm how far Meta will deliver or a block after it. Add a payment method at Meta; on an account billed by a partner, the payment method is the partner's. Usage tab The Usage tab shows the billing month in the WABA time zone and the reset date used by the platform's estimate, without confirmation of the allowance reset by Meta. It includes: - each number's estimated service-message allowance: estimated usage and remaining allowance, the date it ran out in the estimate and the projected price after it; - Free by reason: estimated monthly service-message allowance, 24-hour customer service window (until 2026-09-30), ad free window (up to 7 days), WhatsApp Web and WhatsApp Business app (Coexistence); - Billable by category: quantity, unit rate, amount and origin; - Awaiting delivery and Not billed. Where the amount comes from Every amount states its origin: Official list rate, Estimated volume tier or Account custom rate. For marketing sent with a maximum price through the Marketing Messages API, the amount is the estimated cost Meta reports on the message, with the origin Cost reported by Meta; without a maximum price, that marketing uses the rate card's marketing rate. If the account has a custom rate for the market and category, it wins over the cost reported by Meta, which shows in the entry detail as Value reported by Meta. When the account is billed by a partner (a BSP), the label adds "Β· billed by a partner": in that case Meta does not report the cost through the API, only the volume, the amount comes from the rate card and the partner may charge a different amount. Currency The currency is the WhatsApp Business account (WABA) currency, read directly from Meta. Meta bills in 16 currencies, and the platform loads the official rate cards in USD, in BRL and in the currencies of the connected accounts. Conversion to the display currency is for reading only and always shows the exchange rate and date used. Until the WABA currency has been read, amounts are marked Unknown currency, and different currencies are never added together. Businesses billed by Meta in Brazil (Sold-To Brazil) must migrate their messaging account to BRL by 2027-06-30. The migration is done with Meta. Market The price depends on the destination number's market (for example Brazil, North America or Rest of Latin America), following Meta's official map, which the platform loads on its own. A number whose market is not recognized stays New format, under review, with no amount: the platform never assumes Brazil. Since 2026-10-01 nine markets have their own rates: Bangladesh, Iraq, Kazakhstan, Kuwait, Morocco, Nepal, Oman, Sri Lanka and Ukraine. The platform recognizes the eight that have their own country code. Kazakhstan shares the +7 code with Russia and Meta has not yet published how to tell them apart, so Kazakhstan has no market of its own on the platform until Meta publishes that split. Meta Business Agent If the account uses the Meta Business Agent (Meta's AI agent that replies on WhatsApp), the Overview shows administrators its own block with the period's billable messages, billed tokens and amount charged, read from Meta. Since 2026-08-01 Meta charges these messages per token, in a single charge that includes delivery, and they are still charged inside an ad's free window. - The block is for administrators only: the amount belongs to the agent's billable account and cannot be split by inbox. - The block shows up when the agent account is configured or when Meta used Conversation Routing on a Cloud API number of this account. - Under Rate cards, the Meta Business Agent section is always visible to administrators, even before there is any usage. There they enter the Meta Business Agent billable account ID (in Billing Hub, under Accounts βΊ Meta Business Agent accounts) and that account's currency. Saving does not query Meta. Meta does not report the currency through the API, so the amount shows in that currency, with no conversion. The block's Configure the agent account button takes you to that section. - The request uses the WhatsApp token the account already has. It needs the business_management permission: on a direct connection, grant it to the system user when you generate the token; through a Solution Provider, it requires Advanced access in App Review, the permission in the Embedded Signup configuration and the client completing Embedded Signup again. Without it, the block shows Permission required. - With no usage in the period, the block shows No Meta Business Agent usage. Days follow the agent account's timezone, and the amount is not an invoice. - An answer from Meta is kept for 15 minutes, and an error for 5 minutes. Try again asks Meta again right away, for example after you grant the permission. Costs in conversations In Settings β Account Settings β Costs in conversations, the administrator chooses what the team sees inside a conversation: | Option | What the team sees | |---|---| | Hidden | No cost in the conversation. The cost center stays available to whoever has permission. | | Indicator only (default) | Whether the message is free or billable, and why, with no amounts. Not even administrators see amounts in the conversation: the full number lives in the cost center. | | Indicator and amounts for people who can see costs | Administrators and roles with inbox or Hub permission see the amounts; everyone else sees only the indicator. | | Indicator and amounts for every agent | Every agent who opens the conversation sees the amount of each message. | The same section holds the Show the 1,000 service-message allowance preference, on by default. In conversations this shows up in three places, and none of it blocks sending: - a notice above the reply box, saying whether the reply will be free or billed and until when the customer service window stays open: - while the estimate shows a remaining balance, it presents the reply as free under the monthly allowance, with how many of the 1,000 were already used (for example, "820 of 1,000 used"); - after the estimated allowance, it presents the reply as will be billed, with the projected amount for people who can see it. Those notices are estimates; actual billing depends on Meta's report; - inside an ad's free window, it shows the reply is free because of the ad; this also applies to the first Cloud reply within the 24 hours, which is the one that opens the window; - a utility template sent while the window is open shows as billed since 2026-10-01; - in a hybrid inbox, switching the send to WhatsApp Web turns the notice into "Meta does not charge for it"; - a discreet marker on each sent message (Free, Billable, Awaiting or Not billed); - the Cost of this conversation block in the side panel, with the window, the month's totals, the number's estimated service-message allowance and a link to the cost center. Each inbox can inherit the account setting or override it in the inbox's Costs tab, with a Restore the account default button to go back. Inbox Costs tab In Settings β Inboxes β (inbox) β Costs you see the WABA billing currency, the partner badge, the month's totals, the reconciliation with Meta and that inbox's visibility. On Coexistence inboxes, a notice reminds you that messages sent from the WhatsApp Business app are not billed and do not open or extend the API window. On a WhatsApp Web inbox the tab says Meta does not charge for it. On a 360dialog inbox there is no reconciliation, because Meta does not deliver that WABA's analytics. Campaign cost The detail of a WhatsApp Cloud campaign shows four cards: Billable, Awaiting delivery, Not billed and Estimate at dispatch (the price frozen when the campaign was sent). The Cost column of the recipient list shows the state and what each recipient actually cost. A retry adds to that recipient's cost. Campaigns sent over WhatsApp Web show no cost. Rate cards (administrators) The platform loads Meta's official rate cards on its own, including the 2026-10-01 ones, in USD, in BRL and in the currencies of the connected accounts, plus the market map. There is no manual step. The Rate cards tab lists those cards by effective date and currency, with the source and the file's verification code. The service column of the 2026-10-01 card is the official one published by Meta. Per-message rate in Brazil from 2026-10-01 (same as the previous card): | Category | USD | BRL | |---|---|---| | Marketing | 0.0625 | 0.3217 | | Utility | 0.0068 | 0.0350 | | Authentication | 0.0068 | 0.0350 | | Service (after the estimated allowance) | 0.0068 | 0.0350 | Other markets did change, such as Mexico, Saudi Arabia, the United Arab Emirates, Pakistan, Peru, South Africa and the Rest of Asia Pacific and Rest of Middle East regions. This tab also holds: - Sync official rate card, which forces a read now and shows the real result, including when the read fails; - the custom rate per market, category and currency, with Restore default per line; - Estimate history, which prices messages sent before the feature was enabled. Those amounts are always marked as estimates and never pass for a confirmed charge. Use cases - Close the month: open Usage, check billable messages by category and compare with Meta's reconciliation. - Track the service allowance: see estimated usage of each number's 1,000 service messages, the exhaustion date in the estimate and the projected cost of each reply after it. - Find the most expensive campaign: in the Campaigns tab, sort by billable amount and open the detail. - Guide the team: turn on Indicator only to show a reply's projected cost, outside the window or after the estimated allowance, without exposing amounts. Tips, limits & best practices - The amount comes from the rate card, not the invoice. On an account billed by a partner, Meta does not report the cost through the API and the partner may charge differently from the rate card: check the price agreed with them and record it as a custom rate. - WhatsApp Web is not billed by Meta, and neither are messages from the WhatsApp Business app (Coexistence). In the platform's estimate, neither counts toward the allowance; that does not confirm the types included in an official Meta allowance. - Reactions are never billed and do not count toward the estimated allowance. - A message only becomes Billable when Meta confirms delivery. If it goes 30 days without that confirmation, it becomes Not billed. - If the messaging account is yours (not billed by a partner), check that it has a payment method on file at Meta before relying on billable messages; do not use the estimated allowance as a delivery guarantee. - The campaign cost refreshes about 10 seconds after each state change. - Messages are kept for 24 months. Daily totals are kept permanently. Troubleshooting - Meta Business Agent: Permission required: the account's WhatsApp token lacks the business_management permission; grant it as described in Meta Business Agent. - "WhatsApp costs" does not appear under Reports: the feature is not enabled on the account, or your role is not allowed to see costs. - I see "Billable" but no amount: visibility is set to Indicator only, or your role cannot see amounts. Check Settings β Account Settings β Costs in conversations. - I do not see the allowance: the Show the 1,000 service-message allowance preference was turned off. An administrator can turn it back on in Settings β Account Settings β Costs in conversations. It only appears for WhatsApp Cloud numbers. - The allowance shows fewer messages than the team sent: in the estimate, only service messages Meta confirmed as delivered count. The ones still awaiting delivery come in when the confirmation arrives, and reactions do not count in the estimate; that does not confirm the types of an official allowance. - A service message went out free after the estimated allowance: the platform follows what Meta reports on each message. That is the case, for example, for governments and non-profits Meta considers eligible, until 2027-12-31. - Support messages stopped being delivered after the month's 1,000 in the estimate: verify the payment method at Meta and the provider's report; the estimated limit does not confirm the cause of the interruption. If a payment method is missing, add one at Meta; on an account billed by a partner, talk to the partner. - The notice above the reply box does not appear: the platform does not have trustworthy data for that conversation yet. It prefers to show nothing rather than a wrong "free". - "Unknown currency": the WABA currency has not been read from Meta yet. Amounts are still recorded and stay marked until it is read. - "New format, under review": Meta sent a new category or type, or the number's market was not recognized. The message stays out of the totals until it is verified. - The reconciliation shows volume only: the account is billed by a partner, and Meta does not report cost through the API in that case. - The sync with Meta failed: Meta did not answer the reconciliation read. Rate card amounts stay valid; try again later. - "Sync official rate card" showed a failure: reading the official rate cards did not work this time. The rate cards already loaded stay in force; try again later. See also - WhatsApp dispatch cost calculator - WhatsApp campaign results - WhatsApp hybrid inbox - WhatsApp sending optimization - The ad's free window, insights and ad automation - WhatsApp Coexistence - Reports overview