Skip to main content

Europe channels onboarding: WhatsApp, RCS, SMS

This guide is the ordered onboarding path for European destinations — from picking the right channel per country, through sender setup, to GDPR consent and troubleshooting. It is the series partner of the APAC channels onboarding guide; the RCS, sender-identity, and GDPR pages it links carry the API detail.

Pick the right channel per destination

Do not activate every channel for every European country. Pick per destination: If you are unsure, start with WhatsApp where your audience is smartphone-heavy, SMS everywhere else. Add RCS only where you pass the launch gates below.

1. Sender choice: WABA, registered sender ID, or a 2-way number

European SMS sender regulation is destination-level, not channel-level. Pick the sender before you send:
  • WhatsApp — a verified WhatsApp Business Account (WABA). The sender IS the WABA profile; there is no per-message from. Verification runs in Channels → WhatsApp → Connect.
  • SMS alphanumeric sender ID — a 3–11 character brand string (MyBrand). Most of Europe requires per-country registration before traffic flows. Register it under Compliance → Sender-ID Registration; the send-time gate refuses traffic to gated destinations until the registration is approved — failures come back as a visible rejected, never silently filtered.
  • SMS 2-way long code — a real E.164 number. Required when you need inbound replies (STOP, support, opt-in). Buy it under Numbers → Buy; check stock first with the country-capabilities summary.
To check what a destination requires before you pick:
The response tells you which line types and sender forms are in stock for the destination. Route the sender decision through that result, not through habit — the wrong sender on a gated destination is a rejected you can avoid.

2. RCS-first pathway (DE/FR/ES, expanding)

RCS sends run under a verified business agent, and carriers only launch after brand + agent + per-carrier verification. Follow the full gates in order in the RCS onboarding guide; this checklist is the short version:
  1. Register the brand and create the agent (one combined submission).
  2. Pass per-carrier verification for the destinations you target.
  3. Before the first campaign, check recipient capability rather than assuming reach:
A capable: true handset takes RCS; a capable: false one falls through to SMS if you wire the chain. Size reach before committing a segment — the RCS onboarding guide’s reach-scanning step returns a recommended channel mix (rcs, mixed, or sms).

3. SMS fallback with an alphanumeric sender

SMS is the universal European floor — it delivers where WhatsApp and RCS do not. Send with the registered sender ID as from:
The same send through the Node.js SDK:
202 Accepted means queued; terminal delivered / failed arrives on the delivery-status webhook. For RCS→SMS fallback wiring, see Fallback chains. Sending into Europe without recorded consent is a deliverability and regulatory problem. Consent capture, lawful-basis tracking, residency, retention, and DSAR are tenant-owned controls — Orbit gives you the knobs; the posture you assemble is yours. Wire it before the first campaign:
  1. Record per-channel consent on the contact with the Consent Management API; the lawful basis (consent, legitimate interest) travels with the record. See Consent Management & Receipts.
  2. Map the rest of the GDPR posture — residency, retention, DSAR SLA, the Art. 30 register, the DPA — with the end-to-end walkthrough in Assembling a GDPR Posture.
  3. Honour revocation: a withdrawn consent suppresses further sends on that channel; the consent inspector shows the current state per contact.
None of these controls blocks outbound by default. They record and enforce the posture you choose — the regulatory decision stays with you.

Errors and troubleshooting

The from value fails format rules: 3–11 characters, letters/digits/space/hyphen/underscore. An 11-character ceiling is the GSM 7-bit hard limit; regulators such as OFCOM (UK) and AGCOM (Italy) also reject IDs shorter than 3 characters. Fix the format and retry.
The destination requires a registered alphanumeric sender ID and your registration for that country is not yet approved (or was never submitted). Check status under Compliance → Sender-ID Registration. The send-time gate fails visibly as rejected — no silent filtering — so you catch it on the delivery-status webhook.
The recipient’s carrier is not in the bot’s launched carrier_statuses set, or the handset is not RCS-capable. Check GET /rcs/bots/:id/quality and pre-scan capability per the RCS-first pathway above — never assume reach.
The template name is not approved on the WABA, or template params do not match the approved placeholders. Approve the template in Meta Business Suite first, then reference it by name.
The destination has no inventory of the line type you need (common: SMS-capable mobiles in GB). Pick an alternative line type (local landline, toll-free) or a different sender form — the summary exists so you find this out before a number search, not after.

See also