Check phone number activity, carrier details, line type and more.
Philippines SMS Best Practices, Compliance, and Features
Philippines SMS Market Overview
Locale name:
Philippines
ISO code:
PH
Region
Asia
Mobile country code (MCC)
515
Dialing Code
+63
Market Conditions: The Philippines has a vibrant mobile messaging ecosystem with high SMS adoption rates. Major mobile operators include Globe Telecom and Smart Communications. While OTT messaging apps like Facebook Messenger and Viber are popular, SMS remains crucial for business communications and authentication. Android devices dominate the market, though iOS usage continues to grow among urban populations.
Key SMS Features and Capabilities in Philippines
The Philippines supports comprehensive SMS capabilities including two-way messaging, concatenation, and number portability, though with specific regulatory requirements around sender registration and content restrictions.
Two-way SMS Support
Two-way SMS is fully supported in the Philippines, allowing businesses to engage in interactive messaging with customers. No special restrictions apply to two-way messaging beyond standard compliance requirements.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported across all major carriers. Message length rules: Messages are limited to 160 characters before splitting occurs. Messages using GSM-7 encoding can contain up to 160 characters in a single segment. Encoding considerations: Both GSM-7 and UCS-2 encodings are supported. UCS-2 messages are limited to 70 characters per segment.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link. This ensures compatibility across all devices while still allowing rich media content to be shared. Best practice is to use short, branded URLs and include clear context in the message body.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in the Philippines, allowing users to keep their numbers when switching carriers. This feature does not significantly impact message delivery or routing as the network infrastructure handles porting transparently.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in the Philippines. Attempts to send messages to landline numbers will result in a 400 response error (code 21614) from the API, with no message delivery and no charges applied.
Compliance and Regulatory Guidelines for SMS in Philippines
The Philippines enforces strict SMS regulations under the Data Privacy Act of 2012 and guidelines from the National Telecommunications Commission (NTC). All businesses must comply with these regulations when sending commercial SMS messages.
Consent and Opt-In
Explicit consent is mandatory before sending any commercial or promotional messages. Best practices for consent management include:
Maintaining detailed records of when and how consent was obtained
Using clear, unambiguous language when requesting consent
Providing specific information about the types of messages subscribers will receive
Implementing double opt-in verification for marketing campaigns
Regular consent refresh campaigns every 12-24 months
HELP/STOP and Other Commands
All messages must include opt-out instructions
Standard keywords must be supported:
STOP, CANCEL, END, QUIT for opt-out
HELP, INFO for assistance
Commands should work in both English and Filipino
Opt-out instructions must be sent weekly for daily subscriptions and monthly for weekly subscriptions
Do Not Call / Do Not Disturb Registries
While the Philippines doesn't maintain a centralized Do Not Call registry, businesses must:
Maintain their own suppression lists
Honor opt-out requests within 24 hours
Implement automated STOP command processing
Regularly clean contact lists to remove unsubscribed numbers
Document all opt-out requests for compliance purposes
Time Zone Sensitivity
The Philippines observes Philippine Time (PHT/UTC+8). Best practices include:
Sending messages between 9:00 AM and 9:00 PM PHT
Avoiding messages during major holidays
Only sending urgent messages (e.g., security alerts) outside these hours
Considering regional time differences for nationwide campaigns
Phone Numbers Options and SMS Sender Types for in Philippines
Alphanumeric Sender ID
Operator network capability: Fully supported Registration requirements: Pre-registration required, with enforcement of blocking unregistered IDs postponed to Q1 2025 Sender ID preservation: Registered IDs are preserved; unregistered IDs are overwritten with generic alternatives
Long Codes
Domestic vs. International: Domestic long codes supported; international long codes not supported Sender ID preservation: Domestic sender IDs preserved; international ones overwritten Provisioning time: Immediate for domestic numbers Use cases: Ideal for transactional messages and two-way communication
Short Codes
Support: Available through major carriers Provisioning time: 2-4 weeks for approval Use cases: High-volume marketing campaigns, 2FA, customer service
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
Adult content
Firearms and weapons
Political messages
Gambling (except registered PIGO operators)
Financial loans
Controlled substances
Cannabis
Tobacco
Alcohol
Content Filtering
Known Carrier Filters:
Shortened URLs are blocked
Phone numbers in message content not allowed
Banking-related URLs must be pre-approved
Keywords suggesting spam or scams
Tips to Avoid Blocking:
Use registered sender IDs
Avoid spam trigger words
Use full, transparent URLs
Maintain consistent sending patterns
Keep message content clear and professional
Best Practices for Sending SMS in Philippines
Messaging Strategy
Keep messages under 160 characters when possible
Include clear calls-to-action
Personalize using recipient's name or relevant details
Maintain consistent branding
Sending Frequency and Timing
Limit to 1-2 messages per day per recipient
Respect Filipino holidays and observances
Schedule campaigns during business hours
Space out bulk sends to prevent network congestion
Localization
Support both English and Filipino (Tagalog)
Consider regional dialects for targeted campaigns
Use culturally appropriate content and references
Format dates as DD/MM/YYYY
Opt-Out Management
Process opt-outs in real-time
Maintain centralized opt-out database
Confirm opt-out with one final message
Regular audit of opt-out compliance
Testing and Monitoring
Test across Globe and Smart networks
Monitor delivery rates by carrier
Track engagement metrics
Regular testing of opt-out functionality
A/B test message content and timing
SMS API integrations for Philippines
Twilio
Twilio provides a robust SMS API with specific support for Philippines messaging requirements. Authentication uses Account SID and Auth Token credentials.
import*as Twilio from'twilio';// Initialize Twilio client with credentialsconst client =newTwilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);// Function to send SMS to Philippines numberasyncfunctionsendPhilippinesSMS(to:string, message:string){try{// Ensure number is in E.164 format for Philippines (+63)const formattedNumber = to.startsWith('+63')? to :`+63${to.replace(/^0/,'')}`;const response =await client.messages.create({ body: message, to: formattedNumber,// Use registered Alphanumeric Sender ID for Philippines from:'YOUR_SENDER_ID',// Optional: Specify status callback URL statusCallback:'https://your-domain.com/twilio/status'});return response;}catch(error){console.error('Twilio SMS Error:', error);throw error;}}
Sinch
Sinch offers comprehensive SMS capabilities for the Philippines market with REST API support.
import{ SinchClient }from'@sinch/sdk-core';// Initialize Sinch clientconst sinchClient =newSinchClient({ projectId: process.env.SINCH_PROJECT_ID, keyId: process.env.SINCH_KEY_ID, keySecret: process.env.SINCH_KEY_SECRET});// Function to send SMS using SinchasyncfunctionsendSinchSMS(to:string, message:string){try{const response =await sinchClient.sms.batches.send({ sendSMSRequestBody:{ to:[to],// Number in E.164 format from:'YOUR_SENDER_ID', body: message,// Optional: Delivery report URL deliveryReport:'URL'}});return response;}catch(error){console.error('Sinch SMS Error:', error);throw error;}}
MessageBird
MessageBird provides reliable SMS delivery in the Philippines with straightforward API integration.
import messagebird from'messagebird';// Initialize MessageBird clientconst mbClient =messagebird(process.env.MESSAGEBIRD_API_KEY);// Function to send SMS via MessageBirdfunctionsendMessageBirdSMS(to:string, message:string):Promise<any>{returnnewPromise((resolve, reject)=>{ mbClient.messages.create({ originator:'YOUR_SENDER_ID', recipients:[to], body: message,// Optional: Schedule message delivery scheduledDatetime:null},(err, response)=>{if(err){reject(err);}else{resolve(response);}});});}
Plivo
Plivo offers advanced SMS features with specific support for Philippines regulations.
import plivo from'plivo';// Initialize Plivo clientconst plivoClient =newplivo.Client( process.env.PLIVO_AUTH_ID, process.env.PLIVO_AUTH_TOKEN);// Function to send SMS using PlivoasyncfunctionsendPlivoSMS(to:string, message:string){try{const response =await plivoClient.messages.create({ src:'YOUR_SENDER_ID',// Registered Sender ID dst: to,// Destination number text: message,// Optional: URL to receive delivery status url:'https://your-domain.com/plivo/status'});return response;}catch(error){console.error('Plivo SMS Error:', error);throw error;}}
API Rate Limits and Throughput
Default rate limits vary by provider (typically 1-30 messages per second)
Implement exponential backoff for retry logic
Use queuing systems (Redis, RabbitMQ) for high-volume sending
Batch messages when possible (up to 100 recipients per request)