Troubleshooting Campaigns
Understand why things may go wrong and how to fix them
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
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 | Check the liquid syntax used in your template |
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.
