Ecuador SMS Best Practices, Compliance, and Features
Ecuador SMS Market Overview
Locale name: | Ecuador |
---|---|
ISO code: | EC |
Region | South America |
Mobile country code (MCC) | 740 |
Dialing Code | +593 |
Market Conditions: Ecuador has a robust mobile telecommunications market with three major operators: Claro, Movistar, and CNT Mobile. SMS remains a vital communication channel, particularly for business notifications and authentication, though WhatsApp has significant penetration for personal messaging. Android devices dominate the market, with iOS having a smaller but growing presence among urban users.
Key SMS Features and Capabilities in Ecuador
Ecuador supports standard SMS functionality with some carrier-specific limitations, particularly around concatenated messages and sender ID preservation.
Two-way SMS Support
Two-way SMS is not supported in Ecuador through most providers. Businesses should design their SMS strategies around one-way communication flows.
Concatenated Messages (Segmented SMS)
Support: Concatenated SMS support varies by carrier. Notably, Movistar does not support concatenated messages.
Message length rules: Messages should be kept under 160 GSM-7 characters to ensure delivery. For messages using UCS-2 encoding, the limit is 70 characters.
Encoding considerations: While GSM-7 and UCS-2 encoding are supported, Movistar has limited UCS-2 support. It's recommended to use GSM-7 encoding whenever possible.
MMS Support
MMS messages are not directly supported in Ecuador. When MMS content is sent, it is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This ensures compatibility while still allowing rich media sharing.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in Ecuador, allowing users to keep their phone numbers when switching carriers. This feature does not significantly impact SMS delivery or routing as messages are properly directed to the current carrier.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in Ecuador. Attempts to send messages to landline numbers will result in delivery failures, typically with a 400 response error (code 21614). These messages will not appear in logs and accounts will not be charged.
Compliance and Regulatory Guidelines for SMS in Ecuador
While Ecuador does not have stringent SMS-specific regulations, businesses should follow international best practices and general telecommunications guidelines overseen by ARCOTEL (Agencia de Regulación y Control de las Telecomunicaciones).
Consent and Opt-In
While explicit opt-in requirements are not strictly mandated by law in Ecuador, implementing strong consent practices is strongly recommended:
- Obtain clear, documented consent before sending marketing messages
- Maintain detailed records of how and when consent was obtained
- Provide clear terms of service explaining message frequency and content type
- Include information about potential messaging charges
HELP/STOP and Other Commands
Though not legally required, implementing standard opt-out mechanisms is considered best practice:
- Support both "HELP" and "STOP" keywords in Spanish ("AYUDA" and "PARAR")
- Process opt-out requests within 24 hours
- Send confirmation messages in Spanish when users opt out
- Maintain opt-out lists indefinitely
Do Not Call / Do Not Disturb Registries
Ecuador does not maintain an official Do Not Call or Do Not Disturb registry. However, businesses should:
- Maintain their own suppression lists
- Honor opt-out requests immediately
- Keep records of opted-out numbers
- Regularly clean contact lists to remove inactive numbers
Time Zone Sensitivity
Ecuador operates in ECT (UTC-5) with no daylight savings time. While there are no legal restrictions on messaging hours:
- Send non-urgent messages between 8:00 AM and 8:00 PM local time
- Reserve early morning or late night messages for critical alerts only
- Consider business days (Monday-Friday) for marketing messages
Phone Numbers Options and SMS Sender Types for Ecuador
Alphanumeric Sender ID
Operator network capability: Partially supported
Registration requirements: No pre-registration required
Sender ID preservation: Varies by carrier:
- CNT Mobile: Supports dynamic alphanumeric sender IDs
- Claro and Movistar: Overwrite with short codes
Long Codes
Domestic vs. International: International long codes supported; domestic not available
Sender ID preservation: No, except for CNT Mobile
Provisioning time: Immediate for international numbers
Use cases: Ideal for:
- Transactional messages
- Two-factor authentication
- Customer support communications
Short Codes
Support: Not currently supported in Ecuador
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Ecuador maintains several content restrictions for SMS messaging:
- Prohibited Content:
- Religious content
- Adult/explicit material
- Gambling-related messages
- Discriminatory or racial content
- Regulated Industries:
- Financial services must include sender identification
- Healthcare messages must maintain patient privacy
- Political messages require clear sender identification
Content Filtering
Known Carrier Filters:
- Links may trigger spam filters
- All-caps messages often flagged
- Multiple exclamation marks may be filtered
Best Practices to Avoid Filtering:
- Use clear, professional language
- Avoid excessive punctuation
- Include company name in message
- Minimize URL usage in marketing messages
Best Practices for Sending SMS in Ecuador
Messaging Strategy
- Keep messages under 160 characters
- Include clear call-to-actions
- Use company name in sender ID when possible
- Avoid URL shorteners that might trigger spam filters
Sending Frequency and Timing
- Limit marketing messages to 2-4 per month
- Space messages at least 48 hours apart
- Respect local holidays and cultural events
- Monitor engagement rates to optimize timing
Localization
- Default to Spanish for all messages
- Consider regional Spanish variations
- Use formal "usted" rather than informal "tú"
- Include prices in USD (Ecuador's official currency)
Opt-Out Management
- Process opt-outs within 24 hours
- Send confirmation of opt-out completion
- Maintain centralized opt-out database
- Regular audit of opt-out list compliance
Testing and Monitoring
- Test across all three major carriers
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular testing of opt-out functionality
SMS API integrations for Ecuador
Twilio
Twilio provides a robust SMS API with comprehensive Ecuador support. Integration requires an account SID and auth token for authentication.
import * as Twilio from 'twilio';
// Initialize Twilio client with your credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID, // Your Account SID
process.env.TWILIO_AUTH_TOKEN // Your Auth Token
);
// Function to send SMS to Ecuador
async function sendSmsToEcuador(
to: string,
message: string
): Promise<void> {
try {
// Ensure number is in E.164 format for Ecuador (+593)
const formattedNumber = to.startsWith('+593') ? to : `+593${to}`;
const response = await client.messages.create({
body: message,
to: formattedNumber,
from: process.env.TWILIO_PHONE_NUMBER,
// Optional: Force messages to be sent as SMS only
contentType: 'text/plain'
});
console.log(`Message sent successfully! SID: ${response.sid}`);
} catch (error) {
console.error('Error sending message:', error);
}
}
Sinch
Sinch offers direct carrier connections in Ecuador with support for both transactional and marketing messages.
import axios from 'axios';
interface SinchSmsConfig {
apiToken: string;
servicePlanId: string;
fromNumber: string;
}
class SinchSmsService {
private readonly baseUrl: string;
private readonly headers: Record<string, string>;
constructor(private config: SinchSmsConfig) {
this.baseUrl = 'https://sms.api.sinch.com/xms/v1';
this.headers = {
'Authorization': `Bearer ${config.apiToken}`,
'Content-Type': 'application/json'
};
}
async sendSms(to: string, message: string): Promise<void> {
try {
const response = await axios.post(
`${this.baseUrl}/${this.config.servicePlanId}/batches`,
{
from: this.config.fromNumber,
to: [to],
body: message
},
{ headers: this.headers }
);
console.log('Message sent:', response.data.id);
} catch (error) {
console.error('Sinch SMS error:', error);
}
}
}
MessageBird
MessageBird provides reliable SMS delivery in Ecuador with support for delivery reporting.
import messagebird from 'messagebird';
class MessageBirdService {
private client: any;
constructor(apiKey: string) {
this.client = messagebird(apiKey);
}
sendSms(
to: string,
message: string,
originator: string
): Promise<any> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator,
recipients: [to],
body: message,
// Optional parameters for Ecuador
reportUrl: 'https://your-webhook.com/delivery-reports',
validity: 24 // Message validity in hours
}, (err: any, response: any) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}
Plivo
Plivo offers competitive rates for Ecuador with high-quality routes.
import plivo from 'plivo';
class PlivoService {
private client: any;
constructor(authId: string, authToken: string) {
this.client = new plivo.Client(authId, authToken);
}
async sendSms(
src: string,
dst: string,
text: string
): Promise<void> {
try {
const response = await this.client.messages.create({
src, // Your Plivo number
dst, // Destination number in E.164 format
text,
// Ecuador-specific parameters
url: 'https://your-webhook.com/status',
method: 'POST'
});
console.log('Message sent:', response.messageUuid);
} catch (error) {
console.error('Plivo error:', error);
}
}
}
API Rate Limits and Throughput
- Twilio: 250 messages per second
- Sinch: 100 messages per second
- MessageBird: 150 messages per second
- Plivo: 200 messages per second
Strategies for Large-Scale Sending:
- Implement queue systems (Redis/RabbitMQ)
- Use batch APIs when available
- Monitor throughput and adjust sending rates
- Implement exponential backoff for retries
Error Handling and Reporting
- Implement comprehensive logging
- Monitor delivery receipts
- Track common error codes:
- 21614: Invalid number format
- 30003: Carrier rejection
- 30005: Message blocked
- Store delivery status updates
Recap and Additional Resources
Key Takeaways:
- Always use E.164 number formatting (+593)
- Implement proper error handling and logging
- Monitor delivery rates by carrier
- Follow best practices for content and timing
Next Steps:
- Review ARCOTEL regulations (https://www.arcotel.gob.ec)
- Implement proper opt-out handling
- Test thoroughly across all carriers
Additional Resources:
- ARCOTEL Guidelines: https://www.arcotel.gob.ec/servicios-moviles/
- Ecuador Telecommunications Law: https://www.telecomunicaciones.gob.ec/
- Carrier Coverage Maps: