What is a BSUID?
A Business-Scoped User ID is a unique, Meta-generated identifier for a WhatsApp user, scoped to your business. It’s the one identifier Meta always includes with an inbound message or message status, whether or not the user has a username or shares their phone number.- It looks like a country-code-prefixed string, for example
US.13491208655302741918. - It’s scoped per business portfolio — the same person messaging two different businesses gets a different BSUID for each one.
- It cannot be used for authentication (OTP) templates — those still require a phone number, since they’re tied to number-based verification.
What is a WhatsApp username?
A username is an optional, human-readable handle (like@yourname) a WhatsApp user can reserve for their account, similar to a username on other messaging or social apps. A user who has a username can choose to hide their phone number from businesses — in that case, you’ll see their username (if they message you with one set) and their BSUID, but not their number.
Why this is happening
Until now, the phone number was the anchor for everything: how a contact was identified, matched, and messaged. Meta is decoupling that — a phone number becomes something a contact might share, not something you can always count on.April 2026
June 29, 2026
July 2026 onward
recipient parameter) as an alternative to a phone number (to).How Treble identifies a contact
Treble tracks three identifiers for every contact instead of just one:Inbound messages
When an inbound message arrives without a phone number, Treble:- Looks up the contact by BSUID. If it already knows this BSUID (from a previous message, or because the phone number was recovered before), the conversation continues exactly as it would for any other contact.
- If it’s the first time seeing this BSUID, Treble creates a new contact anchored to it. The contact behaves normally in your flows, reports, and conversation history — it just won’t have a phone number field until one becomes available.
- If the contact later shares a phone number (see Recovering a phone number below), Treble automatically links it to the existing BSUID-anchored contact — no duplicate is created, and the conversation history stays intact.
Outbound messages
Sending a message works the same whether you’re targeting a contact by phone number or by BSUID — Treble handles the difference for you automatically. Campaigns, templates, and automations don’t need any changes.Recovering a phone number
If you have a contact without a phone number and genuinely need it (for example, to send an authentication template, or to sync with a CRM that only matches by phone), Treble supports WhatsApp’s Request Contact Info button.Send the button
The contact taps and consents
Treble saves it automatically
HubSpot support
Treble’s HubSpot integration supports BSUID and username-based contacts out of the box.- Two HubSpot contact properties are created automatically the first time your HubSpot integration syncs: WhatsApp Business Scope ID (
whatsapp_business_scope_id) and WhatsApp Username (whatsapp_username). - When Treble looks up a contact in HubSpot, it checks phone number first, and falls back to BSUID or username when there’s no phone number to search by.
- New contacts created from Treble include these fields automatically, the same way
treble_createdand other Treble-managed properties do. - Existing HubSpot contacts get these fields filled in automatically over time as they interact — no manual backfill needed on your side.
What if I already have a custom property with one of these names?
What if I already have a custom property with one of these names?
The one real limitation
If a contact already exists in your CRM because they messaged you before with their phone number, and that same person later sends a new message without sharing their phone number (username/BSUID only), Treble won’t be able to recognize it’s the same person — the old contact was never tagged with their username/BSUID, and that’s the only information available at that point. In that specific case, a new, separate contact gets created in your CRM instead of matching the existing one. This isn’t something we can work around — it’s a direct consequence of Meta letting users hide their phone number after the fact. It’s also a narrow edge case: it only affects contacts who first messaged with a phone number and later hide it, without ever triggering an interaction that would have let Treble tag their existing record first. For CRM integrations other than HubSpot, phone-number-only matching is still the current behavior — we’re extending this same BSUID/username support to our other CRM integrations next.Frequently asked questions
Do I need to change anything in my flows or templates?
Do I need to change anything in my flows or templates?
Will my reports and metrics be affected?
Will my reports and metrics be affected?
Can I still reach a contact who hides their phone number?
Can I still reach a contact who hides their phone number?
What happens to authentication (OTP) templates for a BSUID-only contact?
What happens to authentication (OTP) templates for a BSUID-only contact?
Is this something I opt into?
Is this something I opt into?
Does this affect my Phone Number ID or existing conversations?
Does this affect my Phone Number ID or existing conversations?
Can I set up a username for my own business number?
Can I set up a username for my own business number?
I'm outside the countries where this has rolled out yet — does it matter?
I'm outside the countries where this has rolled out yet — does it matter?