sms compliance

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

Benin SMS Guide

Explore Benin SMS: compliance (ARCEP), features, & best practices. Supports 2-way SMS, concatenated messages (160 GSM-7 chars), but not landlines. Mandates double opt-in, STOP/HELP commands, & 8 AM-5 PM GMT+1 sending window. Alphanumeric sender ID pre-registration required.

Benin SMS Best Practices, Compliance, and Features

Benin SMS Market Overview

Locale name:Benin
ISO code:BJ
RegionWest Africa
Mobile country code (MCC)616
Dialing Code+229

Market Conditions: Benin's mobile market is dominated by three major operators: MTN Benin, Moov Benin, and Glo Benin. SMS remains a crucial communication channel, particularly for business messaging and notifications. While OTT messaging apps like WhatsApp are gaining popularity in urban areas, SMS maintains strong penetration across both rural and urban regions due to its reliability and universal device support. Android devices dominate the market with over 85% market share, while iOS devices represent a smaller segment primarily in urban centers.


Key SMS Features and Capabilities in Benin

Benin supports standard SMS features including two-way messaging, concatenation, and delivery receipts, with specific regulatory requirements around sender identification and message content.

Two-way SMS Support

Two-way SMS is fully supported in Benin across all major carriers. You can implement interactive messaging campaigns, though you'll need to ensure compliance with ARCEP guidelines for commercial messaging interactions.

Concatenated Messages (Segmented SMS)

Support: Yes, concatenated messages are fully supported across all major carriers in Benin.
Message length rules: Standard 160 characters for single SMS using GSM-7 encoding, or 70 characters for Unicode. Messages exceeding these limits are automatically segmented into multiple parts.
Encoding considerations: GSM-7 is recommended for standard Latin alphabet messages to maximize character limit. UCS-2 encoding is supported for messages containing special characters or local language content, though this reduces the per-message character limit.

MMS Support

MMS messages are not universally supported across all carriers in Benin. When sending rich media content, it's recommended to send an SMS with a URL link to the content hosted online. This ensures better deliverability and user experience across all device types.

Recipient Phone Number Compatibility

Number Portability

Number portability is currently being implemented in Benin as part of the transition to 10-digit numbers by December 2024. During this transition period, both 8-digit and 10-digit numbers are supported, but after December 29, 2024, only 10-digit numbers will be valid.

Sending SMS to Landlines

SMS to landline numbers is not supported in Benin. Attempts to send SMS to landline numbers will result in delivery failure, and you should filter out landline numbers from your recipient lists to maintain good delivery rates.

Compliance and Regulatory Guidelines for SMS in Benin

SMS communications in Benin are regulated by the Autorit?? de R??gulation des Communications ??lectroniques et de la Poste (ARCEP). All SMS marketing and commercial communications must comply with ARCEP guidelines and local data protection regulations. The regulatory framework emphasizes consumer protection and transparent communication practices.

Double Opt-In Requirement: Benin regulations mandate implementing a double opt-in workflow for all marketing communications. You must:

  • Obtain explicit written consent before sending any commercial messages
  • Store consent records for a minimum of 18 months
  • Maintain detailed timestamp records of when and how consent was obtained
  • Document the specific services or message types the user agreed to receive

HELP/STOP and Other Commands

All SMS campaigns must support the following commands:

  • STOP: Immediate opt-out (required in both French and English)
  • AIDE/HELP: Information about the service
  • INFO: Service details and contact information

Messages should be processed in both French and local languages, with STOP commands taking effect immediately upon receipt.

Do Not Call / Do Not Disturb Registries

While Benin does not maintain a centralized Do Not Call registry, operators recommend:

  • Maintaining your own suppression lists
  • Conducting monthly verification of opt-out requests
  • Implementing immediate STOP request processing
  • Keeping records of opt-out requests for at least 18 months

Time Zone Sensitivity

ARCEP mandates specific time restrictions for commercial SMS:

  • Permitted Hours: 8:00 AM to 5:00 PM (GMT+1)
  • Restricted Days: No promotional messages on Sundays and public holidays
  • Emergency Messages: Time restrictions don't apply to critical service updates or emergency notifications

Phone Numbers Options and SMS Sender Types for in Benin

Alphanumeric Sender ID

Operator network capability: Fully supported across all major networks
Registration requirements: Pre-registration required with ARCEP; must submit company documentation
Sender ID preservation: Displayed as registered, maximum 11 characters allowed

Long Codes

Domestic vs. International: Both supported, with preference for domestic numbers
Sender ID preservation: Original sender ID preserved across all major carriers
Provisioning time: 3-5 business days for domestic, 5-7 for international
Use cases: Ideal for two-way communication, customer support, and transactional messages

Short Codes

Support: Available through major carriers
Provisioning time: 4-6 weeks for approval and activation
Use cases: Best for high-volume campaigns, marketing messages, and time-sensitive notifications


Restricted SMS Content, Industries, and Use Cases

Prohibited content includes:

  • Gambling and betting services
  • Adult content or explicit material
  • Unauthorized financial services
  • Political campaign messages without proper authorization
  • Pharmaceutical promotions without regulatory approval

Content Filtering

Carrier filtering rules target:

  • URLs from suspicious domains
  • Keywords associated with restricted industries
  • High-frequency messaging patterns
  • Messages containing specific restricted terms

To avoid filtering:

  • Use approved sender IDs
  • Maintain consistent sending patterns
  • Avoid URL shorteners in messages
  • Include clear company identification

Best Practices for Sending SMS in Benin

Messaging Strategy

  • Keep messages under 160 characters when possible
  • Include clear call-to-actions
  • Personalize messages using recipient's name or relevant details
  • Maintain consistent branding across campaigns

Sending Frequency and Timing

  • Limit to 4-5 messages per month per recipient
  • Respect local holidays and cultural events
  • Avoid sending during prayer times on Fridays
  • Space out messages to prevent recipient fatigue

Localization

  • Primary languages: French (official), Fon, Yoruba
  • Consider bilingual messages for important communications
  • Use local date and time formats
  • Respect cultural sensitivities in message content

Opt-Out Management

  • Process opt-outs within 24 hours
  • Send confirmation of opt-out completion
  • Maintain separate opt-out lists for different types of messages
  • Regular audit of opt-out compliance

Testing and Monitoring

  • Test across MTN, Moov, and Glo networks
  • Monitor delivery rates by carrier
  • Track engagement metrics and opt-out rates
  • Regular testing of opt-out functionality

SMS API integrations for Benin

Twilio

Twilio provides a robust SMS API with specific support for Benin's messaging requirements. Integration requires your Account SID and Auth Token from the Twilio Console.

typescript
import { Twilio } from 'twilio';

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

// Function to send SMS to Benin
async function sendSMSToBenin(
  to: string,
  message: string,
  senderId: string
): Promise<void> {
  try {
    // Validate Benin phone number format
    const beninNumberRegex = /^\+229[0-9]{8,10}$/;
    if (!beninNumberRegex.test(to)) {
      throw new Error('Invalid Benin phone number format');
    }

    // Send message with proper parameters
    const response = await client.messages.create({
      body: message,
      from: senderId,  // Registered alphanumeric sender ID
      to: to,
      // Set statusCallback for delivery tracking
      statusCallback: 'https://your-webhook.com/status'
    });

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

Sinch

Sinch offers direct carrier connections in Benin with support for both transactional and promotional messages.

typescript
import axios from 'axios';

class SinchSMSClient {
  private readonly apiToken: string;
  private readonly serviceId: string;
  private readonly baseUrl: string = 'https://sms.api.sinch.com/xms/v1';

  constructor(apiToken: string, serviceId: string) {
    this.apiToken = apiToken;
    this.serviceId = serviceId;
  }

  async sendSMS(to: string, message: string): Promise<void> {
    try {
      const response = await axios.post(
        `${this.baseUrl}/${this.serviceId}/batches`,
        {
          from: 'YourBrand', // Registered sender ID
          to: [to],
          body: message,
          delivery_report: 'summary'
        },
        {
          headers: {
            'Authorization': `Bearer ${this.apiToken}`,
            'Content-Type': 'application/json'
          }
        }
      );

      console.log('Message sent:', response.data.id);
    } catch (error) {
      console.error('Sinch SMS error:', error);
      throw error;
    }
  }
}

MessageBird

MessageBird provides reliable SMS delivery in Benin with support for delivery receipts and Unicode messages.

typescript
import { MessageBird } from 'messagebird';

class MessageBirdClient {
  private client: MessageBird;

  constructor(apiKey: string) {
    this.client = new MessageBird(apiKey);
  }

  async sendSMS(
    recipient: string,
    message: string,
    senderId: string
  ): Promise<void> {
    const params = {
      originator: senderId,
      recipients: [recipient],
      body: message,
      reportUrl: 'https://your-webhook.com/delivery-reports'
    };

    return new Promise((resolve, reject) => {
      this.client.messages.create(params, (err, response) => {
        if (err) {
          console.error('MessageBird error:', err);
          reject(err);
        } else {
          console.log('Message sent:', response.id);
          resolve();
        }
      });
    });
  }
}

Plivo

Plivo offers competitive rates for SMS delivery to Benin with support for high-volume messaging.

typescript
import plivo from 'plivo';

class PlivoSMSClient {
  private client: plivo.Client;

  constructor(authId: string, authToken: string) {
    this.client = new plivo.Client(authId, authToken);
  }

  async sendSMS(
    destination: string,
    message: string,
    senderId: string
  ): Promise<void> {
    try {
      const response = await this.client.messages.create({
        src: senderId,
        dst: destination,
        text: message,
        // Benin-specific parameters
        powerpack_uuid: 'your-powerpack-uuid', // If using Powerpack
        url: 'https://your-webhook.com/delivery-status'
      });

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

API Rate Limits and Throughput

  • Default rate limit: 30 messages per second
  • Batch processing: Maximum 1000 numbers per request
  • Daily sending quota: Based on account level and carrier agreements

Throughput Management Strategies:

  • Implement exponential backoff for retry logic
  • Use queue systems (Redis/RabbitMQ) for high-volume sending
  • Monitor carrier capacity in real-time

Error Handling and Reporting

  • Implement comprehensive logging with Winston or Bunyan
  • Track delivery receipts via webhooks
  • Monitor carrier-specific error codes
  • Maintain error logs for compliance reporting

Recap and Additional Resources

Key Takeaways:

  • Implement double opt-in for all marketing messages
  • Respect sending windows (8 AM - 5 PM GMT+1)
  • Maintain proper consent records for 18 months
  • Support both 8-digit and 10-digit number formats during transition

Next Steps:

  1. Review ARCEP guidelines for SMS messaging
  2. Implement proper consent management systems
  3. Set up delivery receipt monitoring
  4. Test message delivery across all major carriers

Additional Information:

Industry Resources:

  • Mobile Operator Guidelines: MTN, Moov, Glo
  • GSMA Messaging Guidelines
  • A2P SMS Best Practices Guide

Frequently Asked Questions

How to send SMS messages in Benin?

SMS messages in Benin can be sent through various methods, including SMS APIs like Twilio, Sinch, MessageBird, and Plivo. These APIs allow integration with your systems and offer features for managing sending, receiving, and tracking messages. Be sure to adhere to Benin's regulations when sending messages, such as obtaining double opt-in consent and respecting sending time restrictions from 8 AM to 5 PM GMT+1.

What is the double opt-in requirement for SMS in Benin?

Benin's regulations require double opt-in for all marketing SMS messages. This means businesses must obtain explicit written consent from users before sending commercial messages and confirm this consent through a second verification step, often through a confirmation code or link. You must also retain records of consent for at least 18 months and maintain a detailed timestamp record of when and how consent was obtained.

Why does Benin require double opt-in for SMS marketing?

Double opt-in is mandated in Benin to protect consumers from unsolicited messages and ensure they have actively agreed to receive communications from a particular business. This approach strengthens data protection and encourages transparent communication practices, in line with ARCEP regulations.

When should I send SMS messages in Benin?

The permitted hours for sending commercial SMS messages in Benin are between 8:00 AM and 5:00 PM (GMT+1). Avoid sending messages on Sundays and public holidays. These restrictions, enforced by ARCEP, do not apply to crucial service updates or emergency notifications.

What is the SMS character limit in Benin?

Benin supports standard SMS lengths: 160 characters for GSM-7 encoding (standard Latin alphabet) and 70 characters for UCS-2 encoding (special characters or local languages). Messages longer than these limits are automatically segmented into multiple parts (concatenated SMS).

Can I send SMS messages to landlines in Benin?

No, SMS to landline numbers is not supported in Benin. Attempts to send to landlines will fail, so it is crucial to filter these numbers from your recipient list to maintain good delivery rates.

What are the HELP/STOP commands required for SMS in Benin?

All SMS campaigns must support STOP (to opt-out), AIDE/HELP (for information about the service), and INFO (for service details and contact information). STOP must be processed in both French and English, effective immediately upon receipt. While there's no centralized Do Not Call registry, maintaining your own suppression list is crucial.

How to register an alphanumeric sender ID in Benin?

Pre-registration with ARCEP is required to use an alphanumeric sender ID. You'll need to submit company documentation for approval. Once registered, the sender ID will be displayed as registered and limited to a maximum of 11 characters.

What are the restricted SMS content types in Benin?

Restricted content includes gambling, adult material, unauthorized financial services, political campaign messages without proper authorization, and pharmaceutical promotions without regulatory approval. ARCEP enforces content filtering rules targeting suspicious URLs, restricted keywords, high-frequency messaging, and specific restricted terms.

What are the best practices for SMS marketing in Benin?

Best practices include maintaining messages under 160 characters, using clear call-to-actions, personalizing messages, limiting frequency to 4-5 messages per month per recipient, respecting local holidays and cultural events, localizing language, and promptly processing opt-outs within 24 hours with confirmation.

What are the phone number format requirements for Benin?

Benin is currently transitioning to 10-digit numbers, to be completed by December 29, 2024. Both 8-digit and 10-digit numbers are supported during this transition period, but after December 2024 only 10-digit numbers will be valid for SMS communications. Be sure to validate number formats to ensure successful delivery.

How to handle SMS API rate limits and throughput in Benin?

Default rate limits usually cap at 30 messages per second with a batch processing maximum of 1000 numbers per request. Implement exponential backoff for retries, queue systems for high volume, and monitor carrier capacity in real-time to manage throughput effectively and avoid exceeding limits.

What is the role of ARCEP in SMS regulation in Benin?

ARCEP (Autorité de Régulation des Communications Électroniques et de la Poste) regulates SMS communications in Benin. They set guidelines for commercial messaging, including consent requirements, content restrictions, and sending timeframes, focusing on consumer protection and transparent practices.

What are the recommended API integrations for sending SMS in Benin?

Several APIs are suitable for sending SMS in Benin, including Twilio, Sinch, MessageBird, and Plivo. These APIs offer robust features for sending, receiving, and tracking messages, along with direct carrier connections for reliable delivery. Choose the API that best fits your needs and budget.