To investigate why a campaign for channels like email, SMS, mobile push, or webhook failed, you can create a report to review error messages and identify issues for specific customer profiles.
Guide
1. Choose a campaign
To build the report, first choose the campaign ID you would like to examine. You will then be able to review events for the particular campaign that failed to deliver for certain customer profiles.
To find the ID, copy it directly from the campaign URL to filter campaign events.
2. Choose channel and status
Next, you'll want to choose the status you're looking into and the action type—or channel. Each channel offers different status and action options. For instance, with SMS, you can find events by selecting the failed status and sms action_type.
Several statuses can indicate a failed campaign send, so it's essential to ensure you're selecting the correct campaign. If you're unsure which one to include, you can use all of them; however, in such a case, you'll need to remove the action type.
For example, emails use statuses such as enqueue_failed, suppressed, or preblocked, while SMS, mobile push notifications, or webhooks use the status failed.
Our System Events Documentation provides a comprehensive list of all statuses along with their corresponding channels (action types). Before choosing the appropriate action_type and status, review the documentation. Using the wrong combination will lead to incorrect report results.
3. Value filter
In our example, a value filter was applied to display only values greater than 0. This way, the report shows only campaign events that have occurred at least once. While this step isn't required, it can help focus on the most relevant results in the report.
4. Drill down
The next step in creating the report is choosing an appropriate drill-down. Although the campaign event message property can also be used for SMS, the status code property may be more relevant, as it can be checked against specific Mobile Messaging Providers and their error codes.
For emails or webhooks, it's generally better to use the message attribute from campaign events, as it provides the failure reason.
5. Time Filter
The final step is to choose an appropriate time filter. For instance, if you want to create a report on all errors throughout the scenario's history, you can use the lifetime filter. If you're focusing on a specific day or time period, select it in the report time filter.
Results
In this example, the status_code property was used in the drill-down to display error codes and the number of messages associated with each code in an SMS campaign. The final output may look like the image below.
The report's results will vary based on the metric you select, the filters you apply, and the drill-down or timeframe you select.
The example above illustrates the report's logic. Each report, however, should be adjusted to your specific task, taking into account the channel used and the particular reason for the "failure".
Summary
It can help you pinpoint the errors that specific customers are encountering in a particular campaign, identify their profiles, and guide you in continuing the investigation. Sometimes, the report alone can help you determine the next steps to address the issues affecting your communication channels.