A technical guide to SMS in the Czech Republic, covering regulations like Act No. 480/2004 Coll. and GDPR. Learn about consent (timestamp, source), STOP commands, alphanumeric sender ID pre-registration (3 weeks), message concatenation (160 GSM-7/70 UCS-2 chars), and error codes (e.g., 21614 for landlines).
Market Conditions: The Czech Republic has a mature mobile market with high SMS adoption rates. The country's main mobile operators include T-Mobile, O2, and Vodafone, with T-Mobile leading market share. While OTT messaging apps like WhatsApp and Facebook Messenger are popular, SMS remains a crucial channel for business communications, particularly for authentication and notifications. Android devices dominate the market with approximately 70% market share compared to iOS.
Key SMS Features and Capabilities in Czech Republic
The Czech Republic supports a comprehensive range of SMS features including two-way messaging, concatenated messages, and number portability, though MMS is handled through SMS conversion.
Two-way SMS Support
Two-way SMS is fully supported in the Czech Republic with no significant restrictions. Businesses can engage in bi-directional communication with customers, making it ideal for customer service and interactive campaigns.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is fully supported across all major carriers. Message length rules: Standard 160 characters per message segment using GSM-7 encoding, or 70 characters using UCS-2 encoding. Encoding considerations: GSM-7 is used for standard Latin characters, while UCS-2 is automatically applied for messages containing special characters or Czech diacritics.
MMS Support
MMS messages are not directly supported through most A2P channels. Instead, MMS content is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This ensures reliable delivery while maintaining the ability to share rich media content.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in the Czech Republic, allowing users to keep their phone numbers when switching carriers. This feature is fully supported and doesn't significantly impact message delivery or routing, as the system automatically updates routing information.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in the Czech Republic. Attempts to send messages to landline numbers will result in a failed delivery and typically generate a 400 response error (error code 21614) through SMS APIs. These messages won't appear in logs, and accounts won't be charged for failed attempts.
Compliance and Regulatory Guidelines for SMS in Czech Republic
The Czech Republic follows both EU-wide GDPR requirements and local regulations under Act No. 480/2004 Coll. on Information Society Services. The Czech Telecommunication Office (??T??) oversees telecommunications regulations, while the Office for Personal Data Protection (??OO??) handles data privacy enforcement.
Consent and Opt-In
Explicit Consent Requirements:
Written or electronic consent must be obtained before sending marketing messages
Consent records must include timestamp, source, and scope of permission
Pre-checked boxes are not considered valid consent under GDPR
Consent must be specific to SMS marketing and separate from other permissions
Best Practices for Documentation:
Maintain detailed consent logs including date, time, and method of opt-in
Store proof of consent for at least 4 years
Implement double opt-in for additional security
Provide clear information about message frequency and content type
HELP/STOP and Other Commands
All marketing messages must include clear opt-out instructions
STOP command must be supported in both Czech ("STOP") and English
Common keywords that must be honored:
STOP, ZRUSIT (Cancel)
POMOC, HELP
INFO
Messages should be processed in both upper and lower case
Confirmation of opt-out must be sent in Czech language
Do Not Call / Do Not Disturb Registries
The Czech Republic does not maintain a centralized Do Not Call registry. However, businesses must:
Maintain their own suppression lists
Honor opt-out requests within 24 hours
Regularly clean contact lists to remove unsubscribed numbers
Implement systems to track and manage opt-outs across all campaigns
Time Zone Sensitivity
The Czech Republic observes Central European Time (CET/CEST). While there are no strict legal time restrictions, recommended practices include:
Sending marketing messages between 8:00 and 20:00 local time
Limiting promotional messages during weekends and public holidays
Allowing urgent or transactional messages 24/7
Considering seasonal time changes (CET/CEST switches)
Phone Numbers Options and SMS Sender Types for in Czech Republic
Alphanumeric Sender ID
Operator network capability: Fully supported across all major networks Registration requirements: Pre-registration required with 3-week approval timeline Sender ID preservation: Yes, registered IDs are preserved across networks
Long Codes
Domestic vs. International:
Domestic: Fully supported with preserved sender ID
International: Supported but sender ID may be overwritten
Sender ID preservation: Domestic numbers preserved, international may be modified Provisioning time: Immediate for domestic, N/A for international Use cases: Customer service, two-way communication, transactional messages
Short Codes
Support: Available through major carriers Provisioning time: 8-12 weeks for approval Use cases: High-volume messaging, marketing campaigns, verification codes
Restricted SMS Content, Industries, and Use Cases
Restricted Industries and Content:
Gambling and betting (unless properly licensed)
Adult content and services
Cryptocurrency promotions
Unauthorized financial services
Political campaigning without proper disclosure
Content Filtering
Carrier Filtering Rules:
Messages must start with "OS:" for commercial communications
URLs should be from verified domains
No excessive capitalization or special characters
Maximum of 5 messages per number per hour (recommended)
Tips to Avoid Blocking:
Use registered sender IDs
Maintain consistent sending patterns
Avoid URL shorteners when possible
Include clear company identification
Keep content professional and relevant
Best Practices for Sending SMS in Czech Republic
Messaging Strategy
Keep messages under 160 characters when possible
Include clear call-to-action
Use personalization tokens thoughtfully
Maintain consistent brand voice
Sending Frequency and Timing
Limit to 4-5 messages per month per recipient
Respect Czech holidays and cultural events
Avoid sending during early morning or late evening
Space out campaigns to prevent fatigue
Localization
Primary language should be Czech
Consider bilingual messages for international audiences
Use proper Czech diacritical marks
Respect local cultural nuances and customs
Opt-Out Management
Process opt-outs within 24 hours
Send confirmation of successful opt-out
Maintain centralized opt-out database
Regular audit of opt-out compliance
Testing and Monitoring
Test across all major Czech 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 Czech Republic
Twilio
Twilio provides a robust REST API for sending SMS messages to the Czech Republic. Authentication uses account SID and auth token credentials.
TypeScript
import { Twilio } from'twilio';
// Initialize client with your credentialsconst client = newTwilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
asyncfunctionsendSMSToCzechRepublic() {
try {
// Send message with required parametersconst message = await client.messages.create({
body: 'OS: Your message here', // OS: prefix required for commercial messagesfrom: 'YourCompany', // Registered alphanumeric sender IDto: '+420123456789', // Czech number in E.164 format// Optional parameters for delivery trackingstatusCallback: 'https://your-callback-url.com/status',
});
console.log(`Message sent successfully! SID: ${message.sid}`);
return message;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
Sinch
Sinch offers a REST API with JWT authentication for secure SMS sending.
Use a registered alphanumeric sender ID, prefix commercial messages with "OS:", and ensure the recipient number is a valid Czech mobile number. Utilize a reputable SMS API provider like Twilio, Sinch, MessageBird, or Plivo, adhering to their specific integration guidelines and best practices for optimal delivery.
For high-volume messaging, use short codes and implement a queuing system to manage throughput. Adhere to carrier rate limits (max 100 messages/second per sender ID and 100,000/day) and use multiple sender IDs for load balancing. Respect compliance and best practices as outlined.
MMS is not directly supported through most A2P channels. The conversion ensures reliable delivery to all handsets while still allowing businesses to share rich media content by embedding a URL link to the MMS content within the SMS message.
Comply with GDPR and Act No. 480/2004 Coll. Obtain explicit consent for marketing messages, honor STOP/HELP commands, and manage opt-outs within 24 hours. Maintain detailed consent logs for at least 4 years, including timestamps and source.
Best practice is between 8:00 and 20:00 local time (CET/CEST), avoiding weekends and public holidays. Urgent or transactional messages can be sent 24/7. Consider seasonal time changes when scheduling campaigns.
Pre-registration is required with a 3-week approval timeline. Registered IDs are preserved across networks. Contact your chosen SMS API provider or directly consult with Czech carriers for registration details.
Standard SMS messages use GSM-7 encoding with 160 characters per segment. Messages with Czech diacritics or special characters use UCS-2 encoding with a limit of 70 characters per segment. Concatenation is supported for longer messages.
No, sending SMS to landline numbers is not supported and will result in failed delivery with a 400 response error (code 21614) via SMS APIs. These failures are typically not logged and not charged.
Provide clear opt-out instructions (STOP, ZRUSIT, POMOC, HELP, INFO) in all marketing messages. Process opt-outs within 24 hours, send confirmation in Czech, and maintain a centralized opt-out database for compliance.
Keep messages concise (under 160 characters), include a clear call-to-action, personalize thoughtfully, and maintain a consistent brand voice. Localize content to Czech, using proper diacritics.
Several providers offer robust APIs for Czech SMS messaging, including Twilio, Sinch, MessageBird, and Plivo. Each platform provides different features, authentication methods, and code examples for seamless integration.
Commercial messages must start with "OS:", URLs should be from verified domains, and avoid excessive capitalization or special characters. Limit messages to a recommended maximum of 5 per number per hour to minimize blocking.
Potential reasons include exceeding rate limits, using unregistered sender IDs, sending restricted content, or violating carrier filtering rules. Check message content, sending frequency, and ensure compliance with local regulations.
Carriers impose limits of 100 messages/second/sender ID, 100,000 messages/day/sender ID, and a recommended maximum of 5 messages/recipient/hour. Implement queuing and multiple sender IDs for large-scale sends.
Czech Republic SMS Market Overview
Market Conditions: The Czech Republic has a mature mobile market with high SMS adoption rates. The country's main mobile operators include T-Mobile, O2, and Vodafone, with T-Mobile leading market share. While OTT messaging apps like WhatsApp and Facebook Messenger are popular, SMS remains a crucial channel for business communications, particularly for authentication and notifications. Android devices dominate the market with approximately 70% market share compared to iOS.
Key SMS Features and Capabilities in Czech Republic
The Czech Republic supports a comprehensive range of SMS features including two-way messaging, concatenated messages, and number portability, though MMS is handled through SMS conversion.
Two-way SMS Support
Two-way SMS is fully supported in the Czech Republic with no significant restrictions. Businesses can engage in bi-directional communication with customers, making it ideal for customer service and interactive campaigns.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is fully supported across all major carriers.
Message length rules: Standard 160 characters per message segment using GSM-7 encoding, or 70 characters using UCS-2 encoding.
Encoding considerations: GSM-7 is used for standard Latin characters, while UCS-2 is automatically applied for messages containing special characters or Czech diacritics.
MMS Support
MMS messages are not directly supported through most A2P channels. Instead, MMS content is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This ensures reliable delivery while maintaining the ability to share rich media content.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in the Czech Republic, allowing users to keep their phone numbers when switching carriers. This feature is fully supported and doesn't significantly impact message delivery or routing, as the system automatically updates routing information.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in the Czech Republic. Attempts to send messages to landline numbers will result in a failed delivery and typically generate a 400 response error (error code 21614) through SMS APIs. These messages won't appear in logs, and accounts won't be charged for failed attempts.
Compliance and Regulatory Guidelines for SMS in Czech Republic
The Czech Republic follows both EU-wide GDPR requirements and local regulations under Act No. 480/2004 Coll. on Information Society Services. The Czech Telecommunication Office (??T??) oversees telecommunications regulations, while the Office for Personal Data Protection (??OO??) handles data privacy enforcement.
Consent and Opt-In
Explicit Consent Requirements:
Best Practices for Documentation:
HELP/STOP and Other Commands
Do Not Call / Do Not Disturb Registries
The Czech Republic does not maintain a centralized Do Not Call registry. However, businesses must:
Time Zone Sensitivity
The Czech Republic observes Central European Time (CET/CEST). While there are no strict legal time restrictions, recommended practices include:
Phone Numbers Options and SMS Sender Types for in Czech Republic
Alphanumeric Sender ID
Operator network capability: Fully supported across all major networks
Registration requirements: Pre-registration required with 3-week approval timeline
Sender ID preservation: Yes, registered IDs are preserved across networks
Long Codes
Domestic vs. International:
Sender ID preservation: Domestic numbers preserved, international may be modified
Provisioning time: Immediate for domestic, N/A for international
Use cases: Customer service, two-way communication, transactional messages
Short Codes
Support: Available through major carriers
Provisioning time: 8-12 weeks for approval
Use cases: High-volume messaging, marketing campaigns, verification codes
Restricted SMS Content, Industries, and Use Cases
Restricted Industries and Content:
Content Filtering
Carrier Filtering Rules:
Tips to Avoid Blocking:
Best Practices for Sending SMS in Czech Republic
Messaging Strategy
Sending Frequency and Timing
Localization
Opt-Out Management
Testing and Monitoring
SMS API integrations for Czech Republic
Twilio
Twilio provides a robust REST API for sending SMS messages to the Czech Republic. Authentication uses account SID and auth token credentials.
import { Twilio } from 'twilio'; // Initialize client with your credentials const client = new Twilio( process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN ); async function sendSMSToCzechRepublic() { try { // Send message with required parameters const message = await client.messages.create({ body: 'OS: Your message here', // OS: prefix required for commercial messages from: 'YourCompany', // Registered alphanumeric sender ID to: '+420123456789', // Czech number in E.164 format // Optional parameters for delivery tracking statusCallback: 'https://your-callback-url.com/status', }); console.log(`Message sent successfully! SID: ${message.sid}`); return message; } catch (error) { console.error('Error sending message:', error); throw error; } }Sinch
Sinch offers a REST API with JWT authentication for secure SMS sending.
import axios from 'axios'; class SinchSMSClient { private readonly apiToken: string; private readonly servicePlanId: string; private readonly baseUrl: string = 'https://eu.sms.api.sinch.com/xms/v1'; constructor(apiToken: string, servicePlanId: string) { this.apiToken = apiToken; this.servicePlanId = servicePlanId; } async sendSMS(to: string, message: string) { try { const response = await axios.post( `${this.baseUrl}/${this.servicePlanId}/batches`, { from: 'YourCompany', to: [to], body: message }, { headers: { 'Authorization': `Bearer ${this.apiToken}`, 'Content-Type': 'application/json' } } ); return response.data; } catch (error) { console.error('Sinch SMS error:', error); throw error; } } }MessageBird
MessageBird provides a straightforward API for SMS integration with the Czech market.
import { MessageBird } from 'messagebird'; class MessageBirdClient { private client: MessageBird; constructor(apiKey: string) { this.client = new MessageBird(apiKey); } async sendSMS(to: string, message: string): Promise<any> { return new Promise((resolve, reject) => { this.client.messages.create({ originator: 'YourCompany', recipients: [to], body: message, type: 'business', // Specify business messaging datacoding: 'unicode' // Support Czech characters }, (err, response) => { if (err) { reject(err); } else { resolve(response); } }); }); } }Plivo
Plivo offers a cloud communications platform with specific support for Czech Republic messaging.
import { Client } from 'plivo'; class PlivoSMSClient { private client: Client; constructor(authId: string, authToken: string) { this.client = new Client(authId, authToken); } async sendSMS(to: string, message: string) { try { const response = await this.client.messages.create({ src: 'YourCompany', // Your registered sender ID dst: to, // Destination number text: message, url: 'https://your-callback-url.com/status', // Optional status callback method: 'POST' }); return response; } catch (error) { console.error('Plivo SMS error:', error); throw error; } } }API Rate Limits and Throughput
Czech Republic carriers implement the following rate limits:
Strategies for Large-Scale Sending:
Error Handling and Reporting
Recap and Additional Resources
Key Takeaways:
Next Steps:
Additional Information:
Industry Resources: