sms compliance

Sent logo
Sent TeamMay 3, 2025 / sms compliance / Article

Belgium SMS Guide

Explore Belgium SMS: compliance (GDPR, BIPT), features (two-way, concatenation), & best practices. Includes multilingual STOP/ARR??TER/STOPPEN keyword requirements. Learn about E.164 formatting (+32), alphanumeric sender IDs, & avoiding error code 21614 (landlines). API integration examples provided.

Belgium SMS Best Practices, Compliance, and Features

Belgium SMS Market Overview

Locale name:Belgium
ISO code:BE
RegionEurope
Mobile country code (MCC)206
Dialing Code+32

Market Conditions: Belgium has a mature mobile market with high SMS adoption rates. The country's three main mobile operators - Proximus, Orange Belgium, and BASE (owned by Telenet) - provide comprehensive coverage across the region. While OTT messaging apps like WhatsApp and Facebook Messenger are popular, SMS remains a crucial channel for business communications, particularly for authentication, notifications, and marketing messages. The market shows a relatively even split between Android and iOS users, with both platforms well-represented in the Belgian market.


Key SMS Features and Capabilities in Belgium

Belgium supports a comprehensive range of SMS features including two-way messaging, concatenated messages, and number portability, making it a robust market for business messaging.

Two-way SMS Support

Two-way SMS is fully supported in Belgium, allowing businesses to engage in interactive messaging with customers. There are no specific restrictions on two-way messaging, making it ideal for customer service and engagement scenarios.

Concatenated Messages (Segmented SMS)

Support: Yes, concatenation is fully supported across Belgian networks.
Message length rules: Standard SMS length of 160 characters for GSM-7 encoding, or 70 characters for Unicode (UCS-2) encoding. Messages exceeding these limits are automatically concatenated.
Encoding considerations: GSM-7 is recommended for standard Latin alphabet messages, while UCS-2 should be used for messages containing special characters or non-Latin alphabets.

MMS Support

MMS messages are automatically converted to SMS with an embedded URL link. This ensures compatibility across all devices while still allowing rich media content to be shared. Best practice is to use short URLs and ensure content is mobile-optimized.

Recipient Phone Number Compatibility

Number Portability

Number portability is fully available in Belgium, allowing users to keep their numbers when switching carriers. This feature doesn't significantly impact message delivery or routing as the system automatically handles carrier identification.

Sending SMS to Landlines

Sending SMS to landline numbers is not supported in Belgium. Attempts to send messages to landline numbers will result in delivery failure, and the API will return a 400 response with error code 21614. These messages won't appear in logs and won't incur charges.

Compliance and Regulatory Guidelines for SMS in Belgium

Belgium follows strict GDPR requirements and telecommunications regulations overseen by the Belgian Institute for Postal Services and Telecommunications (BIPT). All SMS marketing must comply with both Belgian telecommunications law and EU data protection regulations.

Explicit Consent Requirements:

  • Written or digital consent must be obtained before sending marketing messages
  • Consent must be freely given, specific, and informed
  • Keep detailed records of when and how consent was obtained
  • Double opt-in is recommended for marketing campaigns

Best Practices for Consent:

  • Use clear, unambiguous language when requesting consent
  • Specify the types of messages recipients will receive
  • Document consent timestamp, source, and IP address
  • Regularly clean and update consent records

HELP/STOP and Other Commands

Required Keywords:

  • STOP/ARR??TER/STOPPEN (multilingual support required)
  • AIDE/HELP/HULP
  • All keywords must be processed in both uppercase and lowercase
  • Commands must be supported in French, Dutch, and English

Language Considerations:

  • Support all three official languages (French, Dutch, German)
  • Include language preference in opt-in process
  • Provide opt-out instructions in the recipient's preferred language

Do Not Call / Do Not Disturb Registries

Belgium maintains the "Ne m'appelez plus/Bel-me-niet-meer" registry for telemarketing, but this primarily applies to voice calls. However, best practices include:

  • Maintaining internal suppression lists
  • Immediate processing of opt-out requests (within 24 hours)
  • Regular database cleaning to remove unsubscribed numbers
  • Proactive filtering of known opted-out numbers

Time Zone Sensitivity

Belgium observes Central European Time (CET/CEST). While there are no strict legal time restrictions for SMS:

  • Recommended sending window: 08:00 - 20:00 CET
  • Avoid sending on: Sundays and national holidays
  • Emergency messages: Can be sent 24/7 if truly urgent
  • Best practice: Schedule campaigns between 10:00 - 18:00 on business days

Phone Numbers Options and SMS Sender Types for Belgium

Alphanumeric Sender ID

Operator network capability: Supported
Registration requirements: No pre-registration required
Sender ID preservation: Sender IDs are typically overwritten with shortcodes for improved deliverability

Long Codes

Domestic vs. International:

  • Domestic: Fully supported
  • International: Supported but with potential delivery limitations

Sender ID preservation:

  • Domestic: Yes
  • International: No, typically overwritten

Provisioning time: 1-3 business days Use cases: Ideal for two-way communication, customer service, and transactional messages

Short Codes

Support: Available through major carriers
Provisioning time: 8-12 weeks for dedicated shortcodes
Use cases:

  • High-volume marketing campaigns
  • Two-factor authentication
  • Customer loyalty programs
  • Emergency alerts

Restricted SMS Content, Industries, and Use Cases

Prohibited Content and Industries:

  • Gambling and betting services
  • Unauthorized financial services
  • Adult content
  • Cryptocurrency promotions without proper authorization
  • Unauthorized pharmaceutical products

Regulated Industries:

  • Financial services require regulatory disclaimers
  • Healthcare messages must comply with privacy regulations
  • Insurance products need clear terms and conditions

Content Filtering

Known Carrier Filtering Rules:

  • URLs must be from whitelisted domains
  • No URL shorteners allowed
  • Maximum of one URL per message
  • No excessive capitalization or special characters

Tips to Avoid Blocking:

  • Use clear, consistent sender IDs
  • Maintain regular sending patterns
  • Avoid spam trigger words
  • Keep URL count to minimum
  • Use approved URL domains only

Best Practices for Sending SMS in Belgium

Messaging Strategy

  • Keep messages under 160 characters when possible
  • Include clear call-to-action
  • Personalize using recipient's name or preferences
  • Maintain consistent sending patterns

Sending Frequency and Timing

  • Maximum 4-5 marketing messages per month per recipient
  • Respect business hours and time zones
  • Avoid sending during major holidays
  • Space out messages to prevent recipient fatigue

Localization

  • Offer content in French, Dutch, and German
  • Allow language preference selection
  • Use appropriate regional formatting for dates and numbers
  • Consider cultural sensitivities and local customs

Opt-Out Management

  • Process opt-outs within 24 hours
  • Maintain centralized opt-out database
  • Include opt-out instructions in every marketing message
  • Confirm opt-out with one final message

Testing and Monitoring

  • Test across all major Belgian carriers
  • Monitor delivery rates by carrier
  • Track engagement metrics
  • Regular A/B testing of message content
  • Monitor and analyze opt-out reasons

SMS API integrations for Belgium

Twilio

Twilio provides a robust SMS API with excellent support for Belgian numbers. Authentication uses account SID and auth token credentials.

Key Parameters:

  • from: Your Twilio phone number (must be in E.164 format)
  • to: Recipient's Belgian number (must start with +32)
  • body: Message content (supports Unicode)
typescript
import { Twilio } from 'twilio';

// Initialize client with environment variables
const client = new Twilio(
  process.env.TWILIO_ACCOUNT_SID,
  process.env.TWILIO_AUTH_TOKEN
);

async function sendSMSBelgium(
  to: string,
  message: string
): Promise<void> {
  try {
    // Send message using Twilio client
    const response = await client.messages.create({
      body: message,
      from: process.env.TWILIO_PHONE_NUMBER, // Your Twilio number
      to: `+32${to.replace(/\D/g, '')}` // Format number to E.164
    });

    console.log(`Message sent successfully! SID: ${response.sid}`);
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

Sinch

Sinch offers comprehensive SMS capabilities for Belgium through their REST API. Authentication uses API token and service plan ID.

Key Parameters:

  • from: Sender ID or phone number
  • to: Array of recipient numbers
  • body: Message content
typescript
import { SinchClient } from '@sinch/sdk';

class SinchSMSService {
  private client: SinchClient;

  constructor() {
    this.client = new SinchClient({
      servicePlanId: process.env.SINCH_SERVICE_PLAN_ID,
      apiToken: process.env.SINCH_API_TOKEN,
      region: 'europe-west1' // Region for Belgium
    });
  }

  async sendSMS(to: string, message: string): Promise<void> {
    try {
      const response = await this.client.sms.send({
        to: [`+32${to.replace(/\D/g, '')}`],
        message,
        from: process.env.SINCH_SENDER_ID
      });

      console.log(`Message sent! Batch ID: ${response.id}`);
    } catch (error) {
      console.error('Sinch SMS error:', error);
      throw error;
    }
  }
}

MessageBird

MessageBird provides a straightforward API for sending SMS to Belgian numbers. Authentication uses an API key.

Key Parameters:

  • originator: Sender ID (alphanumeric or number)
  • recipients: Array of recipient numbers
  • content: Message content
typescript
import messagebird from 'messagebird';

class MessageBirdService {
  private client: any;

  constructor() {
    this.client = messagebird(process.env.MESSAGEBIRD_API_KEY);
  }

  async sendSMS(to: string, message: string): Promise<void> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator: process.env.MESSAGEBIRD_ORIGINATOR,
        recipients: [`+32${to.replace(/\D/g, '')}`],
        content: message
      }, (err: any, response: any) => {
        if (err) {
          console.error('MessageBird error:', err);
          reject(err);
        } else {
          console.log('Message sent:', response.id);
          resolve();
        }
      });
    });
  }
}

Plivo

Plivo offers reliable SMS delivery in Belgium with detailed delivery reporting. Authentication uses auth ID and auth token.

Key Parameters:

  • src: Source number
  • dst: Destination number
  • text: Message content
typescript
import plivo from 'plivo';

class PlivoSMSService {
  private client: any;

  constructor() {
    this.client = new plivo.Client(
      process.env.PLIVO_AUTH_ID,
      process.env.PLIVO_AUTH_TOKEN
    );
  }

  async sendSMS(to: string, message: string): Promise<void> {
    try {
      const response = await this.client.messages.create({
        src: process.env.PLIVO_SOURCE_NUMBER,
        dst: `+32${to.replace(/\D/g, '')}`,
        text: message
      });

      console.log('Message sent:', response.messageUuid);
    } catch (error) {
      console.error('Plivo error:', error);
      throw error;
    }
  }
}

API Rate Limits and Throughput

Rate Limits:

  • Twilio: 250 messages per second
  • Sinch: 30 messages per second
  • MessageBird: 60 messages per second
  • Plivo: 50 messages per second

Throughput Management Strategies:

  • Implement queue systems for high-volume sending
  • Use batch APIs when available
  • Add exponential backoff for retry logic
  • Monitor delivery rates and adjust sending speed

Error Handling and Reporting

Best Practices:

  • Implement comprehensive error logging
  • Monitor delivery receipts (DLRs)
  • Set up automated alerts for failure thresholds
  • Maintain error logs with message IDs
  • Regular analysis of failure patterns

Recap and Additional Resources

Key Takeaways:

  1. Always format numbers to E.164 standard (+32)
  2. Implement proper error handling and monitoring
  3. Respect rate limits and implement queuing for high volume
  4. Follow GDPR and local regulations
  5. Support multilingual messages (French, Dutch, German)

Next Steps:

  1. Review the Belgian Institute for Postal Services and Telecommunications (BIPT) guidelines
  2. Consult legal counsel for compliance verification
  3. Set up monitoring and analytics
  4. Test thoroughly across all major Belgian carriers

Additional Resources:

Industry Best Practices:

Frequently Asked Questions

What is the SMS market like in Belgium?

Belgium has a mature mobile market with high SMS adoption. Key players include Proximus, Orange Belgium, and BASE, with good coverage nationwide. Although OTT apps are popular, SMS remains important for business uses like authentication and notifications.

How to send concatenated SMS messages in Belgium?

Concatenated messages are supported. Standard SMS length is 160 characters for GSM-7 or 70 for Unicode (UCS-2). Longer messages are automatically concatenated. Use GSM-7 for standard Latin alphabet and UCS-2 for special characters.

Why does Belgium convert MMS to SMS?

MMS messages are automatically converted to SMS with a URL link to ensure compatibility across all devices. It's best to use short, mobile-optimized URLs for the embedded content.

Can I send SMS to landlines in Belgium?

No, sending SMS to landlines in Belgium isn't supported and will result in delivery failure with a 400 response and error code 21614. These messages won't be logged or charged.

How to get consent for SMS marketing in Belgium?

Explicit written or digital consent is required before sending marketing SMS in Belgium. Consent must be freely given, specific, and informed, following GDPR guidelines. Double opt-in is recommended.

When should I send marketing SMS in Belgium?

While no strict legal restrictions exist, the recommended sending window is 8:00 - 20:00 CET, avoiding Sundays and holidays. Emergency messages are exempt from these guidelines.

What alphanumeric sender ID rules apply to SMS in Belgium?

Alphanumeric sender IDs are supported without pre-registration. However, they are often overwritten with shortcodes to improve deliverability.

How long does short code provisioning take in Belgium?

Provisioning dedicated short codes in Belgium typically takes 8-12 weeks. Short codes are ideal for high-volume marketing, two-factor authentication, and loyalty programs.

What SMS content is prohibited in Belgium?

Prohibited SMS content includes gambling, unauthorized financial services, adult content, cryptocurrency promotions without authorization, and unauthorized pharmaceutical products.

How to avoid SMS filtering in Belgium?

To avoid SMS filtering, use whitelisted domains, avoid URL shorteners, limit one URL per message, avoid excessive capitalization and special characters, and maintain consistent sending patterns.

What are best practices for SMS marketing frequency in Belgium?

Limit marketing messages to 4-5 per recipient monthly. Respect business hours, avoid major holidays, and space out messages to prevent recipient fatigue.

How to format phone numbers for SMS APIs in Belgium?

Always format Belgian phone numbers in E.164 international format, starting with +32, followed by the 9-digit number, when using SMS APIs.

What are some SMS API integration options for Belgium?

Several SMS APIs support Belgium, including Twilio, Sinch, MessageBird, and Plivo. Each offers different features and pricing, so choose one that fits your needs.

What are the rate limits for popular SMS APIs in Belgium?

API rate limits vary by provider. Twilio allows 250/second, Sinch 30/second, MessageBird 60/second, and Plivo 50/second. Implement queuing systems for high-volume sending to manage these limits.

What are the required keywords for SMS in Belgium?

Required keywords include STOP/ARRÊTER/STOPPEN, AIDE/HELP/HULP. These must be processed in both uppercase and lowercase, and supported in French, Dutch, and English.