sms compliance

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

Czech Republic SMS Guide

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).

Czech Republic SMS Best Practices, Compliance, and Features

Czech Republic SMS Market Overview

Locale name:Czech Republic
ISO code:CZ
RegionEurope
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.

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 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.

typescript
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.

typescript
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.

typescript
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:

  1. Pre-register alphanumeric sender IDs (3-week process)
  2. Include "OS:" prefix for commercial messages
  3. Implement proper opt-out handling
  4. Respect time zone and frequency limitations
  5. Maintain proper consent documentation

Next Steps:

  1. Review Czech Telecommunication Office regulations
  2. Implement proper consent collection mechanisms
  3. Set up monitoring and reporting systems
  4. Test message delivery across all carriers

Additional Information:

Industry Resources:

  • Mobile Marketing Association Czech Republic
  • Czech Direct Marketing Association
  • European Communications Office Guidelines

Frequently Asked Questions

How to send SMS messages in Czech Republic?

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.

What is the process for sending bulk SMS in Czech Republic?

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.

Why does Czech Republic convert MMS to SMS?

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.

What are the SMS compliance requirements in Czech Republic?

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.

When should I send marketing SMS messages in Czech Republic?

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.

How to register alphanumeric sender ID in Czech Republic?

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.

What is the character limit for SMS in Czech Republic?

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.

Can I send SMS to landlines in Czech Republic?

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.

How to handle opt-outs for SMS campaigns in Czech Republic?

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.

Czech Republic SMS best practices for content?

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.

What SMS API integrations are available for Czech Republic?

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.

What are the carrier filtering rules for SMS in Czech Republic?

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.

Why is my SMS message blocked in Czech Republic?

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.

What are the API rate limits for sending SMS in Czech Republic?

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.