United States SMS Best Practices, Compliance, and Features
United States SMS Market Overview
Locale name: | United States |
---|---|
ISO code: | US |
Region | North America |
Mobile country code (MCC) | 310, 311 |
Dialing Code | +1 |
Market Conditions: The United States has one of the world's most mature SMS markets, dominated by major carriers including AT&T, Verizon, and T-Mobile. While OTT messaging apps like WhatsApp and Facebook Messenger are popular, SMS remains a critical communication channel with nearly universal reach. The market shows a relatively even split between Android (around 52%) and iOS (around 48%) users, with both platforms fully supporting standard SMS features.
Key SMS Features and Capabilities in United States
The United States offers comprehensive SMS capabilities including two-way messaging, concatenation, and MMS support, with strong carrier infrastructure and standardized delivery protocols.
Two-way SMS Support
The United States fully supports two-way SMS messaging across all major carriers. There are no specific restrictions beyond standard compliance requirements and proper registration for A2P (Application-to-Person) messaging through the 10DLC registration process.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is fully supported across all major U.S. carriers.
Message length rules: Messages can contain up to 1600 characters before splitting occurs. Single SMS messages are limited to 160 GSM-7 characters or 70 UCS-2 characters.
Encoding considerations: GSM-7 encoding is used for standard ASCII characters, while UCS-2 encoding is automatically applied for messages containing special characters or Unicode, reducing the per-segment character limit from 160 to 70.
MMS Support
MMS is fully supported across all major U.S. carriers, allowing for rich media content including images, short videos, and audio clips. Best practices include keeping media files under 1MB and using common formats (JPEG, GIF, PNG for images; MP4 for video) to ensure broad compatibility.
Recipient Phone Number Compatibility
Number Portability
Number portability is available and widely implemented across all U.S. carriers. This allows users to keep their phone numbers when switching providers. While this doesn't directly affect SMS delivery, carriers maintain a central database to ensure proper message routing.
Sending SMS to Landlines
SMS to landline is possible but varies by carrier and landline provider. When attempted, some carriers will convert SMS messages to text-to-speech voice calls for landline recipients, while others may simply fail to deliver. It's recommended to verify number types before sending and filter out landline numbers from SMS campaigns.
Compliance and Regulatory Guidelines for SMS in United States
SMS marketing in the United States is primarily regulated by the Telephone Consumer Protection Act (TCPA), the CAN-SPAM Act, and Federal Communications Commission (FCC) guidelines. The CTIA (Cellular Telecommunications Industry Association) provides additional industry standards that should be followed. Companies must also comply with state-specific regulations and the A2P 10DLC registration requirements.
Consent and Opt-In
Explicit Written Consent Required: The TCPA mandates obtaining explicit written consent before sending marketing messages. This consent must be:
- Clear and conspicuous
- Specific to SMS marketing
- Obtained through affirmative action (e.g., checking a box, sending a keyword)
- Documented and stored for compliance
Best Practices for Obtaining Consent:
- Use double opt-in verification
- Clearly state message frequency and purpose
- Maintain detailed consent records including timestamp, source, and opt-in method
- Include clear terms and conditions during opt-in
HELP/STOP and Other Commands
Required Keywords:
- STOP, UNSUBSCRIBE, CANCEL, END, QUIT for opt-out
- HELP or INFO for program information
- All keywords must be supported in both upper and lower case
Language Requirements:
- Commands must work in English
- If marketing in other languages, corresponding translations of commands must be supported
- Initial confirmation message must include opt-out instructions
Do Not Call / Do Not Disturb Registries
The National Do Not Call Registry applies to SMS marketing. Businesses must:
- Check the registry every 31 days
- Remove registered numbers from marketing lists
- Maintain internal do-not-contact lists
- Honor opt-out requests within 24 hours
- Keep records of opt-out requests for five years
Time Zone Sensitivity
Time Restrictions:
- Avoid sending between 9 PM and 8 AM local recipient time
- Consider stricter state-specific quiet hours
- Emergency alerts may be exempt from time restrictions
- Account for daylight saving time changes
Phone Numbers Options and SMS Sender Types for in United States
Alphanumeric Sender ID
Operator network capability: Not supported in the US market
Registration requirements: N/A
Sender ID preservation: N/A - Alphanumeric sender IDs are not displayed to US recipients
Long Codes (10DLC)
Domestic vs. International:
- Domestic 10DLC numbers fully supported with proper registration
- International long codes not supported for A2P messaging
Sender ID preservation: Yes, original number displayed to recipients
Provisioning time: 1-3 business days after A2P 10DLC registration
Use cases:
- Two-factor authentication
- Customer service
- Appointment reminders
- Transactional messages
Short Codes
Support: Fully supported across all major carriers
Provisioning time: 8-12 weeks for approval and activation
Use cases:
- High-volume marketing campaigns
- Time-sensitive alerts
- Two-factor authentication
- Customer loyalty programs
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
- SHAFT (Sex, Hate, Alcohol, Firearms, Tobacco)
- Illegal substances
- Gambling without proper licensing
- Loan advertisements from third-party lenders
- Get-rich-quick schemes
- Deceptive marketing practices
Content Filtering
Carrier Filtering Rules:
- Messages are screened for prohibited content
- Spam patterns trigger automatic blocking
- URL shorteners may be flagged as suspicious
Tips to Avoid Blocking:
- Use registered domains instead of shortened URLs
- Avoid excessive punctuation and all-caps
- Maintain consistent sending patterns
- Include clear opt-out instructions
- Use approved short codes or registered 10DLC numbers
Best Practices for Sending SMS in United States
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 each message
Sending Frequency and Timing
- Limit to 2-4 messages per week maximum
- Space messages evenly throughout the month
- Respect quiet hours and time zones
- Avoid major holidays unless relevant
Localization
- Primary language is English
- Consider Spanish for targeted demographics
- Use clear, region-appropriate terminology
- Avoid colloquialisms that may not translate well
Opt-Out Management
- Process opt-outs in real-time
- Send confirmation of opt-out
- Maintain opt-out lists across all campaigns
- Regular audit of opt-out compliance
Testing and Monitoring
- Test across AT&T, Verizon, T-Mobile networks
- Monitor delivery rates by carrier
- Track opt-out rates and patterns
- Regular testing of opt-out functionality
- Monitor for carrier filtering changes
SMS API integrations for United States
Twilio
Twilio provides a robust SMS API with comprehensive documentation and strong support for US messaging requirements. Integration requires an Account SID and Auth Token from the Twilio Console.
import { Twilio } from 'twilio';
// Initialize client with environment variables
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID!,
process.env.TWILIO_AUTH_TOKEN!
);
async function sendSMS(to: string, message: string) {
try {
// Send message using registered 10DLC number
const response = await client.messages.create({
body: message,
to: to, // Must be in E.164 format: +1XXXXXXXXXX
from: process.env.TWILIO_PHONE_NUMBER,
// Optional: statusCallback URL for delivery updates
statusCallback: 'https://your-domain.com/webhook'
});
console.log(`Message sent successfully: ${response.sid}`);
return response;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
Sinch
Sinch offers a straightforward REST API for SMS messaging with strong delivery rates in the US market. Authentication uses an API Token and Service Plan ID.
import axios from 'axios';
class SinchSMSClient {
private readonly baseUrl: string;
private readonly headers: Record<string, string>;
constructor(servicePlanId: string, apiToken: string) {
this.baseUrl = `https://us.sms.api.sinch.com/xms/v1/${servicePlanId}/batches`;
this.headers = {
'Content-Type': 'application/json',
'Authorization': `Bearer ${apiToken}`
};
}
async sendSMS(to: string, message: string) {
try {
const response = await axios.post(
this.baseUrl,
{
from: process.env.SINCH_NUMBER,
to: [to],
body: message
},
{ headers: this.headers }
);
return response.data;
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}
}
MessageBird
MessageBird provides a feature-rich API with strong support for US messaging compliance requirements. Authentication uses an API key.
import { MessageBird } from 'messagebird';
class MessageBirdClient {
private client: MessageBird;
constructor(apiKey: string) {
this.client = new MessageBird(apiKey);
}
sendSMS(to: string, message: string): Promise<any> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator: process.env.MESSAGEBIRD_NUMBER,
recipients: [to],
body: message,
// Optional parameters for US compliance
reportUrl: 'https://your-domain.com/delivery-reports',
type: 'sms'
}, (err, response) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}
Plivo
Plivo offers reliable SMS API services with strong US coverage. Authentication requires Auth ID and Auth Token.
import plivo from 'plivo';
class PlivoSMSClient {
private client: plivo.Client;
constructor(authId: string, authToken: string) {
this.client = new plivo.Client(authId, authToken);
}
async sendSMS(to: string, message: string) {
try {
const response = await this.client.messages.create({
src: process.env.PLIVO_NUMBER, // Your registered number
dst: to, // Destination number
text: message,
// Optional parameters
method: 'POST',
url: 'https://your-domain.com/delivery-status'
});
return response;
} catch (error) {
console.error('Plivo SMS error:', error);
throw error;
}
}
}
API Rate Limits and Throughput
Rate Limits by Provider:
- Twilio: 1-30 messages per second (varies by account type)
- Sinch: Custom limits based on service plan
- MessageBird: 6 messages per second (default)
- Plivo: 25 messages per second (default)
Throughput Management Strategies:
- Implement exponential backoff for retry logic
- Use queue systems (Redis, RabbitMQ) for high volume
- Batch messages when possible
- Monitor delivery rates and adjust sending patterns
Error Handling and Reporting
- Implement comprehensive error logging
- Monitor delivery receipts via webhooks
- Track common error codes and patterns
- Set up alerts for unusual error rates
- Maintain detailed audit logs for compliance
Recap and Additional Resources
Key Takeaways:
- Always obtain explicit consent before sending messages
- Register for A2P 10DLC if using long codes
- Respect quiet hours and frequency limits
- Implement proper opt-out handling
- Monitor delivery rates and compliance
Next Steps:
- Review TCPA and CAN-SPAM Act requirements
- Register with The Campaign Registry for 10DLC
- Implement proper consent collection
- Set up monitoring and compliance tracking
Additional Information: