The transition to Business Scoped User IDs brings several questions from engineering teams. Here are the most frequently asked questions. For a complete overview of BSUID architecture, see the Engineering Deep Dive.
BSUIDs are designed to be permanent identifiers that persist for the lifetime of a user's relationship with a specific WhatsApp Business Account. They do not expire unless the user explicitly deletes their WhatsApp account or blocks the business.
Despite this architectural change, conversation pricing remains identical to the legacy phone-number system—BSUIDs still trigger the standard 24-hour customer service window, and template messages sent to a BSUID are billed according to regional utility and marketing rates as documented in Meta's WhatsApp Business API pricing.
A critical distinction is that BSUIDs cannot be mapped back to phone numbers by design, as Meta intentionally obscures the phone number when users initiate contact via a username link. Businesses that require phone numbers for CRM matching must explicitly request them through in-chat opt-in flows or lead capture gates. Existing conversations initiated via phone numbers continue to function normally, though the Cloud API now returns both wa_id and user_id in webhook payloads during the Q3 2026 dual-mode period to allow developers to link the two identifiers in their database before the legacy wa_id deprecation in Q4 2026.
Do BSUIDs expire?
No. Once a user initiates a conversation with your WABA and generates a BSUID, that ID is persistent for the lifetime of that relationship. It will not expire unless the user explicitly deletes their WhatsApp account. This makes BSUIDs reliable primary keys for your CRM's user records.
However, if a user blocks your business or revokes permission, the BSUID becomes invalid for new conversations. Existing message history remains accessible but you cannot initiate new outbound messages to a revoked BSUID.
How does this affect conversation pricing?
Conversation pricing remains identical. A BSUID still triggers the standard 24-hour customer service window, and template messages sent to a BSUID are billed according to your regional utility/marketing rates as documented in Meta's WhatsApp Business API pricing.
The key difference is attribution: with phone numbers, you could identify a user's region from their country code alone. With BSUIDs, you must rely on your own CRM data for regional routing and pricing calculations.
Can I map a BSUID back to a phone number?
No. That is by design. If a user contacts you via a Username link (wa.me/username), Meta intentionally obscures their phone number. If you need their phone number for your CRM, you must explicitly ask the user for it during the chat (e.g., using a Lead Gate via RezervSpot), or request it through an in-chat opt-in flow.
This is a fundamental privacy improvement that aligns with GDPR data minimization principles and Apple's App Tracking Transparency framework.
What happens to existing chats?
Existing conversations initiated via phone numbers will continue to function. However, the Cloud API will begin returning both wa_id and user_id in webhook payloads so you can seamlessly link the two in your database. This dual-return period runs through Q4 2026 as outlined in the Migration Timeline.
Do I need to update my webhook endpoint?
Yes. Your webhook endpoint needs to handle the new user_id field in the contacts array. If your current parser expects wa_id unconditionally, it will throw errors on username-initiated conversations.
Test your existing webhook payloads in our BSUID Audit Tool to identify compatibility issues before they cause production outages.
How do BSUIDs affect the RezervSpot API Proxy Gateway?
RezervSpot's API Proxy Gateway at the Pro tier automatically handles BSUID routing. When configured, the gateway:
- Receives inbound BSUID payloads from Meta's webhooks
- Validates the payload structure against your routing rules
- Translates BSUIDs to the appropriate agent endpoints
- Logs the routing for analytics and audit trails
This eliminates the need to build custom BSUID parsing infrastructure.
What are the token limits for BSUID-based messaging?
Token limits are identical to phone-number-based messaging. Each WABA has a messaging limit determined by your phone number quality rating. Meta's rate limiting documentation applies equally to BSUID and phone-number-based conversations.
Can I use BSUIDs with the On-Premises API?
Meta has indicated that the On-Premises API will support BSUIDs in a future release, but no specific timeline has been announced. Cloud API customers have priority access to all username and BSUID features.
Quick Reference
| Question | Answer |
|----------|--------|
| Do BSUIDs expire? | No, permanent until user deletes account |
| Pricing change? | No, same conversation pricing |
| Map to phone number? | No, by design |
| Existing chats affected? | No, dual-mode through Q4 2026 |
| Webhook update needed? | Yes, add user_id parsing |
| API Proxy Gateway support? | Yes, Pro tier and above |
Test your webhook payloads in our BSUID Audit Tool and follow the Integration Checklist for a smooth migration.
