Czech Republic SMS Best Practices, Compliance, and Features
Czech Republic SMS Market Overview
Locale name: | Czech Republic |
---|---|
ISO code: | CZ |
Region | Europe |
Mobile country code (MCC) | 230 |
Dialing Code | +420 |
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.
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:
- Maximum 100 messages per second per sender ID
- Daily quota of 100,000 messages per sender ID
- Maximum 5 messages per recipient per hour
Strategies for Large-Scale Sending:
- Implement queuing system with Redis or RabbitMQ
- Use multiple sender IDs for load balancing
- Batch messages in groups of 50-100
- Implement exponential backoff for retries
Error Handling and Reporting
- Implement comprehensive logging with Winston or Bunyan
- Track delivery receipts (DLRs) for message status
- Monitor carrier responses for blocking patterns
- Set up alerts for unusual error rates
- Store message metadata for troubleshooting
Recap and Additional Resources
Key Takeaways:
- Pre-register alphanumeric sender IDs (3-week process)
- Include "OS:" prefix for commercial messages
- Implement proper opt-out handling
- Respect time zone and frequency limitations
- Maintain proper consent documentation
Next Steps:
- Review Czech Telecommunication Office regulations
- Implement proper consent collection mechanisms
- Set up monitoring and reporting systems
- Test message delivery across all carriers
Additional Information:
- Czech Telecommunication Office: https://www.ctu.cz/
- Data Protection Authority: https://www.uoou.cz/
- Act No. 480/2004 Coll.: https://www.zakonyprolidi.cz/cs/2004-480
Industry Resources:
- Mobile Marketing Association Czech Republic
- Czech Direct Marketing Association
- European Communications Office Guidelines