English
Book a demo
HomeGuides › Broadcast reached only some contacts

Your broadcast reached a fraction of your list. Here's where the rest went.

Short answer

Start with phone number formatting, because it causes more silent drops than everything else combined. Numbers missing a country code, carrying a leading zero, or holding spaces and brackets get rejected on import and often disappear without an error. Then check duplicates, opt-outs, and any rule that quietly excluded people.

Somebody uploads a sheet of a few thousand numbers, the tool reports it sent to a hundred, and there's no list anywhere of the ones it skipped. So they open the CSV and start hunting by hand.

Almost every missing contact falls into one of the five buckets below, and four of them are fixable before you send rather than after.

Find the missing contacts in five passes

1

Normalise every number to international format first

This is the big one. A number stored as 9876543210, 098765 43210 or (+91) 98765-43210 is the same person and three different strings.

Convert everything to E.164, which means a plus, then the country code, then the number, with no spaces, dashes or brackets. For India that's +919876543210.

2

Handle mixed-country lists deliberately

Lists that mix India, UAE, Iraq and Malaysia break the naive fix of prefixing +91 to everything. A ten-digit number is not automatically Indian.

Where the country is knowable from another column, use it. Where it isn't, hold those rows back rather than guessing.

3

Deduplicate after normalising, not before

Deduplicating raw strings misses the same person written three ways. Normalise first, then match, and you'll catch far more.

Duplicates matter twice over: you pay per message, and sending the same person the same thing twice is how quality ratings fall.

4

Subtract the people who opted out or blocked you

Opt-outs are suppressed silently and correctly. If your count is short by a consistent number every campaign, this is usually why.

Keep the suppression list visible rather than buried, so the number stops being a mystery.

5

Check your own segment rules before blaming the tool

A rule you wrote in March may still be excluding people in August. Region filters and activity-date windows are the usual suspects.

Read the rule aloud before you send. If it doesn't describe who you want, it's wrong.

Where the missing contacts usually went

CauseWhat to do
Missing or wrong country codeNormalise to E.164 before upload. Hold back rows where the country is genuinely unknown
Leading zero kept from a local formatStrip the zero when you add the country code, not before
Spaces, dashes, brackets in the cellStrip all non-digits, then rebuild the number
Same person across several filesMerge after normalising, so three spellings collapse into one contact
Opted out or blocked you previouslyLeave them out. Suppression is working as intended
Number simply isn't on WhatsAppFall back to SMS for those contacts rather than losing them
Excluded by your own segment ruleRe-read the rule. Region and date filters age badly

Stop cleaning spreadsheets by hand

Validate on import, not after the send. The count you need is “sending to 1,847 of 1,902” with the reasons listed, shown while you can still act on it.

Keep one contact record instead of many sheets. Most duplicate problems exist because the same person lives in four exports. Fix the storage and the symptom goes away.

Never re-upload a cleaned file as your fix. That's a treadmill. Tag the behaviour once, then let rules do the excluding on every future send.

What nobody can fix for you

Some numbers genuinely aren't on WhatsApp, and no amount of formatting will change that. Route those to SMS rather than treating them as an error.

Opt-outs are not recoverable and shouldn't be. If someone left, leave them out.

And if your source data has no country column at all, a mixed-country list can't be fully repaired automatically. Somebody has to decide, and the honest thing is to surface those rows rather than guess on your behalf.

See what's wrong with the file before you send it

Amplifeed checks the sheet on upload and reports duplicates, malformed numbers and every exclusion, so you get the count and the reason while you can still change your mind.

Run your messiest list through it

Related questions

What format should WhatsApp numbers be in?

E.164: a plus, the country code, then the subscriber number, with no spaces, dashes or brackets. An Indian mobile looks like +919876543210.

Why do some tools only import a fraction of my sheet?

They reject rows they can't parse and often don't itemise them. The rejects are usually formatting rather than genuinely bad numbers.

Should I remove duplicates before or after formatting?

After. Deduplicating raw text misses the same number written three different ways, so normalise first and then match.

How do I stop messaging people who already registered?

Tag the behaviour when it happens and exclude by rule. Editing the file by hand each time doesn't scale and it's where mistakes creep in.