El Salvador SMS Best Practices, Compliance, and Features
El Salvador SMS Market Overview
Locale name: | El Salvador |
---|---|
ISO code: | SV |
Region | North America |
Mobile country code (MCC) | 706 |
Dialing Code | +503 |
Market Conditions: El Salvador has a robust mobile communications market with widespread SMS adoption. The country's mobile ecosystem is dominated by major operators including Tigo, Movistar, and Claro. While OTT messaging apps like WhatsApp are gaining popularity, SMS remains crucial for business communications and authentication services due to its reliability and universal reach. Android devices hold a significant market share advantage over iOS in the region, influencing messaging platform choices and user behavior.
Key SMS Features and Capabilities in El Salvador
El Salvador supports standard SMS features including concatenated messages and MMS conversion, though two-way messaging capabilities are limited.
Two-way SMS Support
Two-way SMS is not supported in El Salvador through major messaging providers. This limitation affects interactive messaging campaigns and automated response systems.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported for most sender ID types.
Message length rules: Standard SMS length of 160 characters for GSM-7 encoding, or 70 characters for Unicode (UCS-2) encoding before splitting occurs.
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported, with messages automatically split and rejoined based on the character encoding used.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link to the media content. This ensures compatibility across all devices while still enabling rich media sharing capabilities.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in El Salvador, allowing users to keep their phone numbers when switching carriers. This feature doesn't significantly impact SMS delivery or routing as messages are properly directed through the current carrier network.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in El Salvador. Attempts to send messages to landline numbers will result in a 400 response error (code 21614), with no message delivery and no charges applied to the sender's account.
Compliance and Regulatory Guidelines for SMS in El Salvador
El Salvador's telecommunications sector is regulated by the Superintendencia General de Electricidad y Telecomunicaciones (SIGET). While specific SMS marketing laws are still evolving, businesses must adhere to general consumer protection regulations and international best practices for messaging.
Consent and Opt-In
Explicit Consent Requirements:
- Obtain clear, documented opt-in consent before sending any marketing messages
- Maintain detailed records of when and how consent was obtained
- Include clear terms of service and privacy policy information during opt-in
- Specify message frequency and content type during the consent process
HELP/STOP and Other Commands
- All SMS campaigns must support standard opt-out keywords:
- "STOP", "CANCELAR", "NO" for opt-out requests
- "AYUDA" or "HELP" for assistance
- Commands must be recognized in both Spanish and English
- Response messages should be sent in the same language as the received command
Do Not Call / Do Not Disturb Registries
El Salvador does not maintain a centralized Do Not Call registry. However, businesses should:
- Maintain their own suppression lists
- Honor opt-out requests within 24 hours
- Implement proper database management to prevent messaging blocked numbers
- Regular audit and clean-up of contact lists
Time Zone Sensitivity
El Salvador follows Central Standard Time (CST/GMT-6):
- Recommended Sending Hours: 8:00 AM to 8:00 PM CST
- Avoid Sending: Sundays and national holidays unless urgent
- Emergency Messages: Can be sent 24/7 for critical notifications
Phone Numbers Options and SMS Sender Types for in El Salvador
Alphanumeric Sender ID
Operator network capability: Not supported by El Salvador mobile operators
Registration requirements: N/A
Sender ID preservation: Sender IDs are overwritten with either a shortcode or longcode outside the platform
Long Codes
Domestic vs. International:
- Domestic long codes are supported but not available through international providers
- International long codes are supported for cross-border messaging
Sender ID preservation: No, original sender IDs are not preserved
Provisioning time: 1-2 business days for international long codes
Use cases: Ideal for transactional messages and two-factor authentication
Short Codes
Support: Available and supported in El Salvador
Provisioning time: 8-12 weeks for approval and implementation
Use cases:
- High-volume marketing campaigns
- Customer service applications
- Two-factor authentication
- Alert systems
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
- Gambling and betting services
- Adult content or explicit material
- Unauthorized pharmaceutical promotions
- Political campaign messages without proper authorization
- Cryptocurrency and high-risk investment schemes
Content Filtering
Carrier Filtering Rules:
- Messages containing blocked keywords are automatically filtered
- URLs must be from approved domains
- Message frequency limits per number are enforced
Tips to Avoid Blocking:
- Avoid excessive punctuation and special characters
- Use approved URL shorteners
- Maintain consistent sending patterns
- Include clear business identification
- Avoid spam trigger words
Best Practices for Sending SMS in El Salvador
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Use personalization tokens thoughtfully
- Maintain consistent branding
Sending Frequency and Timing
- Limit to 4-5 messages per month per recipient
- Space campaigns at least 72 hours apart
- Respect local holidays and cultural events
- Monitor engagement metrics to optimize timing
Localization
- Primary language: Spanish
- Consider using both Spanish and English for international businesses
- Use local date and time formats
- Respect cultural nuances and local expressions
Opt-Out Management
- Process opt-outs within 24 hours
- Send confirmation message for opt-outs
- Maintain centralized opt-out database
- Regular audit of opt-out compliance
Testing and Monitoring
- Test across all major carriers (Tigo, Movistar, Claro)
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular A/B testing of message content
- Maintain delivery rate benchmarks
SMS API integrations for El Salvador
Twilio
Twilio provides a robust SMS API with comprehensive support for El Salvador messaging.
Authentication & Setup:
- Account SID and Auth Token required
- E.164 format mandatory for phone numbers (+503)
- Supports webhook callbacks for delivery status
import { Twilio } from 'twilio';
// Initialize Twilio client
const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
async function sendSMSToElSalvador(to: string, message: string) {
try {
// Ensure number is in E.164 format
const formattedNumber = to.startsWith('+503') ? to : `+503${to}`;
const response = await client.messages.create({
body: message,
to: formattedNumber,
from: process.env.TWILIO_PHONE_NUMBER,
// Optional status callback URL
statusCallback: 'https://your-webhook.com/status'
});
console.log(`Message sent! SID: ${response.sid}`);
return response;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
Sinch
Sinch offers direct carrier connections in El Salvador with high deliverability rates.
Key Features:
- REST API with JSON payload
- Batch messaging support
- Delivery receipt webhooks
import axios from 'axios';
interface SinchMessage {
to: string[];
message: string;
from: string;
}
async function sendSinchSMS(message: SinchMessage) {
const SINCH_API_TOKEN = process.env.SINCH_API_TOKEN;
const SINCH_SERVICE_PLAN_ID = process.env.SINCH_SERVICE_PLAN_ID;
try {
const response = await axios.post(
`https://sms.api.sinch.com/xms/v1/${SINCH_SERVICE_PLAN_ID}/batches`,
message,
{
headers: {
'Authorization': `Bearer ${SINCH_API_TOKEN}`,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
console.error('Sinch SMS Error:', error);
throw error;
}
}
MessageBird
MessageBird provides reliable SMS delivery with advanced features for El Salvador.
import messagebird from 'messagebird';
const messageBirdClient = messagebird(process.env.MESSAGEBIRD_API_KEY);
interface MessageParams {
recipient: string;
message: string;
originator: string;
}
function sendMessageBirdSMS({ recipient, message, originator }: MessageParams): Promise<any> {
return new Promise((resolve, reject) => {
messageBirdClient.messages.create({
originator: originator,
recipients: [recipient],
body: message,
datacoding: 'auto' // Automatic encoding detection
}, (err, response) => {
if (err) {
reject(err);
return;
}
resolve(response);
});
});
}
Plivo
Plivo offers competitive rates and reliable delivery for El Salvador SMS.
import plivo from 'plivo';
const client = new plivo.Client(
process.env.PLIVO_AUTH_ID,
process.env.PLIVO_AUTH_TOKEN
);
async function sendPlivoSMS(to: string, message: string) {
try {
const response = await client.messages.create({
src: process.env.PLIVO_PHONE_NUMBER,
dst: to,
text: message,
// Optional parameters for El Salvador
url: 'https://your-callback-url.com',
method: 'POST'
});
return response;
} catch (error) {
console.error('Plivo SMS Error:', error);
throw error;
}
}
API Rate Limits and Throughput
- Standard Rate Limits:
- Twilio: 250 messages/second
- Sinch: 30 messages/second
- MessageBird: 60 messages/second
- Plivo: 50 messages/second
Throughput Management Strategies:
- Implement exponential backoff for retries
- Use queue systems (Redis/RabbitMQ) for high volume
- Batch messages when possible
- Monitor delivery rates and adjust sending speed
Error Handling and Reporting
- Implement comprehensive logging with Winston or similar
- Track delivery receipts via webhooks
- Monitor common error codes:
- 21614: Invalid number format
- 30003: Unreachable destination
- 30007: Carrier filtering
- Store message status updates in database
- Set up alerts for unusual error rates
Recap and Additional Resources
Key Takeaways:
- Always use E.164 number formatting (+503)
- Implement proper opt-out handling
- Respect local time zones and sending hours
- Monitor delivery rates and errors
- Maintain proper consent records
Next Steps:
- Review SIGET regulations (https://www.siget.gob.sv)
- Implement proper error handling and monitoring
- Set up delivery receipt webhooks
- Test throughput with small batches
- Monitor carrier filtering rules
Additional Resources:
- SIGET Telecommunications Guidelines: https://www.siget.gob.sv/telecomunicaciones/
- El Salvador Consumer Protection Law: https://www.defensoria.gob.sv/
- Carrier Integration Guides:
- Tigo: https://tigo.com.sv/empresas
- Movistar: https://www.movistar.com.sv/empresas
- Claro: https://www.claro.com.sv/empresas