Message Prioritization reporting
After you opt campaigns or Canvases into Message Prioritization, use this page to read ranking outcomes, understand available Report Builder metrics, and decide what to change when the mix looks wrong.
For how ranking, look-ahead, and retry windows work, see Message Prioritization.
What an abort means
A Message Prioritization abort means your ranking rules allocated frequency cap capacity to a higher-ranked message instead of this one.
Each opted-in message that shares a frequency capping rule follows this sequence:
- If the message is high enough priority, it sends.
- If it is not high enough priority and a retry window is set, it retries later.
- If it never sends (no retry window, or retries are exhausted), it is logged as a Message Prioritization abort.
The same user can record more than one Message Prioritization abort in a date range if multiple opted-in messages never send.
How this abort differs from other aborts
Knowing which abort type applies tells you where to look and how to read the outcome.
| Abort | What it means |
|---|---|
| Message Prioritization abort | Ranking rules stop this send. In Report Builder, this is Message Prioritization Aborts. In the Messaging Diagnostics dashboard, this is Aborted due to priority. In Currents, abort_type is deprioritized. |
| Frequency cap abort | The user already reached the maximum for a frequency capping rule, leaving no capacity to allocate. In the Messaging Diagnostics dashboard, this is Frequency capped. In Currents, abort_type is frequency_capped. |
Where to look
Different surfaces give you different levels of detail into the same ranking outcomes.
| Surface | What it shows |
|---|---|
| Report Builder | Message Prioritization Aborts, Message Prioritization Abort Rate, Total Retry Attempts, and Average Retries per Message |
| Campaign and Canvas analytics | Message Prioritization Aborts |
| Messaging Diagnostics | Aborted due to priority |
| Currents | users.messages.<channel>.Abort and users.messages.<channel>.Retry for email, LINE, push, SMS, webhooks, and WhatsApp |
Messaging History does not log Message Prioritization aborts or retries. Use Report Builder, Messaging Diagnostics, or Currents to investigate ranking aborts.
Metrics
These four metrics are available in Report Builder.
| Metric | Definition | Formula |
|---|---|---|
| Message Prioritization Aborts | Number of messages that didn’t send because they were aborted by priority rules. Includes messages with no retry window and messages that exhausted their retries. | Count |
| Message Prioritization Abort Rate | Percentage of send and abort outcomes that were aborted by priority rules. One user can contribute more than one abort. | Message Prioritization Aborts / (Messages Sent + Message Prioritization Aborts) |
| Total Retry Attempts | Number of times messages with a retry window were scheduled to try sending again after being aborted by priority rules or frequency caps. A retry can still lose and never send. | Count |
| Average Retries per Message | Average number of retries per message across all sends, including those not opted into Message Prioritization. | Total Retry Attempts / Messages Sent |
There’s no target abort rate to aim for. A high rate on a high-ranked message might mean your ranking rules are doing their job—or it might mean the shared cap is too tight for your send volume. Use Diagnose what you’re seeing to figure out which.
Set up a monitoring report
Use Report Builder to review opted-in campaigns and Canvases together.
- Go to Analytics > Report Builder.
- Select Create report.
- In Rows, select Campaigns and Canvases.
- In Columns, select Customize Metrics. Add Messages Sent, Message Prioritization Aborts, Message Prioritization Abort Rate, Total Retry Attempts, and Average Retries per Message.
- Set the date range in Report content.
- Add the campaigns and Canvases you opted into Message Prioritization. To filter that set, use a tag you already apply to those messages.
- Select Save and run.
- Re-run the report weekly.
For Report Builder controls and metric availability, see Report Builder.
Diagnose what you’re seeing
Match what you see in your report to a likely cause, then use the recommended action to adjust your setup.
| What you see | Likely cause | What to change |
|---|---|---|
| High abort rate on a high-ranked campaign or Canvas | The message shares a cap with a high-volume higher-ranked send, a message outside Message Prioritization used the cap, or look-ahead could not see the later send. | Check volume from higher-ranked opted-in messages and from messages not opted into Message Prioritization on that cap. If the send is in a Canvas, check boundary steps that stop look-ahead. Add a category-level cap if one category is using every send. If a later send is acceptable, set or lengthen a retry window. |
| High retries and high final aborts | The cap stays full for the whole retry window, or the retry window collides with a recurring send. | Lengthen the retry window, lower volume on higher-ranked sends, or change the cap. For recurring campaigns, the retry window must be shorter than the gap between sends. See Retry windows. |
| Zero aborts across opted-in messages | The messages aren’t sharing a cap, nothing is competing, the cap is high enough that ranking never has to choose, or the messages may not actually be opted in and sharing a frequency capping rule. | Confirm the campaigns and Canvases are opted in and share a frequency capping rule. If they are, audit which messages are competing under that cap. Zero aborts is expected when send volume is low. |
| Lower-ranked send went out, higher-ranked did not | Different cap rule, an even higher-ranked future send, audience mismatch, or a message outside Message Prioritization used the cap first. | See Can a high-priority opted-in message lose a frequency cap slot to a message that isn’t opted in? and My message was prioritized but aborted last-minute. |
| Aborts on a message that must always send | The message may have been accidentally opted into Message Prioritization. Only opt in messages that are acceptable to defer or occasionally lose. Transactional, legal, or time-critical messages should always send regardless of ranking. | Opt the message out of Message Prioritization and frequency capping. See How can I make sure a message is always sent?. |
Currents
Ranking outcomes appear in Currents as users.messages.<channel>.Abort and users.messages.<channel>.Retry for email, LINE, push, SMS, webhooks, and WhatsApp.
Abort includes more than ranking. To isolate Message Prioritization ranking aborts, filter on abort_type: deprioritized. Frequency cap aborts on the same cap use abort_type: frequency_capped and are not ranking outcomes. See Abort types for more details.
Retry events appear when a message is scheduled to retry within its retry window, not necessarily when it sends. See Message engagement events.
Frequently asked questions
My prioritized message won a ranking but still didn’t send. What happened?
Message Prioritization is evaluated in real time when each message attempts to send. Braze checks the current message against a predicted list of higher-ranked messages and aborts it if sending now would block any of them. That prediction is not always accurate. If a lower-ranked message is aborted in favor of a future higher-ranked message, the higher-ranked message itself may still not send. Common causes include:
- A Liquid
abort_messagetag canceling the send based on template logic - The user leaving the target segment before the send
- A frequency cap consumed by a message outside of Message Prioritization
If the higher-ranked message later aborts, it does not consume a frequency cap slot. Braze does not keep a list of lower-ranked messages that were aborted in favor of that higher-ranked send, and it does not send them automatically when the higher-ranked message aborts. If those lower-ranked messages have a retry window, Braze retries them each day until the window ends.
A message outside Message Prioritization that sends and counts toward the cap is a different case: that send does use a slot.
Avoid abort_message Liquid on messages opted into Message Prioritization.
A Canvas message step was aborted by Message Prioritization. What happens to that user’s Canvas journey?
By default, when a Message step in a Canvas is aborted (including by Message Prioritization), the user advances to later steps.