sms compliance
sms compliance
Greece SMS Guide 2025: Compliance, Regulations & Best Practices
Complete guide to sending SMS in Greece. Learn about Greek SMS regulations, GDPR compliance, sender IDs, carrier requirements, and API integration for business messaging.
Greece SMS Best Practices, Compliance, and Features
Sending SMS in Greece requires understanding local telecommunications regulations, GDPR compliance, and carrier-specific requirements. This comprehensive guide covers everything you need to know about Greece SMS messaging—from alphanumeric sender ID registration to API integration with major providers.
Greece SMS Market Overview
| Locale name | Greece |
|---|---|
| ISO code | GR |
| Region | Europe |
| Mobile country code (MCC) | 202 |
| Dialing Code | +30 |
Market Conditions: Greece has a mature mobile market with high SMS adoption rates. The three major operators – Cosmote, Vodafone, and Wind – control the market. OTT messaging apps like WhatsApp and Viber dominate personal communication, but SMS remains critical for business use, particularly authentication and notifications. Android devices hold a slight market share advantage over iOS.
SMS Features and Capabilities in Greece
Greece supports most standard SMS features including alphanumeric sender IDs and concatenated messages, though two-way SMS functionality is limited.
Two-way SMS Support
Most major SMS providers don't support two-way SMS in Greece. Design your SMS strategy around one-way communication flows.
Alternatives for two-way communication:
- Use dedicated long codes with providers that support inbound messaging
- Implement web-based response forms with unique tracking codes
- Direct users to dedicated support channels (phone, email, chat)
- Use OTT messaging platforms for conversational interactions
Concatenated Messages (Segmented SMS)
Support: Yes, though availability varies by sender ID type.
Message length rules:
- GSM-7 encoding: 160 characters per segment
- Unicode (UCS-2) encoding: 70 characters per segment
Encoding considerations:
- Use GSM-7 for basic Latin characters
- Use UCS-2 for Greek characters and special symbols
MMS Support
MMS messages convert automatically to SMS with an embedded URL link, ensuring delivery while enabling rich media sharing through linked resources.
Recipient Phone Number Compatibility
Number Portability
Greece supports number portability – recipients keep their phone numbers when switching operators. Maintain updated routing tables for optimal delivery rates.
Sending SMS to Landlines
You cannot send SMS to landline numbers in Greece. Attempts fail with a 400 response error (error code 21614). Failed landline messages don't appear in logs and don't incur charges.
Greece SMS Compliance and Regulatory Guidelines
The Hellenic Telecommunications and Post Commission (EETT) oversees strict telecommunications regulations in Greece. Comply with both Greek telecommunications law and GDPR requirements for all SMS marketing and communications.
Consent and Opt-In Requirements
Explicit Consent Requirements:
- Obtain written or electronic consent before sending marketing messages
- Maintain accessible consent records
- Clearly state the purpose of communication during opt-in
- Use double opt-in for marketing campaigns (recommended)
Best Practices for Documentation:
| Field | Description | Example |
|---|---|---|
| user_id | Unique identifier | USER_12345 |
| phone_number | E.164 format | +306912345678 |
| consent_timestamp | ISO 8601 format | 2025-10-05T14:30:00Z |
| consent_source | Opt-in channel | website_signup |
| consent_method | Single/double opt-in | double_opt_in |
| purpose | Communication type | marketing_promotions |
| ip_address | User's IP at opt-in | 192.0.2.1 |
Storage requirements:
- Keep consent records for at least 2 years
- Audit consent database regularly
- Maintain detailed records of opt-in methods
HELP/STOP and Other Commands
- Include clear opt-out instructions in all marketing messages
- Support STOP command in both Greek and English
- Honor common Greek keywords:
- ΣΤΑΜΑΤΗΣΤΕ (Stop)
- ΒΟΗΘΕΙΑ (Help)
- Process opt-out requests within 24 hours
Do Not Call / Do Not Disturb Registries
The EETT manages Greece's national Do Not Call registry.
Compliance requirements:
- Check numbers against the registry before sending marketing messages
- Perform registry checks monthly
- Maintain internal suppression lists for opted-out numbers
- Remove numbers immediately upon STOP requests
Time Zone Sensitivity
Greece observes Eastern European Time (EET/EEST).
- Recommended sending hours: 09:00 – 20:00 local time
- Restricted hours: Avoid 22:00 – 08:00
- Weekend considerations: Limit weekend messages to urgent communications
- Holiday awareness: Respect Greek national and religious holidays
SMS Sender ID Options for Greece
Alphanumeric Sender ID in Greece
Operator network capability: Fully supported
Registration requirements:
- Company registration documents
- Brand ownership proof
- Use case description
- Expected monthly volumes
Sender ID preservation: Registered IDs preserve across all networks
Long Codes
Domestic vs. International:
- Domestic long codes: Supported but limited availability
- International long codes: Not supported for A2P messaging
Sender ID preservation: Domestic numbers preserve; international numbers may be modified
Provisioning time: 3–5 business days for domestic numbers
Use cases: Ideal for two-way communication and transactional messages
Short Codes
Support: Available through Greek mobile operators
Provisioning time: 8–12 weeks for approval and activation
Use cases:
- High-volume marketing campaigns
- Time-sensitive notifications
- Premium rate services
- Two-factor authentication
Restricted SMS Content and Industries in Greece
Prohibited Content:
- Gambling without Greek license
- Adult content
- Cryptocurrency promotions
- Political messaging without proper authorization
- Pharmaceutical products without proper licensing
Content Filtering
Carrier Filtering Rules:
- Messages containing certain keywords may be blocked
- URLs must be from approved domains
- Message frequency limits per number
Tips to Avoid Blocking:
- Avoid excessive punctuation
- Use registered URL shorteners
- Maintain consistent sender IDs
- Keep message frequency within reasonable limits
Best Practices for SMS Marketing in Greece
Messaging Strategy
Core principles:
- Keep messages under 160 characters when possible
- Include clear call-to-action
- Use personalization tokens thoughtfully
- Maintain consistent brand voice
Example messages:
✅ Good: "Hi Maria, your order #12345 ships tomorrow. Track it here: example.com/t/abc123 Reply STOP to opt out."
- Personalized, specific, actionable, includes opt-out
❌ Bad: "Hey!!! Your order is being processed and will be sent soon!!! Check our website for more info!!!"
- Excessive punctuation, vague, no specific action, no opt-out
Sending Frequency and Timing
- Limit to 4–5 messages per month per recipient
- Space messages at least 24 hours apart
- Respect quiet hours and holidays
- Plan campaigns around peak engagement times
Localization for Greek SMS
- Default to Greek for local numbers
- Consider bilingual messages for tourist areas
- Use proper character encoding for Greek alphabet
- Respect cultural nuances and holidays
Bilingual message examples:
🇬🇷 Ο κωδικός σας: 123456
🇬🇧 Your code: 123456
Παραγγελία #5678 παραδόθηκε
Order #5678 delivered
Track: example.com/t/xyz
Greek National Holidays to Avoid:
- New Year's Day (January 1)
- Epiphany (January 6)
- Clean Monday (variable, typically February/March)
- Independence Day (March 25)
- Good Friday (variable)
- Easter Sunday and Monday (variable)
- Labour Day (May 1)
- Whit Monday (variable)
- Assumption of Mary (August 15)
- Ochi Day (October 28)
- Christmas Day (December 25)
- Boxing Day (December 26)
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain centralized opt-out database
- Include opt-out instructions in every marketing message
- Regular cleanup of contact lists
Testing and Monitoring
- Test across all major Greek carriers
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular testing of opt-out functionality
SMS API Integration for Greece
Twilio for Greece SMS
Twilio provides robust SMS API support for Greek numbers and alphanumeric sender IDs. Authenticate using your account SID and auth token.
import { Twilio } from 'twilio';
// Initialize Twilio client with credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
async function sendSMSToGreece(
to: string,
message: string,
senderId: string
): Promise<void> {
try {
// Ensure number is in E.164 format for Greece (+30)
const formattedNumber = to.startsWith('+30') ? to : `+30${to}`;
const response = await client.messages.create({
body: message,
from: senderId, // Alphanumeric sender ID or Twilio number
to: formattedNumber,
// Optional parameters 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 SMS API for Greece
Sinch supports both transactional and marketing SMS for the Greek market.
import axios from 'axios';
class SinchSMSClient {
private readonly apiToken: string;
private readonly serviceId: string;
private readonly baseUrl = 'https://sms.api.sinch.com/xms/v1';
constructor(apiToken: string, serviceId: string) {
this.apiToken = apiToken;
this.serviceId = serviceId;
}
async sendSMS(to: string, message: string, senderId: string): Promise<void> {
try {
const response = await axios.post(
`${this.baseUrl}/${this.serviceId}/batches`,
{
from: senderId,
to: [to],
body: message,
// Greek character support
encoding: 'AUTO'
},
{
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 SMS API for Greece
MessageBird (formerly Bird) delivers reliable SMS in Greece with strong regulatory compliance support.
import messagebird from 'messagebird';
class MessageBirdClient {
private client: any;
constructor(apiKey: string) {
this.client = messagebird(apiKey);
}
sendSMS(
to: string,
message: string,
senderId: string
): Promise<any> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator: senderId,
recipients: [to],
body: message,
// Enable delivery reports
reportUrl: 'https://your-webhook.com/delivery',
// Greek language support
type: 'unicode'
}, (err: any, response: any) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}API Rate Limits and Throughput
- Default Rate Limits:
- Twilio: 250 messages/second
- Sinch: 100 messages/second
- MessageBird: 60 messages/second
Throughput Management Strategies:
// Example rate limiting implementation
class RateLimiter {
private queue: Array<() => Promise<void>> = [];
private processing: boolean = false;
private readonly rateLimit: number;
private readonly interval: number;
constructor(rateLimit: number, intervalMs: number) {
this.rateLimit = rateLimit;
this.interval = intervalMs;
}
async add(task: () => Promise<void>): Promise<void> {
this.queue.push(task);
if (!this.processing) {
this.processing = true;
await this.processQueue();
}
}
private async processQueue(): Promise<void> {
while (this.queue.length > 0) {
const batch = this.queue.splice(0, this.rateLimit);
await Promise.all(batch.map(task => task()));
await new Promise(resolve => setTimeout(resolve, this.interval));
}
this.processing = false;
}
}Error Handling and Reporting
interface SMSError {
code: string;
message: string;
timestamp: Date;
recipient: string;
retryCount?: number;
}
class SMSErrorHandler {
private errors: SMSError[] = [];
private readonly retryableErrors = ['30003', '30005', '30006', '21610'];
logError(error: SMSError): void {
this.errors.push(error);
console.error(`SMS Error [${error.code}]: ${error.message}`);
}
isRetryable(errorCode: string): boolean {
return this.retryableErrors.includes(errorCode);
}
async retryFailedMessages(
smsClient: any,
failedMessages: SMSError[],
maxRetries: number = 3
): Promise<void> {
for (const error of failedMessages) {
if (this.isRetryable(error.code) && (error.retryCount || 0) < maxRetries) {
try {
await new Promise(resolve =>
setTimeout(resolve, Math.pow(2, error.retryCount || 0) * 1000)
);
// Retry sending logic here
console.log(`Retrying message to ${error.recipient}`);
} catch (retryError) {
error.retryCount = (error.retryCount || 0) + 1;
this.logError(error);
}
}
}
}
}Summary: Key Takeaways for Greece SMS
Compliance Priorities
- Register alphanumeric sender IDs with proper documentation
- Maintain opt-in consent records for at least 2 years
- Honor opt-out requests within 24 hours
- Check Do Not Call registry monthly before campaigns
Technical Considerations
- Use proper character encoding (UCS-2) for Greek text
- Implement rate limiting for high-volume sending
- Monitor delivery rates across Cosmote, Vodafone, and Wind
- Test error handling and retry logic
Next Steps
- Review EETT guidelines for latest regulations
- Implement proper error handling and delivery tracking
- Set up webhook endpoints for status callbacks
- Test with all major Greek carriers before launching
Additional Resources
-
Official Resources:
- EETT (Greek Telecom Regulator): https://www.eett.gr
- GDPR Guidelines: https://gdpr.eu
- Greek Direct Marketing Association: https://www.edee.gr
-
Technical Documentation:
- Twilio Greek SMS Guide
- Sinch Implementation Docs
- MessageBird API Reference
Contact Information:
- EETT Support: +30 210 615 1000
- EETT Compliance Inquiries: Available through official website contact form at https://www.eett.gr
Frequently Asked Questions
How to send SMS messages in Greece?
Use an SMS API like Twilio, Sinch, or MessageBird, ensuring your message content complies with Greek regulations and uses the correct encoding for Greek characters. Remember to register alphanumeric sender IDs and manage opt-outs effectively.
What is the SMS market like in Greece?
Greece has high SMS adoption, with Cosmote, Vodafone, and Wind as major operators. SMS is critical for business communication, especially for authentication and notifications, despite the popularity of OTT apps.
Why does Greece not fully support two-way SMS?
Two-way SMS isn't supported through most major providers in Greece. Businesses should design their SMS strategies around one-way communication instead.
When should I send SMS messages in Greece?
The best time to send SMS messages in Greece is between 9:00 AM and 8:00 PM local time, avoiding weekends and holidays unless urgent. Respect quiet hours (10 PM - 8 AM).
Can I send SMS to landlines in Greece?
No, sending SMS to landlines in Greece isn't possible and will result in failed delivery with a 400 response error (code 21614) from SMS APIs without incurring charges.
What are the rules for concatenated SMS messages in Greece?
Concatenated SMS is supported, with a standard length of 160 characters for GSM-7 and 70 for Unicode (UCS-2). GSM-7 is used for basic Latin characters, while UCS-2 is required for Greek characters.
How to comply with SMS regulations in Greece?
Obtain explicit consent before sending marketing messages, honor STOP commands in Greek and English, and check numbers against the Do Not Call registry. Adhere to GDPR and Greek telecommunications law.
What are the prohibited SMS content categories in Greece?
Gambling without a Greek license, adult content, cryptocurrency promotions, political messaging without authorization, and pharmaceuticals without proper licensing are prohibited.
What SMS sender ID types are available in Greece?
Alphanumeric sender IDs (pre-registration required), domestic long codes (limited availability), and short codes are available. International long codes aren't supported for A2P messaging.
How to handle opt-outs for SMS in Greece?
Process opt-out requests within 24 hours, include clear opt-out instructions in every message, and maintain a centralized opt-out database for efficient management.
What is the recommended SMS messaging frequency in Greece?
Limit messages to 4-5 per recipient monthly, spaced at least 24 hours apart. Avoid sending during restricted hours and respect holidays for optimal engagement.
What are the character encoding considerations for Greek SMS?
Use UCS-2 encoding for Greek characters and special symbols, while GSM-7 is suitable for basic Latin characters. Ensure correct encoding to avoid delivery issues.
How to get alphanumeric sender ID in Greece?
Pre-register with documentation including company registration, brand ownership proof, use case description, and expected monthly volumes. Registered IDs are preserved across networks.
What are the API rate limits for SMS providers in Greece?
Twilio's default rate limit is 250 messages/second, Sinch's is 100 messages/second, and MessageBird's is 60 messages/second. Implement rate limiting in your application to manage throughput.