sms compliance
sms compliance
Complete Guide to Sending SMS to Guam: Compliance, Regulations & Best Practices (2024)
Explore Guam SMS: compliance (TCPA), features & best practices. Understand consent, STOP commands (English/Chamorro), & sending windows (UTC+10). Includes API integration (Twilio) & error codes.
Guam SMS Best Practices, Compliance, and Features
SMS Market Overview: Guam Telecommunications Landscape
| Locale name: | Guam |
|---|---|
| ISO code: | GU |
| Region | Oceania |
| Mobile country code (MCC) | 310 |
| Dialing Code | +1671 |
Market Conditions: DOCOMO PACIFIC and GTA dominate Guam's mobile market. As a U.S. territory, Guam follows U.S. telecommunications standards and regulations under FCC oversight. Mobile penetration is high, with widespread smartphone adoption and active use of both traditional SMS and OTT messaging apps.
Businesses sending SMS to Guam must comply with U.S. federal regulations including TCPA requirements, obtain proper consent, and follow carrier-specific guidelines for message delivery.
Population & Subscribers: Guam has approximately 170,000 residents (2024 estimate, CIA World Factbook). Mobile penetration exceeds 100%, with multiple devices per capita common among residents.
Key SMS Features and Capabilities in Guam
Guam supports standard SMS features with some limitations on two-way messaging and specific requirements for sender IDs, following U.S. telecommunications standards.
Two-way SMS Support in Guam
Two-way SMS is not supported in Guam through standard channels due to carrier network configurations and routing limitations. Inbound SMS delivery to standard sender IDs (alphanumeric, toll-free) faces technical restrictions from local carrier infrastructure.
Alternative Solutions
- Dedicated short codes with carrier pre-approval for bidirectional messaging
- OTT messaging platforms (WhatsApp Business, Viber, Telegram)
- Email-to-SMS gateways for response collection
- Web-based response forms with SMS confirmation
- Enterprise direct carrier connections requiring carrier agreements
Concatenated Messages (Segmented SMS)
Support: Yes, concatenated messaging works in Guam, though support may vary by sender ID type.
Message length rules: Standard SMS length limits apply – 160 characters for GSM-7 encoding, 70 characters for Unicode.
Encoding considerations: Both GSM-7 and UCS-2 encodings work. Messages automatically split and rejoin based on the encoding used.
Practical Example
A 200-character GSM-7 message splits into 2 segments:
- Segment 1: 153 characters (7 chars reserved for concatenation header)
- Segment 2: 47 characters
- Billing: Charged as 2 separate messages
- Maximum segments: Typically 10 segments (1,530 characters GSM-7 / 670 characters Unicode) before carrier truncation or rejection
MMS Support for Guam SMS
MMS messages automatically convert to SMS with an embedded URL link. This ensures compatibility across different device types while still allowing rich media content to be shared through clickable links.
Technical Details
- MMS content (images, video, audio) hosted on provider CDN
- SMS contains shortened URL (typically 20-30 characters)
- Link expiration: 30-90 days depending on provider
- HTTPS URLs required for security compliance
- Example format:
View your media: https://mms.provider.com/v/a1b2c3d4
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Guam. Phone numbers remain tied to their original carriers, which simplifies message routing and delivery.
Background: Local Number Portability (LNP) has not been implemented in Guam's telecommunications infrastructure. As of 2024, the Guam Public Utilities Commission has not announced a timeline for LNP deployment. Phone number prefix ranges remain carrier-specific.
Sending SMS to Landlines
You cannot send SMS to landline numbers in Guam. Attempts to send messages to landline numbers return a 400 response with error code 21614, with no charges incurred.
Validation Best Practice: Use HLR lookup or carrier lookup APIs to identify line type before sending. Most SMS providers offer phone number validation endpoints that return mobile vs. landline classification.
SMS Compliance and Regulatory Requirements in Guam
As a U.S. territory, Guam follows federal telecommunications regulations, including the Telephone Consumer Protection Act (TCPA). Comply with both U.S. federal laws and local Guam telecommunications guidelines administered by the Guam Public Utilities Commission.
TCPA Penalties
| Violation Type | Penalty Amount |
|---|---|
| Per violation | $500 to $1,500 statutory damages per unsolicited message |
| Willful/knowing violations | Up to $1,500 per message (treble damages) |
| Class action exposure | Unlimited aggregate damages |
| FCC enforcement | Fines up to $46,517 per violation (2024 adjustment per FCC guidelines) |
Consent and Opt-In
Explicit Consent Requirements
- Obtain written consent before sending marketing messages
- Maintain clear records of how and when you obtained consent
- Include clear terms of service and privacy policy references
- Specify message frequency and content type in consent forms
Practical Consent Example
By checking this box, I agree to receive marketing text messages from [Company Name]
at the phone number provided. I understand I may receive up to 4 messages per week.
Message and data rates may apply. Reply STOP to cancel. See Terms at [URL] and
Privacy Policy at [URL].
Consent Date: [Date]
Phone Number: [Number]
IP Address: [IP] (for web forms)
Record-Keeping: Store consent records for minimum 4 years per CTIA Best Practices. Include: timestamp, phone number, consent method, IP address (if web), specific language presented.
Transactional vs. Promotional Distinctions
| Message Type | Consent Required | Examples |
|---|---|---|
| Transactional messages | No TCPA opt-in required – consent implied through business relationship | Order confirmations, account alerts, appointment reminders |
| Promotional messages | Explicit prior written consent required per TCPA | Marketing, offers, sales |
| Mixed messages | Subject to TCPA – must have consent | Promotional + transactional combined |
HELP/STOP and Other Commands
All SMS programs must support standard commands per CTIA Guidelines:
| Requirement | Specification |
|---|---|
| Required Keywords | STOP, CANCEL, END, QUIT, and HELP |
| Response Time | Process opt-out requests within 24 hours maximum (immediate processing recommended) |
| Language Support | Recognize commands in both English and Chamorro |
| Confirmation Messages | Send confirmation for both HELP and STOP requests |
Example STOP Response:
You have been unsubscribed from [Brand Name] messages. You will receive no further
messages. Reply HELP for assistance or contact [support contact].
Example HELP Response:
[Brand Name]: Msg frequency varies. Msg&data rates may apply. Reply STOP to cancel.
Help: [support contact] or [support URL]. Terms: [terms URL].
Chamorro Language Note: While Guam is bilingual (English/Chamorro per 1 Guam Code Ann. § 1606), Chamorro usage in daily commerce is limited (~20% fluency among population per 2020 Census data). English-only SMS programs are standard practice. For government services or cultural campaigns, provide Chamorro translations upon request.
Do Not Call / Do Not Disturb Registries
Guam follows the U.S. National Do Not Call Registry (registry.donotcall.gov).
Best Practices:
- Regularly scrub contact lists against the DNC registry (recommended: monthly)
- Maintain internal opt-out databases
- Honor opt-out requests across all marketing channels
- Document compliance procedures and maintain records
DNC Registry Access: Use the DNC Subscription Service for programmatic access. API and batch file downloads available. Process additions within 31 days of consumer registration per FTC rules.
Time Zone Sensitivity
- Guam follows Chamorro Standard Time (ChST, UTC+10) year-round
- No Daylight Saving Time: Guam does not observe DST (NIST Time Zones)
- Recommended Sending Hours: 8:00 AM to 8:00 PM ChST
- Exception: Urgent messages like authentication codes or emergency alerts
Major Guam Holidays
Avoid marketing campaigns on these dates:
- Liberation Day (July 27) – Guam's most significant holiday
- Discovery Day (First Monday in March)
- All U.S. federal holidays (New Year's, Memorial Day, Independence Day, Labor Day, Thanksgiving, Christmas)
- Feast days of patron saints (varies by village)
Sender ID Options for SMS in Guam: Short Codes, Long Codes & Alphanumeric IDs
Alphanumeric Sender ID
| Feature | Status |
|---|---|
| Operator network capability | Not supported for dynamic usage |
| Registration requirements | N/A |
| Sender ID preservation | No – carriers overwrite with default values (e.g., "GUAM", 5-digit shortcode, or generic "INFO") |
Long Codes
Domestic vs. International
- Domestic long codes not supported
- International long codes supported but with limitations
- US long codes may be overwritten with different Sender IDs
International Long Code Limitations
| Limitation | Impact |
|---|---|
| Throughput | Limited to 1 message per second per number (MPS) |
| Carrier filtering | Higher risk of spam filtering vs. short codes |
| Sender ID overwrite | Carriers may replace with generic shortcode or "GUAM" prefix |
| Two-way restrictions | Inbound replies not reliably delivered |
| Registration | No formal registration; subject to carrier throttling |
Sender ID preservation: No, carriers do not preserve original Sender IDs for long codes
Provisioning time: Immediate for international long codes
Use cases: Transactional messaging, alerts, and notifications
Short Codes
Support: Yes, through U.S. short code system (U.S. Short Code Administration)
Provisioning time: 8-12 weeks for standard approval; 4-6 weeks expedited
Use cases:
- Marketing campaigns
- Two-factor authentication
- Customer service
- High-volume messaging
Short Code Types
| Type | Description | Setup Cost | Monthly Lease |
|---|---|---|---|
| Dedicated short codes | Exclusive 5-6 digit number | $500-$1,000 | $1,000-$1,500 |
| Shared short codes | Multiple brands share code with keyword routing (Note: CTIA deprecated shared short codes for A2P effective 2021) | $500 | $500-$1,000 |
Throughput Capacity
| Sender Type | Messages Per Second (MPS) |
|---|---|
| Short codes | Up to 100 MPS per carrier |
| Long codes | 1 MPS maximum |
| 10DLC | 4-75 MPS depending on registration tier |
Application Process
Via U.S. Short Code Administration:
- Submit application with use case documentation
- Carrier review (all major U.S. carriers)
- Program brief approval
- Technical testing
- Launch approval (8-12 weeks total)
SMS Content Restrictions and Regulated Industries in Guam
Prohibited Content
- Gambling and betting services (prohibited under 18 U.S.C. § 1084)
- Adult content
- Illegal products or services
- Cryptocurrency promotions without proper disclaimers
- Misleading or fraudulent content
Carrier Policy References: DOCOMO PACIFIC and GTA follow CTIA Messaging Principles which define prohibited content categories.
Cryptocurrency Disclaimers: Include investment risk warnings, "not investment advice" language, and regulatory compliance statements per SEC guidelines.
Regulated Industries
| Industry | Requirements |
|---|---|
| Financial services | Include "Msg&data rates may apply" and appropriate risk disclaimers per FINRA rules |
| Healthcare messages | Comply with HIPAA – avoid PHI in SMS; use secure portals for sensitive data |
| Insurance products | Clear terms and conditions, "Not all products available in all states" disclaimer |
Age-Gating Requirements: For age-restricted content (18+), implement double opt-in with age verification. Store verification records with consent documentation.
Content Filtering
Known Carrier Rules
- Use URLs from approved domains
- Avoid excessive capitalization (>50% of message in capitals)
- Limited use of special characters
- No mention of restricted keywords
Restricted Keywords Examples
Common spam indicators (partial list):
- "Free", "Winner", "Congratulations"
- "Click here", "Act now" (urgency tactics)
- Drug names without medical context
- Financial terms ("Loan", "Debt", "Credit") without proper context
Domain Approval Process
Submit domains to carrier compliance teams for whitelisting. Requires:
- Domain ownership verification
- SSL certificate (HTTPS required)
- Privacy policy and terms of service
- Brand registration documentation
Approved URL Shorteners for Guam
- Branded short domains registered through Bitly or similar
- Provider-specific shorteners (Twilio, Sinch domain shorteners)
- Avoid generic shorteners (bit.ly, tinyurl) – higher spam filtering risk
Best Practices
- Use approved URL shorteners
- Avoid spam trigger words
- Include clear business identification
- Maintain consistent sending patterns
Best Practices for Successful SMS Campaigns in Guam
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear calls-to-action
- Personalize messages using recipient data
- Maintain consistent brand voice
Effective vs. Ineffective Examples
✅ Effective: "Hi John, your appointment at Guam Clinic is confirmed for Tue 3/15 at 2PM. Reply C to confirm or R to reschedule. Questions? Call 671-555-0100."
❌ Ineffective: "CONGRATULATIONS!!! You've WON a FREE appointment! CLICK HERE NOW: bit.ly/xyz123 Limited time only! Don't miss out!"
Sending Frequency and Timing
- Limit to 2-4 messages per week per recipient
- Respect local holidays and cultural events
- Avoid sending during off-hours (before 8 AM or after 8 PM ChST)
- Space out bulk campaigns to prevent network congestion (below 50 MPS sustained)
Recommended Batch Strategies
| Parameter | Specification |
|---|---|
| Batch size | 1,000-5,000 messages per batch |
| Pacing | 30-60 second intervals between batches |
| Peak times to avoid | 8-9 AM and 5-6 PM (commute hours with network congestion) |
Localization
- Support both English and Chamorro languages
- Consider cultural sensitivities in message content
- Use local date and time formats (MM/DD/YYYY, 12-hour clock with AM/PM)
- Include local contact information when possible (671 area code)
Cultural Sensitivities for Guam
- Respect for elders (avoid informal tone in senior-targeted campaigns)
- Military community presence (avoid political messaging)
- Catholic traditions (avoid promotional messages during Holy Week, Christmas season)
- Family-oriented culture (family-focused messaging resonates well)
Chamorro Language Usage
~20% of population speaks Chamorro fluently. English is universal. Use Chamorro for:
- Government public service announcements
- Cultural event promotions
- Community organization outreach
- Elder-targeted communications
Opt-Out Management
- Process opt-outs in real-time (immediate database update)
- Maintain centralized opt-out database across all systems
- Send confirmation of opt-out completion
- Regular audit of opt-out compliance (quarterly recommended)
Technical Implementation: Use message queue systems (Redis, RabbitMQ) with webhook listeners for STOP keywords. Update master database before next send cycle. Implement global suppression list shared across all campaigns.
Testing and Monitoring
Test across major Guam carriers (DOCOMO PACIFIC, GTA):
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular testing of opt-out functionality (monthly)
- Monitor for carrier filtering changes
KPIs and Benchmarks for Guam
| Metric | Benchmark |
|---|---|
| Delivery rate | >95% (industry benchmark) |
| Click-through rate | 15-25% for transactional, 3-8% for promotional |
| Opt-out rate | <2% per campaign (>5% indicates content issues) |
| Response time | <5 seconds for STOP processing |
| Bounce rate | <3% |
Monitoring Tools
- Provider dashboards (Twilio Console, Sinch Dashboard)
- Custom analytics (Google Analytics with UTM parameters)
- Real-time alerting (PagerDuty, Opsgenie) for delivery rate drops >5%
SMS API Providers for Guam: Twilio, Sinch, MessageBird & Plivo
Twilio
Twilio provides robust SMS capabilities for sending messages to Guam through their REST API.
Pricing (as of 2024, verify at Twilio Pricing):
- Outbound SMS to Guam (+1671): $0.0079 per message segment (U.S. territory rates)
- Inbound SMS: Not supported for Guam
- Short code outbound: $0.0040 per segment
Authentication
- Account SID and Auth Token required
- Environment variables recommended for credential storage
Key Parameters
from: Your Twilio phone numberto: Recipient number in E.164 format (+1671XXXXXXX)body: Message content
import * as Twilio from 'twilio';
// Initialize client with environment variables
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
async function sendSMSToGuam() {
try {
// Send message with error handling
const message = await client.messages.create({
body: 'Your message to Guam recipient',
from: process.env.TWILIO_PHONE_NUMBER,
to: '+1671XXXXXXX', // Guam number
statusCallback: 'https://your-server.com/delivery-receipt' // Webhook for DLR
});
console.log(`Message sent successfully: ${message.sid}`);
return message;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}Webhook Configuration for Delivery Receipts
// Express.js webhook endpoint
app.post('/delivery-receipt', (req, res) => {
const { MessageSid, MessageStatus, ErrorCode } = req.body;
console.log(`Message ${MessageSid} status: ${MessageStatus}`);
if (ErrorCode) {
console.error(`Error ${ErrorCode}: ${req.body.ErrorMessage}`);
}
res.sendStatus(200);
});Common Twilio Error Codes for Guam
| Error Code | Description |
|---|---|
21211 | Invalid 'To' phone number (check E.164 format) |
21408 | Permission to send SMS not enabled (verify account settings) |
21610 | Message blocked by carrier (content filtering) |
30003 | Unreachable destination (number inactive/out of service) |
30005 | Unknown destination handset (invalid number) |
Sinch
Sinch offers SMS API access with support for Guam destinations.
Pricing (verify at Sinch Pricing):
- Outbound SMS to Guam: ~$0.01-0.015 per message segment
- Check current rates as pricing varies by contract
Authentication
- Project ID and API Token required
- Bearer token authentication
import { SinchClient } from '@sinch/sdk-core';
// Initialize Sinch client
const sinchClient = new SinchClient({
projectId: process.env.SINCH_PROJECT_ID,
keyId: process.env.SINCH_KEY_ID,
keySecret: process.env.SINCH_KEY_SECRET
});
async function sendSinchSMS() {
try {
const response = await sinchClient.sms.batches.send({
sendSMSRequestBody: {
to: ['+1671XXXXXXX'],
from: 'YourSenderID',
body: 'Your message content',
delivery_report: 'full' // Enable delivery reports
}
});
console.log('Message sent:', response);
return response;
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}Batch Sending Example
async function sendSinchBatch() {
const recipients = ['+1671XXXXXXX', '+1671YYYYYYY', '+1671ZZZZZZZ'];
const response = await sinchClient.sms.batches.send({
sendSMSRequestBody: {
to: recipients,
from: 'YourBrand',
body: 'Bulk message content',
delivery_report: 'summary'
}
});
return response.batch_id; // Use for status tracking
}MessageBird
MessageBird (formerly referenced as "Bird") provides SMS capabilities for Guam.
Pricing (verify at MessageBird Pricing):
- Outbound SMS to Guam: ~$0.01-0.02 per message segment
Authentication
- API Key required
- REST API access
import { initClient } from 'messagebird';
const messagebird = initClient(process.env.MESSAGEBIRD_API_KEY);
function sendMessageBirdSMS() {
const params = {
originator: 'YourSenderID',
recipients: ['+1671XXXXXXX'],
body: 'Your message content'
};
messagebird.messages.create(params, (err, response) => {
if (err) {
console.error('MessageBird error:', err);
return;
}
console.log('Message sent:', response);
});
}Plivo
Plivo offers SMS API integration with support for Guam numbers.
Pricing (verify at Plivo Pricing):
- Outbound SMS to Guam: ~$0.008-0.012 per message segment
Authentication
- Auth ID and Auth Token required
- REST API implementation
import * as plivo from 'plivo';
const client = new plivo.Client(
process.env.PLIVO_AUTH_ID,
process.env.PLIVO_AUTH_TOKEN
);
async function sendPlivoSMS() {
try {
const response = await client.messages.create({
src: 'YourPlivoNumber', // Your Plivo number
dst: '+1671XXXXXXX', // Destination number
text: 'Your message content',
url: 'https://your-server.com/delivery-report' // Delivery callback
});
console.log('Message sent:', response);
return response;
} catch (error) {
console.error('Plivo error:', error);
throw error;
}
}API Rate Limits and Throughput
Standard Rate Limits (Global)
| Provider | Rate Limit (MPS) | Scope |
|---|---|---|
| Twilio | 250 | Account-level, across all destinations |
| Sinch | 30 | Project-level |
| MessageBird | 60 | Account-level |
| Plivo | 200 | Account-level |
Guam-Specific Considerations: Rate limits are global account limits, not destination-specific. For Guam, effective throughput may be lower due to carrier-side throttling (~50-100 MPS sustained for long codes; short codes handle full carrier capacity).
Requesting Higher Limits
Contact provider sales/support teams. Requirements:
- Business justification (use case, volume projections)
- Compliance documentation (TCPA consent procedures)
- Technical infrastructure review (error handling, backoff logic)
- Approval timeline: 2-4 weeks
Throughput Management Strategies
- Implement queue systems for high-volume sending (Redis, RabbitMQ, AWS SQS)
- Use batch APIs when available
- Monitor delivery rates and adjust sending patterns
- Implement exponential backoff for retry logic
Queue Implementation Example
import Bull from 'bull';
const smsQueue = new Bull('sms-queue', {
redis: { host: 'localhost', port: 6379 }
});
// Producer: Add messages to queue
async function queueSMS(to: string, body: string) {
await smsQueue.add({
to,
body,
timestamp: Date.now()
}, {
attempts: 3,
backoff: {
type: 'exponential',
delay: 2000
}
});
}
// Consumer: Process queue with rate limiting
smsQueue.process(10, async (job) => { // 10 concurrent workers
const { to, body } = job.data;
try {
await sendSMSToGuam(to, body);
return { success: true };
} catch (error) {
throw error; // Retry with exponential backoff
}
});Exponential Backoff for Retries
async function sendWithRetry(message: any, maxRetries = 3) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
try {
return await client.messages.create(message);
} catch (error) {
if (attempt === maxRetries - 1) throw error;
const delay = Math.pow(2, attempt) * 1000; // 1s, 2s, 4s
await new Promise(resolve => setTimeout(resolve, delay));
}
}
}Error Handling and Reporting
Implement comprehensive monitoring:
- Error logging for all failures
- Delivery receipts tracking
- Common error codes monitoring
- Automated alerts for failure thresholds
- Delivery status dashboard maintenance
Common Error Codes for Guam Delivery
| Error Code | Provider | Meaning | Action |
|---|---|---|---|
| 21211 | Twilio | Invalid 'To' number | Validate E.164 format |
| 21610 | Twilio | Carrier blocked message | Review content filtering rules |
| 30003 | Twilio | Unreachable destination | Remove from list; number inactive |
| 30005 | Twilio | Unknown handset | Validate number; possible landline |
| 400 | Sinch | Bad request | Check API parameters |
| 402 | Sinch | Insufficient credit | Add funds to account |
| 9 | MessageBird | Missing parameters | Include all required fields |
| 21 | MessageBird | Not enough balance | Top up account |
| 400 | Plivo | Invalid parameters | Verify API payload |
| 401 | Plivo | Authentication failed | Check Auth ID/Token |
Error Handling Code Example (Twilio)
async function sendWithErrorHandling(to: string, body: string) {
try {
const message = await client.messages.create({
to,
from: process.env.TWILIO_PHONE_NUMBER,
body
});
// Log success
logger.info({ messageSid: message.sid, to, status: 'sent' });
return message;
} catch (error: any) {
const errorCode = error.code;
switch (errorCode) {
case 21211:
logger.error({ to, error: 'Invalid number format' });
// Mark number as invalid in database
await markNumberInvalid(to);
break;
case 21610:
logger.warn({ to, error: 'Content filtered by carrier' });
// Alert content team
await alertContentTeam(body);
break;
case 30003:
case 30005:
logger.warn({ to, error: 'Unreachable number' });
// Remove from active list
await removeFromActiveList(to);
break;
default:
logger.error({ to, errorCode, error: error.message });
throw error; // Re-throw for retry logic
}
}
}Recommended Alert Thresholds
| Metric | Threshold | Alert Level |
|---|---|---|
| Delivery rate | <90% | Warning |
| Delivery rate | <85% | Critical |
| Error rate | >10% | Investigate content/numbers |
| Opt-out rate | >5% | Review message relevance |
| Cost per message | Increases >20% | Check routing/provider |
Recap and Additional Resources
Key Takeaways
1. Compliance Priorities
- Obtain explicit consent (written record for 4+ years)
- Honor opt-out requests (immediate processing required)
- Follow TCPA guidelines ($500-$1,500 penalties per violation)
- Respect local time zones (ChST UTC+10, no DST)
2. Technical Considerations
- Use E.164 number formatting (+1671XXXXXXX)
- Implement proper error handling (see error code table)
- Monitor delivery rates (>95% benchmark)
- Test across carriers (DOCOMO PACIFIC, GTA)
3. Best Practices
- Maintain clean contact lists (monthly DNC scrubbing)
- Regular compliance audits (quarterly recommended)
- Document consent records (4-year retention minimum)
- Monitor performance metrics (delivery, engagement, opt-out rates)
Next Steps
1. Review Regulations
- TCPA compliance requirements
- Guam Public Utilities Commission telecommunications laws
- FCC privacy regulations
2. Technical Setup
Choose appropriate SMS provider (see API comparison table):
| Use Case | Recommended Provider | Rationale |
|---|---|---|
| High-volume marketing | Twilio (short code) | Highest throughput (100 MPS), best deliverability |
| Transactional alerts | Twilio or Plivo | Reliable, good documentation, competitive pricing |
| International expansion | Sinch or MessageBird | Strong global presence, multi-channel support |
| Budget-conscious | Plivo | Lower per-message costs for Guam |
| Enterprise integration | Twilio | Most mature API, extensive documentation |
Implement proper error handling (use provided code examples) and set up monitoring systems (delivery rate tracking, alerts).
3. Operational Preparation
Develop content guidelines:
- Avoid spam trigger words
- Include opt-out language
- Create response templates (HELP/STOP confirmations, error messages)
- Train support staff (TCPA compliance, opt-out handling, escalation procedures)
Content Guidelines Checklist
- Brand identification in every message
- Opt-out instructions (STOP to cancel)
- Clear call-to-action
- No excessive capitalization (>50%)
- Approved URLs only
- Avoid restricted keywords
- Respect character limits (160 GSM-7, 70 Unicode)
- Include frequency disclosure ("Msg frequency varies")
- Add "Msg&data rates may apply" for marketing
Additional Information
- Guam Public Utilities Commission – Local telecom regulatory authority
- TCPA Compliance Guidelines – Federal SMS/calling regulations
- CTIA Messaging Best Practices – Industry standards
- U.S. Short Code Administration – Short code registry and application
- National Do Not Call Registry – Consumer opt-out database
- FCC Enforcement Actions – Recent violations and penalties
- 47 U.S.C. § 227 (TCPA Statute) – Full text of TCPA law
Frequently Asked Questions
Is number portability available for phone numbers in Guam?
Number portability is not available in Guam. Phone numbers remain associated with their original carriers.
How to send SMS messages to Guam?
Use an SMS API provider like Twilio, Sinch, MessageBird, or Plivo. Ensure recipient numbers are in E.164 format (+1671XXXXXXX) and comply with Guam and U.S. telecommunications regulations, including TCPA and local laws overseen by the Guam Public Utilities Commission.
What is the process for sending SMS in Guam?
Guam follows U.S. telecommunications standards, requiring adherence to TCPA regulations and obtaining explicit consent for marketing messages. Technical implementation involves using an SMS API with appropriate parameters and handling for the +1671 country code.
Why does Guam not support two-way SMS traditionally?
Standard two-way SMS is not supported in Guam. Businesses needing two-way communication should explore alternative solutions or specialized enterprise messaging options beyond typical SMS APIs.
When should I send marketing SMS messages in Guam?
Adhere to Guam's Chamorro Standard Time (UTC+10) and send messages between 8:00 AM and 8:00 PM local time. Consider local holidays and cultural events when scheduling campaigns, unless sending urgent messages like authentication codes.
Can I send SMS messages to landlines in Guam?
No, sending SMS to landlines in Guam is not supported and will result in a 400 error response with code 21614. No charges will be incurred for these attempts.
What SMS sender ID types are supported in Guam?
While alphanumeric sender IDs are not dynamically supported, short codes (through the U.S. system) and international long codes are available for SMS sending, each with specific use cases and limitations.
How to comply with SMS regulations in Guam?
Comply with TCPA and Guam-specific rules by obtaining written consent before sending marketing messages. Honor STOP, CANCEL, END, QUIT, and HELP commands within 24 hours in both English and Chamorro, and respect the U.S. National Do Not Call Registry.
What are the character limits for SMS messages in Guam?
Guam follows standard SMS length limits: 160 characters for GSM-7 encoding and 70 characters for Unicode. Concatenated messaging is supported for longer messages, automatically splitting and rejoining based on encoding.
What content is restricted in SMS messages to Guam?
Prohibited content includes gambling, adult material, illegal products/services, cryptocurrency promotions without disclaimers, and misleading information. Regulated industries like finance and healthcare have additional compliance requirements.
How to handle MMS messages in Guam?
MMS messages are automatically converted to SMS with an embedded URL. This maintains broad compatibility while allowing recipients to access rich media content through the link.
What are the best practices for sending SMS in Guam?
Best practices include obtaining consent, respecting quiet hours, localizing content, managing opt-outs effectively, and monitoring delivery rates and carrier filtering changes. Thorough testing and ongoing performance monitoring are essential.
What are the API rate limits for SMS providers in Guam?
Providers have varying rate limits, such as 250/second for Twilio, 30/second for Sinch, 60/second for MessageBird, and 200/second for Plivo. Implement queuing and batching to manage high-volume sending effectively.
How to manage opt-outs for SMS campaigns in Guam?
Process opt-out requests in real-time using keywords like STOP, maintain a centralized opt-out database, send confirmation messages, and conduct regular compliance audits to ensure adherence to regulations.
What are the recommended SMS API integrations for Guam?
Twilio, Sinch, MessageBird, and Plivo all offer SMS API integration with support for Guam numbers. Each provides different features, authentication methods, and code samples for implementation.