phone_number property and uses it as the delivery address for every SMS you send. Phone numbers should be stored in E.164 format, the international standard for phone numbers.
Vero is forgiving about how you punctuate a number, but strict about one thing: it must carry a country code. Numbers without one can’t be delivered.
The E.164 format
An E.164 number is made up of three parts:- A leading
+— for example+61412345678. - The country code —
1for the United States and Canada,61for Australia,44for the United Kingdom. - The subscriber number — the national number, with any leading trunk zero removed.
+, is a maximum of 15 digits.
What Vero accepts
Separators are stripped before the number is checked, so all of these are read as the same valid number:
We recommend storing numbers as plain E.164 (
+61412345678) anyway. It’s unambiguous, it’s what Vero displays back to you, and it avoids relying on the tolerances above.
Formats to avoid
0412345678,07911123456,(555) 123-4567— national formats with no country code. These are the most common cause of undelivered SMS. If you collect numbers from users in a single country, add the country code before sending them to Vero.- Placeholder and test numbers. Vero checks numbers against each country’s real numbering plan, not just their shape. Reserved ranges used in examples and test data — such as US
555-01xxnumbers or UK07700 900xxxnumbers — are well formed but not valid, and will fail. Use real numbers when testing. - Numbers with trailing text. An extension written as
+61412345678;123is tolerated, but+61412345678 ext 12is not — the extension digits get absorbed into the number and corrupt it.
Passing the check means a number is well formed for its country’s numbering plan. It does not mean the number is in service — a correctly formed number in a valid range will pass even if nobody holds it.
Adding a phone number to a profile
You can setphone_number when you identify a user via the API:
phone_number column when you import an audience from a CSV. The same format requirements apply.
Only one phone number can be stored per profile. Read more about channel addresses on user profiles.
When phone numbers are checked
This means a poorly formatted number won’t stop your campaign from launching, and you won’t see a warning while building your audience. If a country’s numbers are being stored in national format, every one of those recipients is dropped individually at send time — so check your campaign logs, not your audience, when SMS aren’t arriving. A check runs as part of quiet hours compliance, which applies to marketing messages. Vero uses the country code to work out which country a recipient is in, and therefore which quiet hours apply to them. Vero stores the number exactly as you submit it — it isn’t rewritten to E.164 on your behalf, so the value on the profile is always the value you sent.Troubleshooting
If your SMS messages aren’t sending, check your campaign logs for these errors:Invalid phone number— the value inphone_numberisn’t a valid number. The usual causes are a missing country code, or a placeholder number from a reserved range.Unknown country— Vero couldn’t determine a country from the number. This almost always means the country code is missing.Unknown regionorUnknown timezone— Vero couldn’t resolve a location or timezone for the recipient. Add aregion_codeto the profile.

