Send compliant SMS messages in the Netherlands by following GDPR regulations, Dutch Telecommunications Act requirements, and ACM (Authority for Consumers & Markets) guidelines. This comprehensive guide covers mandatory opt-in consent requirements effective since July 2021, E.164 phone number formatting standards, carrier-specific requirements for KPN, Odido (formerly T-Mobile Netherlands), and VodafoneZiggo networks, and best practices for A2P messaging compliance. Learn about the discontinued Bel-me-niet Register, alphanumeric sender ID specifications, SMS API integration examples, and how to avoid €900,000 ACM fines through proper consent management and regulatory compliance.
Why Netherlands SMS compliance matters: Non-compliance with Dutch telecommunications regulations can result in substantial ACM fines up to €900,000 per violation. Beyond financial penalties, violations damage brand reputation and customer trust. This guide helps businesses navigate GDPR consent requirements, implement proper opt-in mechanisms, and maintain regulatory compliance while effectively reaching Dutch consumers through SMS marketing and transactional messaging.
Netherlands SMS Market Overview
Locale name:
Netherlands
ISO code:
NL
Region
Europe
Mobile country code (MCC)
204
Dialing Code
+31
Netherlands Phone Number Format (E.164 Standard)
Mobile Number Structure:
Domestic format: 06 followed by 8 digits (06 XXXX XXXX)
International format (E.164): +31 6 followed by 8 digits (+31 6 XXXX XXXX)
Common mobile prefixes: 061, 062, 063, 064, 065, 066, 067, 068, 069
Format for APIs: Use E.164 format (+316XXXXXXXX) without spaces or special characters
Examples:
Valid domestic: 06 1234 5678
Valid international: +31 6 1234 5678
API format: +31612345678
Important: When formatting for international SMS APIs, omit the leading "0" and use the country code +31 prefix.
Market Conditions: The Netherlands has a highly developed mobile market with near-universal smartphone penetration. While OTT messaging apps like WhatsApp are extremely popular for P2P communications, SMS remains critical for business messaging, particularly for authentication, notifications, and marketing. The market is served by three major operators: KPN (30-35% market share), Odido (formerly T-Mobile Netherlands, 30-35% market share), and VodafoneZiggo (20-25% market share), with Mobile Virtual Network Operators (MVNOs) holding 10-15% of connections. This infrastructure supports robust consumer and A2P messaging capabilities (source: Netherlands Authority for Consumers and Markets, Q2 2024).
Key SMS Features and Capabilities in Netherlands
Use these comprehensive SMS capabilities in the Netherlands: two-way messaging, concatenation support, and number portability. Comply with strict business messaging requirements.
Two-way SMS Support
Engage in interactive messaging with your customers using fully supported two-way SMS in the Netherlands. No special restrictions apply beyond standard compliance requirements – ideal for customer service and engagement use cases.
Concatenated Messages (Segmented SMS)
Support: Yes, all major carriers support concatenation.
Message length rules: 160 characters for GSM-7 encoding, 70 characters for UCS-2 encoding before splitting.
Encoding considerations: Use GSM-7 for standard Latin characters. Switch to UCS-2 for messages with special characters or non-Latin alphabets.
MMS Support
Send MMS messages through automatic conversion to SMS with an embedded URL link to your media content. This ensures reliable delivery while letting you share rich media with recipients.
Recipient Phone Number Compatibility
Number Portability
Take advantage of full number portability in the Netherlands – users keep their phone numbers when switching carriers. This well-established feature doesn't significantly impact your message delivery or routing.
Sending SMS to Landlines
Avoid sending SMS to landline numbers – not supported in the Netherlands. Messages to landlines result in delivery failure with a 400 response and error code 21614. These messages won't appear in your logs and won't incur charges.
Netherlands SMS Compliance: GDPR and Telecommunications Act Requirements
Comply with both GDPR and the Dutch Telecommunications Act, overseen by the Authority for Consumers & Markets (ACM). Follow strict regulations for data privacy, consent management, and marketing communications.
SMS Consent Requirements in Netherlands (GDPR & Dutch Law)
Mandatory for SMS Marketing: Obtain written or digital opt-in confirmation before sending marketing messages (effective July 1, 2021)
Valid Consent Standards: Ensure consent is freely given, specific, informed, and unambiguous per GDPR requirements
Clear Affirmative Action Required: Avoid pre-ticked boxes – they don't constitute valid consent. Require active opt-in (e.g., ticking a box, clicking a button)
Double Opt-In Recommended: Implement double opt-in for your marketing campaigns to ensure valid consent
Record Keeping: Maintain records of all consent and keep them easily accessible for regulatory compliance
Purpose Transparency: Clearly state the purpose of messaging during your opt-in process
Soft Opt-In Exception: Contact existing customers with offers for equivalent products without new consent, but provide easy opt-out options
Enforcement: The Authority for Consumers & Markets (ACM) can impose fines up to €900,000 per violation for non-compliance with consent requirements.
HELP/STOP and Other Commands
Support both Dutch and English keywords:
STOP/STOPPEN for opt-out
HELP/HULP for assistance
INFO for additional information
Process these commands within 24 hours. Send confirmation messages in the same language as the received command.
Bel-me-niet Register Update: Netherlands Do Not Call Registry
Important Update (Effective July 1, 2021): The Netherlands discontinued the "Bel-me-niet Register" (Do Not Call Registry) and replaced it with a mandatory opt-in system
Current Regulations: Avoid cold calling and unsolicited SMS marketing – banned without prior explicit consent under the amended Telecommunications Act
Opt-In Requirement: Only contact consumers (including sole proprietors, general partnerships, and professional partnerships) after they give explicit permission in advance
Compliance Obligations:
Obtain explicit consent before sending any marketing communications
Maintain records of all consent obtained
Honor opt-out requests within 24 hours
Maintain internal do-not-contact lists
No registry checking required – all outreach requires prior consent
SMS Sending Hours and Time Restrictions
Send marketing SMS messages during permitted hours: 08:00–21:00 CET/CEST (Central European Time). Emergency notifications and transactional messages are exempt from time restrictions. Consider Dutch national holidays and weekends when planning campaigns. Implement automated delivery windows in your messaging systems to ensure compliance.
SMS Sender ID Options and Phone Numbers in Netherlands
Alphanumeric Sender ID in Netherlands
Operator network capability: Fully supported across KPN, Odido, and VodafoneZiggo
Registration requirements: No pre-registration required, dynamic usage allowed
Character specifications: 3-11 characters (a-z, A-Z, 0-9, and single space allowed)
Message direction: One-way messaging only – recipients cannot reply directly to alphanumeric sender IDs
Sender ID preservation: Yes, sender IDs are preserved across all major networks
Best practices:
Use recognizable brand names for better engagement and deliverability
Maintain consistency across SMS campaigns
Maximum 11 characters to ensure full display on all devices
Long Codes for SMS in Netherlands
Domestic vs. International: Both supported with full functionality
Sender ID preservation: Yes, original sender ID maintained
Provisioning time: Immediate to 24 hours
Common use cases:
Transactional SMS messaging
Two-factor authentication (2FA) and OTP verification
Support: Short codes are not currently supported in the Netherlands
Provisioning time: N/A
Alternative solutions: Use long codes or alphanumeric sender IDs for SMS campaigns instead
Netherlands SMS Content Restrictions and Industry Regulations
Restricted Industries and Content:
Avoid these restricted industries and content types:
Gambling (unless licensed by Dutch authorities)
Adult content or services
Unauthorized financial services
Prescription medications
Political messaging without proper disclosures
Content Filtering
Carrier Filtering Rules:
Ensure your messages meet these requirements:
Use links from approved domains only
Avoid excessive capitalization
Never use misleading sender information
Send maximum 5 consecutive messages to the same recipient
Best Practices to Avoid Blocking:
Use consistent sender IDs across campaigns
Maintain regular sending patterns
Avoid URL shorteners
Include clear opt-out instructions in every message
Keep content professional and relevant
Best Practices for SMS Marketing in Netherlands
SMS Messaging Strategy for Netherlands
Optimize your SMS campaigns for engagement and compliance:
Keep messages under 160 characters when possible to avoid segmentation
Include clear call-to-action (CTA) with purpose
Personalize using recipient's first name when appropriate
Maintain consistent brand voice aligned with opt-in expectations
Use tracking links for analytics and campaign performance measurement
Sending Frequency and Timing
Control your message frequency:
Send maximum 4–5 messages per month per recipient
Respect quiet hours (21:00–08:00 CET)
Avoid sending during major holidays
Space campaigns at least 48 hours apart
Localization
Adapt content for Dutch audiences:
Offer primary language options: Dutch and English
Consider bilingual messages for important communications
Use proper date formats (DD-MM-YYYY)
Account for cultural nuances and preferences
Opt-Out Management
Process opt-outs efficiently:
Process opt-outs in real-time
Send confirmation of opt-out immediately
Maintain centralized suppression list
Conduct regular audits of opt-out processes
Document opt-out dates and methods
Testing and Monitoring
Test thoroughly across carriers:
Test across KPN, Odido (formerly T-Mobile), and VodafoneZiggo
Monitor delivery rates by carrier
Track engagement metrics
Run regular A/B testing of message content
Maintain quality score above industry benchmarks
SMS API Integration for Netherlands: Twilio, Sinch & MessageBird
Twilio
Send SMS to Netherlands using Twilio's robust REST API. Authenticate with your account SID and auth token. Use +3197 prefix numbers for A2P messaging.
TypeScript
import { Twilio } from'twilio';
// Initialize client with environment variablesconst client = newTwilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to NetherlandsasyncfunctionsendDutchSMS(to: string,
message: string,
from: string): Promise<void> {
try {
// Validate Dutch phone number formatif (!to.startsWith('+31')) {
thrownewError('Invalid Dutch phone number format');
}
const response = await client.messages.create({
body: message,
to: to, // Must be in E.164 format: +31612345678from: from, // Your +3197 prefix number
});
console.log(`Message sent successfully: ${response.sid}`);
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
Sinch
Access comprehensive SMS services through Sinch's RESTful API. Send both transactional and marketing messages in the Netherlands.
The Netherlands operates under GDPR and the Dutch Telecommunications Act, overseen by the Authority for Consumers & Markets (ACM). Businesses must obtain explicit consent for marketing messages, honor opt-out requests within 24 hours, and adhere to strict data privacy regulations. Double opt-in is recommended, and records of consent must be maintained.
Several APIs like Twilio, Sinch, and MessageBird offer SMS services in the Netherlands. You'll need an account and to adhere to specific formatting for Dutch phone numbers (+31). Remember to comply with regulations like obtaining consent and respecting quiet hours (21:00-08:00 CET).
Keywords like STOP/STOPPEN, HELP/HULP, and INFO must be supported in both Dutch and English. These commands need to be processed within 24 hours, and confirmation messages should be sent in the language of the received command.
SMS to landline numbers isn't supported, resulting in delivery failure and a 400 API response with error code 21614. Such messages won't be logged or charged. The Netherlands has high mobile penetration, making landline SMS impractical.
Permitted sending hours are 08:00-21:00 CET. Emergency notifications are exempt. Avoid sending messages during major Dutch holidays and weekends. Consider using automated delivery windows to respect these times.
Alphanumeric sender IDs and long codes are fully supported. Short codes are not supported; use long codes or alphanumeric sender IDs instead. For A2P messaging, a +3197 prefix number is required.
Process opt-outs immediately and send confirmation messages. Maintain a centralized suppression list and regularly audit opt-out processes. Be sure to document opt-out dates and methods for compliance.
The standard limit is 160 characters for GSM-7 encoding and 70 for UCS-2, which handles special characters. Concatenation is supported for longer messages, splitting them into segments.
No, short codes are not currently supported. Utilize long codes or alphanumeric sender IDs for your messaging needs in the Netherlands.
Keep messages concise, include a clear call to action, personalize when possible, and maintain a consistent brand voice. Track engagement metrics and conduct A/B testing to optimize your messaging strategy.
Implement strategies like exponential backoff for retries, use queue systems for high volume, batch messages, and monitor rate limit headers provided by the API.
Gambling (unless licensed), adult content, unauthorized financial services, prescription medications, and political messaging without proper disclosures are restricted.
Use consistent sender IDs, avoid URL shorteners, include clear opt-out instructions, and maintain regular sending patterns. Keep content professional and relevant to the recipient.
Send compliant SMS messages in the Netherlands by following GDPR regulations, Dutch Telecommunications Act requirements, and ACM (Authority for Consumers & Markets) guidelines. This comprehensive guide covers mandatory opt-in consent requirements effective since July 2021, E.164 phone number formatting standards, carrier-specific requirements for KPN, Odido (formerly T-Mobile Netherlands), and VodafoneZiggo networks, and best practices for A2P messaging compliance. Learn about the discontinued Bel-me-niet Register, alphanumeric sender ID specifications, SMS API integration examples, and how to avoid €900,000 ACM fines through proper consent management and regulatory compliance.
Why Netherlands SMS compliance matters: Non-compliance with Dutch telecommunications regulations can result in substantial ACM fines up to €900,000 per violation. Beyond financial penalties, violations damage brand reputation and customer trust. This guide helps businesses navigate GDPR consent requirements, implement proper opt-in mechanisms, and maintain regulatory compliance while effectively reaching Dutch consumers through SMS marketing and transactional messaging.
Netherlands SMS Market Overview
Netherlands Phone Number Format (E.164 Standard)
Mobile Number Structure:
Examples:
Important: When formatting for international SMS APIs, omit the leading "0" and use the country code +31 prefix.
Market Conditions: The Netherlands has a highly developed mobile market with near-universal smartphone penetration. While OTT messaging apps like WhatsApp are extremely popular for P2P communications, SMS remains critical for business messaging, particularly for authentication, notifications, and marketing. The market is served by three major operators: KPN (30-35% market share), Odido (formerly T-Mobile Netherlands, 30-35% market share), and VodafoneZiggo (20-25% market share), with Mobile Virtual Network Operators (MVNOs) holding 10-15% of connections. This infrastructure supports robust consumer and A2P messaging capabilities (source: Netherlands Authority for Consumers and Markets, Q2 2024).
Key SMS Features and Capabilities in Netherlands
Use these comprehensive SMS capabilities in the Netherlands: two-way messaging, concatenation support, and number portability. Comply with strict business messaging requirements.
Two-way SMS Support
Engage in interactive messaging with your customers using fully supported two-way SMS in the Netherlands. No special restrictions apply beyond standard compliance requirements – ideal for customer service and engagement use cases.
Concatenated Messages (Segmented SMS)
Support: Yes, all major carriers support concatenation. Message length rules: 160 characters for GSM-7 encoding, 70 characters for UCS-2 encoding before splitting. Encoding considerations: Use GSM-7 for standard Latin characters. Switch to UCS-2 for messages with special characters or non-Latin alphabets.
MMS Support
Send MMS messages through automatic conversion to SMS with an embedded URL link to your media content. This ensures reliable delivery while letting you share rich media with recipients.
Recipient Phone Number Compatibility
Number Portability
Take advantage of full number portability in the Netherlands – users keep their phone numbers when switching carriers. This well-established feature doesn't significantly impact your message delivery or routing.
Sending SMS to Landlines
Avoid sending SMS to landline numbers – not supported in the Netherlands. Messages to landlines result in delivery failure with a 400 response and error code 21614. These messages won't appear in your logs and won't incur charges.
Netherlands SMS Compliance: GDPR and Telecommunications Act Requirements
Comply with both GDPR and the Dutch Telecommunications Act, overseen by the Authority for Consumers & Markets (ACM). Follow strict regulations for data privacy, consent management, and marketing communications.
SMS Consent Requirements in Netherlands (GDPR & Dutch Law)
Explicit Consent Requirements (Dutch Telecommunications Act Article 11.7 & GDPR):
Enforcement: The Authority for Consumers & Markets (ACM) can impose fines up to €900,000 per violation for non-compliance with consent requirements.
HELP/STOP and Other Commands
Support both Dutch and English keywords:
Process these commands within 24 hours. Send confirmation messages in the same language as the received command.
Bel-me-niet Register Update: Netherlands Do Not Call Registry
SMS Sending Hours and Time Restrictions
Send marketing SMS messages during permitted hours: 08:00–21:00 CET/CEST (Central European Time). Emergency notifications and transactional messages are exempt from time restrictions. Consider Dutch national holidays and weekends when planning campaigns. Implement automated delivery windows in your messaging systems to ensure compliance.
SMS Sender ID Options and Phone Numbers in Netherlands
Alphanumeric Sender ID in Netherlands
Operator network capability: Fully supported across KPN, Odido, and VodafoneZiggo Registration requirements: No pre-registration required, dynamic usage allowed Character specifications: 3-11 characters (a-z, A-Z, 0-9, and single space allowed) Message direction: One-way messaging only – recipients cannot reply directly to alphanumeric sender IDs Sender ID preservation: Yes, sender IDs are preserved across all major networks Best practices:
Long Codes for SMS in Netherlands
Domestic vs. International: Both supported with full functionality Sender ID preservation: Yes, original sender ID maintained Provisioning time: Immediate to 24 hours Common use cases:
Short Codes for SMS
Support: Short codes are not currently supported in the Netherlands Provisioning time: N/A Alternative solutions: Use long codes or alphanumeric sender IDs for SMS campaigns instead
Netherlands SMS Content Restrictions and Industry Regulations
Restricted Industries and Content: Avoid these restricted industries and content types:
Content Filtering
Carrier Filtering Rules: Ensure your messages meet these requirements:
Best Practices to Avoid Blocking:
Best Practices for SMS Marketing in Netherlands
SMS Messaging Strategy for Netherlands
Optimize your SMS campaigns for engagement and compliance:
Sending Frequency and Timing
Control your message frequency:
Localization
Adapt content for Dutch audiences:
Opt-Out Management
Process opt-outs efficiently:
Testing and Monitoring
Test thoroughly across carriers:
SMS API Integration for Netherlands: Twilio, Sinch & MessageBird
Twilio
Send SMS to Netherlands using Twilio's robust REST API. Authenticate with your account SID and auth token. Use +3197 prefix numbers for A2P messaging.
import { Twilio } from 'twilio'; // Initialize client with environment variables const client = new Twilio( process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN ); // Function to send SMS to Netherlands async function sendDutchSMS( to: string, message: string, from: string ): Promise<void> { try { // Validate Dutch phone number format if (!to.startsWith('+31')) { throw new Error('Invalid Dutch phone number format'); } const response = await client.messages.create({ body: message, to: to, // Must be in E.164 format: +31612345678 from: from, // Your +3197 prefix number }); console.log(`Message sent successfully: ${response.sid}`); } catch (error) { console.error('Error sending message:', error); throw error; } }Sinch
Access comprehensive SMS services through Sinch's RESTful API. Send both transactional and marketing messages in the Netherlands.
import axios from 'axios'; class SinchSMSClient { private readonly baseUrl: string; private readonly apiToken: string; constructor(serviceId: string, apiToken: string) { this.baseUrl = `https://sms.api.sinch.com/xms/v1/${serviceId}`; this.apiToken = apiToken; } async sendSMS(to: string, message: string): Promise<void> { try { const response = await axios.post( `${this.baseUrl}/batches`, { from: 'YourBrand', // Alphanumeric sender ID to: [to], body: message, }, { 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
Integrate SMS capabilities using MessageBird (formerly referred to as Bird) with strong support for Dutch telecommunications requirements.
import messagebird from 'messagebird'; class MessageBirdClient { private client: any; constructor(apiKey: string) { this.client = messagebird(apiKey); } sendSMS( recipient: string, message: string, originator: string ): Promise<void> { return new Promise((resolve, reject) => { this.client.messages.create({ originator: originator, recipients: [recipient], body: message, datacoding: 'auto', // Automatic encoding detection }, (err: any, response: any) => { if (err) { reject(err); } else { resolve(response); } }); }); } }API Rate Limits and Throughput
Manage your message throughput within these limits:
Throughput Management Strategies:
Error Handling and Reporting
interface SMSError { code: string; message: string; timestamp: Date; recipient: string; } class SMSErrorHandler { private errors: SMSError[] = []; logError(error: SMSError): void { this.errors.push(error); console.error(`SMS Error [${error.code}]: ${error.message}`); // Implement specific error handling based on code switch(error.code) { case 'invalid_number': // Clean up invalid numbers from database break; case 'rate_limit_exceeded': // Implement backoff strategy break; case 'delivery_failed': // Queue for retry break; } } }Recap and Additional Resources
Key Takeaways
Compliance First
Technical Requirements
Best Practices
Next Steps
Follow these steps to start sending SMS in the Netherlands:
Additional Resources
Access official guidelines and regulations: