Troubleshooting Campaigns. Understand why things may go wrong and how to fix them

Overview
When sending campaigns, you may face a scenario where you added your targeted lists and segment but your estimated recipients are 0 or there are sending or delivery failures. This article will address common issues and how to troubleshoot them.
Estimated recipients showing 0 or less than expected
You may add your Send to lists and/or segments which has contacts but your estimated recipients are still showing 0 or less than expected.
Why this may happen and what you can do?
- Missing valid identifier (email, phone or push token): The contacts in your lists or segment do not have the valid identifier required for the channel selected for your campaign. For example:
- For Email campaigns, email address is missing for the contacts
- For SMS/WhatsApp/RCS campaigns, phone number is missing for the contacts
- For Push campaigns, push token is missing for the contacts
Troubleshooting Steps:
- Go to Contacts and apply advanced filters to match the criteria of your lists or segments
- Add condition if Properties of contact > Email address exists OR Phone number exists
- You can click on any specific contact to see the identifiers like email, phone or push token
- If missing for some contacts, you can re-import them via csv or adjust your integration attributes mapping sync if the data is present in the source platform
- Subscription attribute not set as Subscribed: The contacts in your lists or segment do not have the Subscription attribute required for the channel set as Subscribed. For example:
- For Email campaigns, Email Subscription needs to be set as Subscribed
- For SMS campaigns, SMS Subscription needs to be set as Subscribed
- For WhatsApp campaigns, WhatsApp Subscription needs to be set as Subscribed and so on.
Troubleshooting Steps:
- Go to Contacts and apply advanced filters to match the criteria of your lists or segments
- Add condition if Properties of contact > Email Subscription is Subscribed exists OR SMS Subscription is Subscribed OR WhatsApp Subscription is Subscribed etc. based on your channel for the campaign
- You can click on any specific contact to see the attributes like Email Subscription, SMS Subscription, WhatsApp Subscription and so on
- If subscription is missing for some contacts, you can re-import them via csv or adjust your integration attributes mapping sync if the data is present in the source platform
- Contact identifier (email, phone) is suppressed: The contacts in your lists or segment are suppressed for the channel selected for your campaign for marketing use case. For example, contact's email address is suppressed for Email marketing.
Troubleshooting Steps:
- Go to Contacts and apply advanced filters to match the criteria of your lists or segments
- Add condition if If contact can receive Email Marketing OR SMS Marketing etc. based on your channel for the campaign
- You can click on any specific contact to see if their is a suppressed status on their identifier
- You can also search for the email or phone number in the Audience > Suppression lists section
- If you want to unsuppress the contact, you can manually go to their 3 dots and unsupress them, however we do not recommend unsuppressing unless you are sure that they have wrongly been suppressed. Identifiers will get automatically suppress due to opt outs and invalid identifier
- Don't Send to option has reduced your final recipients: The contacts in your included lists or segments under Send to have been reduced due to exclusion lists or segments you have selected under Don't Send to
Troubleshooting Steps:
- Go to Contacts and apply advanced filters to match the criteria of your lists or segments
- Further add conditions which match the criteria of your exclusion lists or segments to check the final count of your contacts
- Missing contact locale when using Strict locale matching: The contacts in your included lists or segments do not have the Locales attribute set with any value and you have selected Strict Locale matching.
Troubleshooting Steps:
- Go to Contacts and apply advanced filters to match the criteria of your lists or segments
- Add condition if Properties of contact > Locales has any value
- You can click on any specific contact to see the value of the Locales attribute
- If missing for some contacts, you can re-import them via csv or adjust your integration attributes mapping sync if the data is present in the source platform
- You could also switch to Automatic locale matching to ensure every recipient receives a message with default language
Campaign messages are not sent
Your campaign has Sent or Failed status and has sent 0 or less than expected as compared to the targeted recipients
- Re-check your estimated and targeted recipients: If you have missed this while building the campaign, check your estimated recipients by viewing your campaign again.
- Note that your targeted segment is dynamic it may change over a period of time, hence you can check the Recipients metric in Campaign report which indicates what was the target audience at the time of sending
- Limit maximum recipients: If you have set a max recipient limit when building the campaign, it will restrict sending to that number
- Check Failure Reasons Tab in Campaign Reports: Go to Campaign Reports > Failure Reasons to check why your messages are skipped or failed sending
Sending Failure Reasons will prevent all or partial messages of the campaign to be not sent. These can include the following:
| Skip/Failure Reason | Description | Troubleshoot |
|---|---|---|
| Excluded lists/segments | Contacts skipped as Lists/Segments are selected to be excluded in the campaign | Try recreating a segment with all your inclusions and exclusion segments/lists to check the final recipient count |
| Frequency cap reached | Recently messaged contacts have been skipped due to frequency cap | Turn off the toggle under Recipients > Advanced > Skip recently messaged contacts. Update frequency capping setting if needed. |
| Not subscribed | Subscription attribute of contacts is not marked Subscribed or they have opted out | Update the subscription attribute if you think these are incorrect. Recommend to consider contact subscription |
| Suppressed | Recipient identifier i.e.Email / Phone number is suppressed | Check the condition for If contact can receive |
| Template inactive or missing | Content template is not in active or published or approved status or is missing | Send again by duplicating and reselecting the active template |
| WhatsApp sending restrictions | WhatsApp may have sending restrictions on a 24 hour rolling period for your account. WhatsApp also restricts sending marketing messages to US recipients. | Check your sending limits in WhatsApp Business Manager |
| Missing personalization | Personalization variable value not found for contact | Ensure you have a default value provided for all personalization variables |
| Missing contact attribute | Attribute referenced in the content template does not exist | Check any references to contact attributes and ensure they do exist under Contacts > Manage data > Contact attributes |
| Missing content block | Content block referenced in the template does not exist | Check any references to Content blocks and ensure they do exist under Content blocks |
| Scheduled time passed | Recipients skipped as schedule time already passed in their timezone for local recipient timezone sending | Always ensure for your campaigns: Under Schedule > Time passed > Send immediately |
| No timezone found | Recipients skipped as no timezone is set on the contacts for local recipient timezone sending | Check the Timezone attribute of your contacts. Add condition to segment Properties of contact > Timezone > exists |
| Global Holdout | Recipients skipped due to global holdout applied on campaign | Check global holdout toggle under Recipients > Advanced |
| Campaign Holdout | Recipients skipped due to campaign holdout applied on campaign | Check Percentage holdout toggle under Recipients > Advanced |
| Audience Generation Failed | Failed to generate the final audience for the campaign | Try to resend the campaign by duplicating |
| Missing locale matching | Locale attribute is not set on the contact for strict locale matching | Check Locales attribute on contacts. Add condition: Properties of contact > Locales > exists |
| Missing Discount code | Discount pool referenced in the content template does not exist | Ensure you have referenced a discount pool in content which exists under Discounts |
| Discount codes unavailable | Discount pool referenced in the content template does not have sufficient coupon codes | Ensure you have sufficient number of available discount codes in the discount pool used in your content |
| Admin Failure | Recipient address was failed by Bird's default policies for spam complaints, bounce and unsubscribe | You cannot bypass these failures as they help in reputation building |
| No subscription plan | Your subscription plan is terminated or expired | Please check your billing invoice status under Admin console > Billing > Invoices |
| Insufficient wallet balance | Your wallet does not have sufficient balance to send | Top up your wallet balance for SMS and WhatsApp third party fee under Admin console > Billing > Wallets |
| No coverage for phone number | No coverage is available for the recipient's phone number | Go to Admin console > Connectivity > Channels > SMS > Click on a channel > Destinations to check |
| Invalid email/phone | Recipients do not have a valid email or phone number | Check email address and phone identifiers of your contacts. These hard bounces will be suppressed for future |
| Maximum Recipient limit | Recipients skipped due to maximum recipient limit is reached as set in the campaign | Check your campaign > Recipients > Advanced > Maximum Recipient Limit |
| External data source error | External data source using Datafetch in liquid code of content template returned an error or cannot be parsed | Check your External data Source by clicking on Test configuration |
| Liquid error | Liquid code used in the content template returned an error due to rendering or parsing issue | Check the liquid syntax used in your template |
| Liquid nesting too deep | Liquid code used in the content template has more levels of nesting than supported causing rendering issues | |
| Additional data missing | If all of your contacts do not have additional data personalization defined, they may be skipped | Check your additional data csv file has rows for all your recipients |
| Exceeding Sending Limits | If you are using a test sender which has sending limits | Do not use test channels like @birdmailbox.com for sending as they have limits |
Campaign messages are sent but not delivered
This means that Bird has sent the message but it has not been successfully delivered to the recipient. This may happen due to a variety of reasons.
Campaign Reports:
- Failure Reasons Tab in Campaign Reports: Go to Campaign Reports > Failure Reasons to check why your messages have failed delivery
You can also check the following sections in Campaign Report
- Campaign Reports > Recipient Activity > Bounced for Emails
- Campaign Reports > Recipient Activity > Failed for SMS, WhatsApp and Push
Additionally, you can go to check the message logs for each platform
Message Logs: Go to Developer > Select the platform and got to Logs to check the error.
- Developer > Email > Emails Log
- Developer > SMS > Message Log
- Developer > WhatsApp > Message Log
For any WhatsApp related delivery error messages coming from Facebook, please refer to the details on WhatsApp Error Documentation.