Guatemala SMS Best Practices, Compliance, and Features
Guatemala SMS Market Overview
Locale name: | Guatemala |
---|---|
ISO code: | GT |
Region | Central America |
Mobile country code (MCC) | 704 |
Dialing Code | +502 |
Market Conditions: Guatemala has a growing mobile market with increasing SMS usage for both personal and business communications. The country's mobile landscape is dominated by three major operators: Tigo, Claro, and Movistar. While OTT messaging apps like WhatsApp are popular in urban areas, SMS remains crucial for business communications and reaching rural populations where data connectivity may be limited. Android devices dominate the market, accounting for approximately 85% of mobile devices.
Key SMS Features and Capabilities in Guatemala
Guatemala offers basic SMS functionality with some limitations on advanced features, focusing primarily on one-way messaging capabilities for business communications.
Two-way SMS Support
Two-way SMS is not supported in Guatemala through standard A2P channels. Businesses looking to implement interactive messaging solutions should consider alternative communication methods or work with local aggregators for specialized solutions.
Concatenated Messages (Segmented SMS)
Support: Concatenated messaging is not officially supported in Guatemala.
Message length rules: Standard SMS length limits apply - 160 characters for GSM-7 encoding and 70 characters for Unicode.
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported, with GSM-7 recommended for optimal delivery and cost-effectiveness.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link. This conversion ensures message delivery while providing a way to share rich media content. Best practice is to use URL shorteners and ensure media content is mobile-optimized.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Guatemala. This means phone numbers remain tied to their original carrier, which helps ensure more reliable message routing and delivery.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in Guatemala. Attempts to send messages to landline numbers will result in delivery failure and may trigger error responses from the API (error code 21614 for Twilio, for example).
Compliance and Regulatory Guidelines for SMS in Guatemala
Guatemala's SMS regulations are governed by the Superintendencia de Telecomunicaciones (SIT). While specific SMS marketing laws are still evolving, businesses must adhere to general consumer protection laws and telecommunications regulations. The primary regulatory framework focuses on protecting consumer rights and preventing spam.
Consent and Opt-In
Explicit Consent Requirements:
- Written or digital confirmation required before sending marketing messages
- Clear disclosure of message frequency and content type
- Documentation of consent must be maintained for at least 2 years
- Consent records should include timestamp, source, and scope of permission
Best Practices for Obtaining Consent:
- Use double opt-in verification
- Provide clear terms and conditions
- Maintain detailed consent logs
- Regular consent refresh campaigns recommended every 12 months
HELP/STOP and Other Commands
- STOP, CANCELAR, and NO must be supported in both English and Spanish
- AYUDA (HELP) responses should provide service information in Spanish
- Keywords must be case-insensitive
- Response time to opt-out requests should be immediate
- Confirmation messages should be sent in the user's preferred language
Do Not Call / Do Not Disturb Registries
Guatemala does not maintain an official DND registry. However, businesses should:
- Maintain their own suppression lists
- Honor opt-out requests within 24 hours
- Implement automated opt-out processing
- Regularly clean contact lists
- Share opt-out lists across campaigns and platforms
Time Zone Sensitivity
Guatemala follows Central Time (UTC-6). While no strict time restrictions exist, recommended sending hours are:
- Weekdays: 8:00 AM to 8:00 PM CT
- Weekends: 9:00 AM to 6:00 PM CT
- Holidays: Avoid unless urgent
- Emergency messages: Can be sent 24/7
Phone Numbers Options and SMS Sender Types for Guatemala
Alphanumeric Sender ID
Operator network capability: Supported with limitations Registration requirements: No pre-registration required Sender ID preservation: Not guaranteed - may be overwritten with random domestic longcode Best practices: Use consistent sender IDs across campaigns
Long Codes
Domestic vs. International:
- Domestic long codes not supported
- International long codes fully supported
Sender ID preservation: No - typically overwritten Provisioning time: 1-2 business days Use cases:
- Transactional messages
- Two-factor authentication
- Customer support communications
Short Codes
Support: Not currently available in Guatemala Provisioning time: N/A Use cases: N/A
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
- Fraudulent or misleading content
Regulated Industries:
- Financial services require additional disclaimers
- Healthcare messages must comply with privacy regulations
- Insurance products need clear terms and conditions
Content Filtering
Known Carrier Filters:
- URLs from suspicious domains
- Multiple exclamation marks or all-caps text
- High-frequency identical messages
- Messages containing certain restricted keywords
Best Practices to Avoid Filtering:
- Use approved URL shorteners
- Maintain consistent sending patterns
- Avoid excessive punctuation
- Include clear business identifier
- Keep content professional and legitimate
Best Practices for Sending SMS in Guatemala
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-action
- Use personalization tokens thoughtfully
- Maintain consistent brand voice
- Include business name in message
Sending Frequency and Timing
- Limit to 4-5 messages per month per recipient
- Respect local holidays and cultural events
- Implement frequency capping
- Space out messages appropriately
Localization
- Primary language: Spanish
- Consider indigenous languages for specific regions
- Use local date/time formats
- Adapt content for cultural context
- Test translations with native speakers
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain centralized opt-out database
- Send opt-out confirmation message
- Regular audit of opt-out lists
- Train staff on opt-out procedures
Testing and Monitoring
- Test across all major carriers (Tigo, Claro, Movistar)
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular A/B testing of message content
- Document and analyze failure patterns
SMS API integrations for Guatemala
Twilio
Twilio provides a robust SMS API with comprehensive support for Guatemala. Integration requires an account SID and auth token for authentication.
Key Parameters:
from
: Your Twilio phone number (must be in E.164 format)to
: Recipient's number (must include +502 prefix for Guatemala)body
: Message content (supports UTF-8 encoding)
import { Twilio } from 'twilio';
// Initialize Twilio client
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
async function sendSMSToGuatemala(
to: string,
message: string
): Promise<void> {
try {
// Ensure number starts with Guatemala country code
const formattedNumber = to.startsWith('+502') ? to : `+502${to}`;
const response = await client.messages.create({
body: message,
from: process.env.TWILIO_PHONE_NUMBER,
to: formattedNumber,
// Enable 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
Sinch offers direct carrier connections in Guatemala with support for both SMS and number verification services.
Key Parameters:
serviceplanId
: Your Sinch service plan IDapiToken
: Bearer token for authenticationdestination
: Recipient number in E.164 format
import axios from 'axios';
class SinchSMSService {
private readonly baseUrl: string;
private readonly headers: Record<string, string>;
constructor(serviceplanId: string, apiToken: string) {
this.baseUrl = `https://sms.api.sinch.com/xms/v1/${serviceplanId}`;
this.headers = {
'Authorization': `Bearer ${apiToken}`,
'Content-Type': 'application/json'
};
}
async sendSMS(to: string, message: string): Promise<void> {
try {
const response = await axios.post(
`${this.baseUrl}/batches`,
{
from: process.env.SINCH_SENDER_ID,
to: [to],
body: message
},
{ headers: this.headers }
);
console.log('Message sent:', response.data.id);
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}
}
MessageBird
MessageBird provides reliable SMS delivery in Guatemala through their global messaging API.
Key Parameters:
apiKey
: Your MessageBird API keyoriginator
: Sender ID or phone numberrecipients
: Array of recipient numbers
import messagebird from 'messagebird';
class MessageBirdService {
private client: any;
constructor(apiKey: string) {
this.client = messagebird(apiKey);
}
sendSMS(to: string, message: string): Promise<void> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator: 'YourCompany',
recipients: [to],
body: message,
datacoding: 'auto' // Automatic encoding detection
}, (err: any, response: any) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}
API Rate Limits and Throughput
Guatemala-specific considerations for API usage:
Rate Limits:
- Twilio: 250 messages per second
- Sinch: 30 messages per second
- MessageBird: 100 messages per second
Throughput Management Strategies:
- Implement exponential backoff for retries
- Use queue systems (e.g., Redis, RabbitMQ)
- Batch messages when possible
- Monitor delivery rates by carrier
Error Handling and Reporting
Common Error Scenarios:
- Invalid phone numbers
- Network timeouts
- Carrier rejections
- Rate limit exceeded
Best Practices:
interface SMSError {
code: string;
message: string;
timestamp: Date;
recipient: string;
}
class SMSErrorHandler {
static handleError(error: SMSError): void {
// Log error details
console.error(`SMS Error [${error.code}]:`, {
message: error.message,
recipient: error.recipient,
timestamp: error.timestamp
});
// Implement retry logic for specific error codes
if (this.isRetryableError(error.code)) {
// Add to retry queue
}
// Alert on critical errors
if (this.isCriticalError(error.code)) {
// Send alert to monitoring system
}
}
}
Recap and Additional Resources
Key Takeaways
-
Compliance Priorities:
- Obtain explicit consent
- Honor opt-out requests
- Maintain proper documentation
-
Technical Considerations:
- Use E.164 number formatting
- Implement proper error handling
- Monitor delivery rates
-
Best Practices:
- Send during business hours
- Localize content
- Maintain clean contact lists
Next Steps
- Review SIT (Superintendencia de Telecomunicaciones) regulations
- Consult with local legal counsel
- Set up test accounts with preferred SMS providers
- Implement monitoring and reporting systems
Additional Resources
- SIT Official Website
- Guatemala Telecommunications Law
- [SMS Provider Documentation]: