sms compliance
sms compliance
Philippines SMS Compliance Guide 2025: Data Privacy Act & Sender ID Registration
Complete Philippines SMS compliance guide covering Data Privacy Act requirements, NTC regulations, sender ID registration for Globe/Smart/DITO, and API integration best practices for businesses.
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 SMS market has high mobile penetration with over 150 million mobile connections. Major mobile operators include Globe Telecom (54.7% revenue market share as of 2023), Smart Communications (part of PLDT), and DITO Telecommunity (third telco, 13+ million subscribers as of 2024). Globe and Smart together serve roughly 85% of SIMs in the market. While OTT messaging apps like Facebook Messenger and Viber dominate social communication, SMS remains crucial for business communications and authentication. Android devices dominate the market, though iOS usage continues growing among urban populations.
SIM Registration Act (RA 11934): Effective 27 December 2022, all SIM cards in the Philippines must be registered with personal data (full name, date of birth, address, valid government ID). Unregistered SIMs are permanently deactivated. This mandatory SIM registration affects all SMS communications and requires you to verify subscriber identity.
Key SMS Features and Capabilities in Philippines
The Philippines supports comprehensive SMS capabilities including two-way messaging, message concatenation, and number portability, with specific regulatory requirements around sender registration and content restrictions.
Two-Way SMS Support
Two-way SMS is fully supported in the Philippines, allowing you 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 works across all major carriers.
Message length rules: Messages exceeding 160 characters split into segments. Messages using GSM-7 encoding contain up to 160 characters in a single segment.
Encoding considerations: Both GSM-7 and UCS-2 encodings work. UCS-2 messages limit to 70 characters per segment.
MMS Support
MMS messages automatically convert to SMS with an embedded URL link. This ensures compatibility across all devices while letting you share rich media content. Use short, branded URLs and include clear context in the message body.
Recipient Phone Number Compatibility
Number Portability
Mobile Number Portability (MNP) operates in the Philippines under Republic Act No. 11202 (MNP Act), commercially available since 30 September 2021. Users keep their numbers when switching carriers free of charge. Telecommunications Connectivity Incorporated (TCI), a joint venture between Globe, Smart, and DITO, operates the service with Syniverse as the technical provider.
Key Requirements:
- Unique Subscriber Code (USC): 9-digit code issued by current provider, valid 15 days
- Waiting Period: 60-day wait required between porting requests
- Types: External porting (switching networks) and internal porting (switching plans within same network)
- Impact on SMS: Network infrastructure handles porting transparently – no significant impact on message delivery or routing
Sending SMS to Landlines
You cannot send SMS to landline numbers in the Philippines. Attempts to send messages to landlines result in a 400 response error (code 21614) from the API, with no message delivery and no charges applied.
SMS Compliance Requirements in the Philippines: Data Privacy Act & NTC Regulations
The Philippines enforces strict SMS regulations under the Data Privacy Act of 2012 (RA 10173) and guidelines from the National Telecommunications Commission (NTC). You must comply with these regulations when sending commercial SMS messages. Register your data processing systems with the National Privacy Commission (NPC).
Philippines SMS Consent Requirements: Explicit Opt-In Under Data Privacy Act
Explicit consent is mandatory before you send any commercial or promotional messages under the Data Privacy Act. The NPC clarified through NPC Circular No. 2023-04 that implied, implicit, or negative forms of consent are not recognized. Consent must be freely given, specific, informed, and indicate clear agreement to collection or processing of personal information.
Best practices for consent management:
- Maintain detailed records of when and how you obtained consent
- Use clear, unambiguous language when requesting consent
- Provide specific information about the message types subscribers will receive
- Implement double opt-in verification for marketing campaigns
- Run consent refresh campaigns every 12–24 months
- Establish data sharing agreements for commercial purposes including direct marketing
- Never assume consent from non-response
HELP/STOP and Other Commands
- Include opt-out instructions in all messages
- Support standard keywords:
- STOP, CANCEL, END, QUIT for opt-out
- HELP, INFO for assistance
- Make commands work in both English and Filipino
- Send opt-out instructions 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, you must:
- Maintain your 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:
- Send messages between 9:00 AM and 9:00 PM PHT
- Avoid messages during major holidays
- Only send urgent messages (e.g., security alerts) outside these hours
- Consider regional time differences for nationwide campaigns
SMS Sender ID Options in the Philippines: Registration & Requirements
Alphanumeric Sender ID Registration in Philippines
Operator network capability: Fully supported
Registration requirements: Pre-registration required. Enforcement of blocking unregistered IDs was scheduled for Q1 2025 and is now in effect or imminent. Ensure your alphanumeric sender IDs are registered with carriers to avoid message blocking.
Sender ID preservation: Registered IDs are preserved; unregistered IDs are overwritten with generic alternatives or blocked
Registration process: Contact your SMS provider for assistance; provisioning typically takes 2–4 weeks
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 and URL Restrictions
NTC Enforcement (M.C. 12-12-2023): The NTC mandates real-time "text-scrubbing" with a ₱50,000/day fine for non-compliance. All three telecommunications companies (Globe, Smart, DITO) must block domains or links associated with text scams.
Known Carrier Filters:
- URL Shorteners Blocked: Smart blocks SMS containing URL shorteners (bit.ly, etc.) due to smishing attacks, affecting Smart, Sun, DITO, and ported Globe numbers
- Globe: Blocks all SMS messages containing any clickable URL links
- Smart Statistics (Jan–Aug 2024): Blocked 11.3 billion malicious site access attempts, 5.5 million malicious domains, 342 million SMS messages, and 167,000 mobile numbers
- Phone numbers in message content not allowed
- Banking-related URLs must be pre-approved
- Keywords suggesting spam or scams are filtered
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 SMS Marketing in the 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
SMS Testing and Monitoring
Implement comprehensive testing across all Philippines carriers:
- Test message delivery across Globe, Smart, and DITO networks
- Monitor carrier-specific delivery rates and latency
- Track SMS engagement metrics (open rates, click-through rates)
- Regular testing of opt-out functionality and STOP commands
- A/B test message content, timing, and sender IDs
- Verify sender ID registration status before campaigns
SMS API Integration for Philippines: Twilio, Sinch, MessageBird & Plivo
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 credentials
const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
// Function to send SMS to Philippines number
async function sendPhilippinesSMS(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 client
const sinchClient = new SinchClient({
projectId: process.env.SINCH_PROJECT_ID,
keyId: process.env.SINCH_KEY_ID,
keySecret: process.env.SINCH_KEY_SECRET
});
// Function to send SMS using Sinch
async function sendSinchSMS(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 client
const mbClient = messagebird(process.env.MESSAGEBIRD_API_KEY);
// Function to send SMS via MessageBird
function sendMessageBirdSMS(to: string, message: string): Promise<any> {
return new Promise((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 client
const plivoClient = new plivo.Client(
process.env.PLIVO_AUTH_ID,
process.env.PLIVO_AUTH_TOKEN
);
// Function to send SMS using Plivo
async function sendPlivoSMS(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)
Error Handling and Reporting
- Implement comprehensive error logging
- Monitor delivery receipts
- Track common error codes:
- 21614: Invalid number format
- 30007: Carrier rejection
- 30008: Blocked content
- Store message status updates for compliance
Frequently Asked Questions About SMS in the Philippines
What is the Data Privacy Act and how does it affect SMS marketing?
The Data Privacy Act of 2012 (RA 10173) is the Philippines' primary data protection law. It requires explicit consent before sending commercial SMS messages. Under NPC Circular No. 2023-04, implied or negative consent is not recognized. You must obtain freely given, specific, and informed consent, maintain consent records, and honor opt-out requests within 24 hours.
Do I need to register my alphanumeric sender ID in the Philippines?
Yes. Pre-registration is required for alphanumeric sender IDs. Enforcement of blocking unregistered IDs was scheduled for Q1 2025 and is now in effect or imminent. Contact your SMS provider to register your sender ID – provisioning takes 2–4 weeks. Unregistered IDs will be blocked or overwritten with generic alternatives.
Can I include URLs in SMS messages sent to Philippines numbers?
Limited. Under NTC Memorandum Circular 12-12-2023, carriers must block SMS containing links associated with text scams. Smart blocks all URL shorteners (bit.ly, etc.), and Globe blocks all clickable URL links. Banking-related URLs require pre-approval. Use full, transparent URLs and registered sender IDs to minimize blocking risk.
What are the major mobile operators in the Philippines?
The Philippines has three major operators: Globe Telecom (54.7% revenue market share), Smart Communications (part of PLDT), and DITO Telecommunity (13+ million subscribers). Globe and Smart serve roughly 85% of SIMs. All three support SMS services and participate in the Mobile Number Portability (MNP) system.
Is mobile number portability available in the Philippines?
Yes. Mobile Number Portability (MNP) has been available since 30 September 2021 under Republic Act No. 11202. Users keep their numbers when switching carriers free of charge. The service is operated by Telecommunications Connectivity Incorporated (TCI). Porting requires a Unique Subscriber Code (USC) valid for 15 days, with a 60-day waiting period between requests.
What is the SIM Registration Act?
The SIM Registration Act (RA 11934), effective 27 December 2022, mandates all SIM cards be registered with personal data (full name, date of birth, address, valid government ID). Unregistered SIMs are permanently deactivated. This affects all SMS communications and requires subscriber identity verification.
What are the best times to send SMS in the Philippines?
Send messages between 9:00 AM and 9:00 PM Philippine Time (PHT/UTC+8). Avoid major holidays and limit to 1–2 messages per day per recipient. Only send urgent messages (e.g., security alerts) outside these hours. Respect Filipino cultural observances when scheduling campaigns.
What languages should I use for SMS in the Philippines?
Support both English and Filipino (Tagalog). Make opt-out commands (STOP, HELP) work in both languages. Consider regional dialects for targeted campaigns. Use culturally appropriate content and format dates as DD/MM/YYYY.
Recap and Additional Resources
Key Takeaways
-
Compliance Priorities
- Register Sender IDs before Q1 2025 enforcement
- Maintain proper consent records (no implied consent)
- Honor opt-out requests promptly (within 24 hours)
-
Best Practices
- Use registered Alphanumeric Sender IDs
- Send during business hours (9 AM – 9 PM PHT)
- Support both English and Filipino languages
-
Technical Considerations
- Implement proper error handling
- Monitor delivery rates across carriers
- Use queuing for high-volume sending
Next Steps
- Review the Data Privacy Act of 2012 and NPC Circular 2023-04
- Register Sender IDs with carriers (2–4 weeks)
- Implement opt-out handling with automated STOP processing
- Set up delivery monitoring across Globe, Smart, and DITO networks
Additional Information
Frequently Asked Questions
How to send SMS in the Philippines?
Use a reputable SMS API provider like Twilio, Sinch, MessageBird, or Plivo. Ensure your recipient numbers are in E.164 format (+63) and use a registered Alphanumeric Sender ID to avoid filtering. Comply with all regulations regarding consent and content restrictions.
What is the SMS character limit in Philippines?
SMS messages are limited to 160 characters per segment with GSM-7 encoding. Longer messages are concatenated (split into multiple segments). UCS-2 encoding allows 70 characters per segment. Keep messages concise for better readability.
Why does Philippines convert MMS to SMS?
MMS messages are automatically converted to SMS with a URL link to ensure compatibility with all devices, especially feature phones. This method still allows for sharing rich media content while maintaining broad reach.
When should I send marketing SMS in the Philippines?
Adhere to Philippine Time (PHT/UTC+8) and send messages between 9:00 AM and 9:00 PM PHT to avoid disturbing recipients. Respect major holidays and consider regional time differences for nationwide campaigns.
Can I send SMS to landlines in the Philippines?
No, sending SMS to landlines in the Philippines is not supported. Attempts to send messages to landline numbers will result in a 400 response error (code 21614) from the API, without charges applied.
What is required for SMS compliance in the Philippines?
Explicit consent is mandatory for commercial messages. Businesses must follow the Data Privacy Act of 2012 and NTC guidelines. Maintain consent records, offer clear opt-out instructions, and honor opt-out requests within 24 hours.
What are the prohibited SMS content types in Philippines?
Prohibited content includes adult material, firearms, political messages, gambling (except for registered PIGO operators), financial loans, controlled substances, cannabis, tobacco, and alcohol.
How to register alphanumeric sender ID Philippines?
Alphanumeric Sender IDs must be pre-registered, though enforcement of blocking unregistered IDs is postponed to Q1 2025. Contact your SMS provider for assistance with the registration process.
Philippines SMS best practices for content?
Use clear, concise language, keeping messages under 160 characters where possible. Include a clear call to action, personalize when appropriate, and use consistent branding.
What are the HELP/STOP keywords for SMS in the Philippines?
Standard keywords like STOP, CANCEL, END, QUIT for opt-out and HELP or INFO for assistance must be supported in both English and Filipino. Ensure these commands are functional and clearly communicated.
What is the difference between short codes and long codes Philippines?
Short codes are best for high-volume marketing and 2FA, taking 2-4 weeks to provision. Long codes are ideal for transactional messages and two-way communication with immediate provisioning for domestic numbers.
How to avoid SMS filtering in Philippines?
Use registered Sender IDs, avoid spam trigger words and shortened URLs, use clear language, maintain consistent sending patterns, and ensure message content is professional and relevant.
What are common SMS error codes in Philippines?
Common errors include code 21614 for invalid number format, 30007 for carrier rejection, and 30008 for blocked content. Implement error handling and monitor delivery receipts to address these issues.
How to manage opt-outs for SMS in Philippines?
Process opt-outs in real-time, maintain a centralized opt-out database, confirm the opt-out with a final message, and conduct regular audits for compliance.
What are Philippines SMS sending frequency best practices?
Limit messages to 1-2 per day per recipient. Space out bulk sends to prevent network congestion. Respect Filipino holidays and time zones.