Hong Kong SMS Best Practices, Compliance, and Features
Explore Hong Kong SMS: compliance (UEMO, PDPO), features (two-way SMS), & best practices. Supports GSM-7 (160 chars) & UCS-2 (70 chars). Alphanumeric Sender ID pre-registration needed. Includes Twilio, Sinch, MessageBird API integration details.
Market Conditions: Hong Kong has a highly developed mobile market with near-universal smartphone penetration exceeding 95%. While OTT messaging apps like WhatsApp and WeChat dominate personal communications, SMS remains crucial for business communications, particularly for authentication, notifications, and marketing. Major mobile operators include China Mobile Hong Kong, SmarTone, 3 Hong Kong, and CSL Mobile. The market shows a relatively even split between Android and iOS devices, with a slight preference for iOS among urban users.
Key SMS Features and Capabilities in Hong Kong
Pricing Considerations: SMS pricing in Hong Kong varies by provider and volume. Typical wholesale rates range from HKD 0.15-0.35 (USD 0.02-0.05) per message for domestic SMS, with international SMS costing more. Enterprise pricing typically decreases with higher monthly volumes. Contact providers for current rate cards.
Hong Kong offers comprehensive SMS capabilities including two-way messaging, concatenated messages, and number portability, with strong support for both domestic and international messaging needs.
Two-way SMS Support
Yes, Hong Kong fully supports two-way SMS communications.
No special restrictions apply, making it ideal for interactive messaging campaigns and customer support.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is fully supported across all major carriers.
Message length rules: Standard SMS length of 160 characters for GSM-7 encoding, 70 characters for UCS-2 encoding before splitting occurs.
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported. Chinese characters require UCS-2 encoding, reducing the message length 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: When sending rich media content, ensure the URL is shortened and clearly labeled for recipient trust.
Recipient Phone Number Compatibility
Number Portability
Yes, number portability is available in Hong Kong.
This feature does not significantly affect message delivery or routing as carriers maintain updated routing tables.
Sending SMS to Landlines
No, sending SMS to landline numbers is not possible in Hong Kong.
Attempts to send SMS to landline numbers will result in a 400 response error (code 21614), and the message will not be delivered or charged.
What Are the SMS Compliance Requirements in Hong Kong?
PDPO violations (direct marketing without consent): Maximum fine of HKD 500,000 and imprisonment for 3 years; up to HKD 1,000,000 and imprisonment for 5 years if data was provided to third parties for gain
PDPO violations (failure to erase data per section 26): Fine up to HKD 10,000
Enforcement notice violations: Maximum fine of HKD 50,000 and imprisonment for 2 years, with daily penalty of HKD 1,000; subsequent convictions up to HKD 100,000 and imprisonment for 2 years, with daily penalty of HKD 2,000
Consent and Opt-In Requirements
Explicit Consent Requirements:
Written or electronic consent must be obtained before sending marketing messages
Consent records must be maintained and easily accessible for inspection
Purpose of messaging must be clearly stated during opt-in
Separate consent required for different types of communications
Retention Period: Under the PDPO, consent records must be retained for as long as the data is being used for direct marketing purposes, plus a reasonable period thereafter to defend against potential complaints or legal actions. Best practice: retain consent records for at least 3 years after opt-out or cessation of marketing communications.
Best Practices for Consent Collection:
Use double opt-in verification
Maintain detailed consent logs including timestamp and source
Regularly update consent records
Provide clear terms and conditions during signup
HELP/STOP and Other Commands
All marketing messages must include opt-out instructions
STOP and HELP commands must be supported in both English and Chinese
Common keywords: STOP, 停止, HELP, 帮助
Response to HELP must include contact information and opt-out instructions
STOP requests must be processed within 24 hours
Do Not Call / Do Not Disturb Registries
Hong Kong operates under the UEMO for opt-out management.
Maintain internal suppression lists based on opt-out requests
Process opt-outs within 24 hours
Recommended to check suppression list before each campaign
Accessing Opt-Out Information: Unlike some jurisdictions, Hong Kong does not operate a centralized public DNC registry. Instead, compliance requires maintaining your own internal suppression list based on individual opt-out requests received. The UEMO requires senders to honor all opt-out requests regardless of source. For enquiries: OFCA hotline 2961 6333.
Time Zone Sensitivity
Time Restrictions:
Marketing messages: 9:00 AM to 10:00 PM HKT (UTC+8)
Transactional/urgent messages: 24/7 allowed
Avoid sending during public holidays unless urgent
Consider weekend timing for marketing messages
How to Register an SMS Sender ID in Hong Kong
Alphanumeric Sender ID
Operator network capability: Fully supported across all major carriers
Registration requirements:
Pre-registration required for Alphanumeric Sender IDs with OFCA
Coordinate with your SMS service provider to implement the registered sender ID
Registration Costs: No registration fee charged by OFCA (as of 2024). Service provider fees may apply.
Renewal: Registration is ongoing; no periodic renewal required unless cancellation is requested.
Sender ID preservation: Yes, registered IDs are preserved across networks
Long Codes
Domestic vs. International:
Domestic long codes fully supported
International long codes not supported for direct sending
Sender ID preservation: Yes for domestic, No for international
Provisioning time: Immediate for domestic numbers
Use cases:
Two-way communication
Customer support
Transactional messages
Short Codes
Support: Not currently available in Hong Kong
Use cases: N/A - Use registered alphanumeric IDs or long codes instead
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
Firearms and weapons
Gambling and betting
Adult content
Money lending/loan services
Political content
Religious content
Controlled substances
Cannabis
Alcohol
Content Filtering
Carrier Filtering Rules:
URLs must be from approved domains
Message content screened for prohibited terms
Spam patterns monitored and blocked
Domain Approval: Contact your SMS service provider (Twilio, Sinch, MessageBird) to pre-register domains used in SMS links. Provide: domain name, SSL certificate proof, business relationship documentation. Approval typically takes 3-5 business days.
Spam Pattern Indicators (avoid these):
Excessive use of ALL CAPS or exclamation marks (!!!)
Multiple consecutive identical messages to different recipients
Sudden spike in sending volume without established pattern
Use of suspicious URL shorteners (bit.ly, tinyurl without pre-registration)
Sending outside permitted time windows (9AM-10PM HKT for marketing)
Best Practices to Avoid Blocking:
Avoid URL shorteners where possible
Use registered domains
Maintain consistent sending patterns
Keep message content clear and professional
Best Practices for Sending SMS in Hong Kong
Messaging Strategy
Keep messages under 160 characters when possible
Include clear call-to-action
Use personalization tokens thoughtfully
Maintain consistent brand voice
Sending Frequency and Timing
Limit to 1-2 marketing messages per week
Space messages at least 24 hours apart
Respect local holidays and festivals
Monitor engagement metrics to optimize timing
Localization
Support both Traditional Chinese and English
Use appropriate character encoding (UCS-2 for Chinese)
Consider local cultural context
Provide language preference options
Opt-Out Management
Clear opt-out instructions in every marketing message
Process opt-outs within 24 hours
Maintain centralized opt-out database
Regular audit of opt-out compliance
Testing and Monitoring
Test across all major Hong Kong carriers
Monitor delivery rates by carrier
Track engagement metrics
Regular A/B testing of message content
SMS API integrations for Hong Kong
Twilio
Twilio provides a robust SMS API with comprehensive support for Hong Kong's messaging requirements. Integration requires an account SID and auth token for authentication.
Key Parameters:
from: Registered alphanumeric sender ID (with # prefix) or Twilio phone number
to: Hong Kong number in E.164 format (+852XXXXXXXX)
body: Message content (supports Unicode for Chinese characters)
TypeScript
import { Twilio } from'twilio';
// Initialize Twilio clientconst client = newTwilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
asyncfunctionsendSMSToHongKong() {
try {
// Send message with error handlingconst message = await client.messages.create({
from: '#YourBrand', // Registered alphanumeric sender IDto: '+85291234567', // Hong Kong numberbody: '您好!This is a test message 測試訊息', // Bilingual content
});
console.log(`Message sent successfully: ${message.sid}`);
return message;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
Sinch
Sinch offers a unified SMS API with strong support for Hong Kong messaging features. Authentication uses API token and service plan ID.
Use a reputable SMS API provider like Twilio, Sinch, or MessageBird. Ensure your sender ID is registered with the OFCA and that you have obtained the recipient's consent, especially for marketing messages. Format numbers in E.164 format (+852XXXXXXXX) and use Unicode for Chinese characters.
Prioritize obtaining explicit consent, adhere to strict time restrictions (9 am to 10 pm HKT), and provide clear opt-out instructions in both English and Traditional Chinese. Limit marketing messages to 1-2 per week and avoid sending during public holidays unless urgent.
Hong Kong requires sender ID registration with the Office of the Communications Authority (OFCA) to combat spam and ensure transparency. This regulation applies to alphanumeric sender IDs, which need a '#' prefix as of February 21, 2024, and the registration process takes around 18 days.
Alphanumeric sender IDs are ideal for branding and recognition in marketing campaigns and transactional messages. They must be pre-registered with the OFCA and include a '#' prefix. Domestic long codes are also suitable, but international long codes are not directly supported.
No, sending SMS messages to landline numbers is not supported in Hong Kong. Attempts to do so will result in a 400 response error (code 21614), and you will not be charged for the undelivered message.
Under the Unsolicited Electronic Messages Ordinance (UEMO), explicit written or electronic consent is required before sending marketing messages. You must maintain records of consent, clearly state the purpose of the messaging during opt-in, and handle STOP requests within 24 hours.
All marketing messages must include clear opt-out instructions and support HELP and STOP commands in both English and Chinese (e.g., STOP, ???, HELP, ??????). HELP requests should provide contact details and opt-out instructions. STOP requests must be processed within 24 hours.
Standard SMS messages are limited to 160 characters when using GSM-7 encoding. However, if you use UCS-2 encoding, which is necessary for Chinese characters, the limit is reduced to 70 characters per segment. Concatenated messages are supported for longer content.
While MMS is supported, it's automatically converted to SMS with an embedded URL link. For rich media, ensure the URL is shortened and clearly labeled for recipient trust to enhance click-through rates and maintain user trust.
Several content categories are prohibited, including firearms, gambling, adult content, money lending, political and religious content, controlled substances, cannabis, and alcohol. Carrier filtering is in place to block such messages.
Twilio's rate limit is 250 messages per second, Sinch allows 30 messages per second, and MessageBird permits 60 messages per second. Implementing strategies like exponential backoff and batch sending can help manage these limitations.
Hong Kong maintains a Do-Not-Call (DNC) registry under the UEMO. Businesses are required to check against this registry and their internal suppression lists before each campaign and process opt-outs within 24 hours.
Support both Traditional Chinese and English, using UCS-2 encoding for Chinese characters. Consider the local cultural context in messaging. Offer language preferences for a more personalized user experience.
Hong Kong SMS Market Overview
Market Conditions: Hong Kong has a highly developed mobile market with near-universal smartphone penetration exceeding 95%. While OTT messaging apps like WhatsApp and WeChat dominate personal communications, SMS remains crucial for business communications, particularly for authentication, notifications, and marketing. Major mobile operators include China Mobile Hong Kong, SmarTone, 3 Hong Kong, and CSL Mobile. The market shows a relatively even split between Android and iOS devices, with a slight preference for iOS among urban users.
Key SMS Features and Capabilities in Hong Kong
Pricing Considerations: SMS pricing in Hong Kong varies by provider and volume. Typical wholesale rates range from HKD 0.15-0.35 (USD 0.02-0.05) per message for domestic SMS, with international SMS costing more. Enterprise pricing typically decreases with higher monthly volumes. Contact providers for current rate cards.
Hong Kong offers comprehensive SMS capabilities including two-way messaging, concatenated messages, and number portability, with strong support for both domestic and international messaging needs.
Two-way SMS Support
Yes, Hong Kong fully supports two-way SMS communications. No special restrictions apply, making it ideal for interactive messaging campaigns and customer support.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is fully supported across all major carriers. Message length rules: Standard SMS length of 160 characters for GSM-7 encoding, 70 characters for UCS-2 encoding before splitting occurs. Encoding considerations: Both GSM-7 and UCS-2 encodings are supported. Chinese characters require UCS-2 encoding, reducing the message length 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: When sending rich media content, ensure the URL is shortened and clearly labeled for recipient trust.
Recipient Phone Number Compatibility
Number Portability
Yes, number portability is available in Hong Kong. This feature does not significantly affect message delivery or routing as carriers maintain updated routing tables.
Sending SMS to Landlines
No, sending SMS to landline numbers is not possible in Hong Kong. Attempts to send SMS to landline numbers will result in a 400 response error (code 21614), and the message will not be delivered or charged.
What Are the SMS Compliance Requirements in Hong Kong?
Hong Kong's SMS communications are regulated by the Office of the Communications Authority (OFCA) and must comply with the Unsolicited Electronic Messages Ordinance (Cap. 593) (UEMO). The Personal Data (Privacy) Ordinance (Cap. 486) (PDPO) also applies to the collection and use of phone numbers for messaging purposes.
Penalties for Non-Compliance:
Consent and Opt-In Requirements
Explicit Consent Requirements:
Best Practices for Consent Collection:
HELP/STOP and Other Commands
Do Not Call / Do Not Disturb Registries
Hong Kong operates under the UEMO for opt-out management.
Accessing Opt-Out Information: Unlike some jurisdictions, Hong Kong does not operate a centralized public DNC registry. Instead, compliance requires maintaining your own internal suppression list based on individual opt-out requests received. The UEMO requires senders to honor all opt-out requests regardless of source. For enquiries: OFCA hotline 2961 6333.
Time Zone Sensitivity
Time Restrictions:
How to Register an SMS Sender ID in Hong Kong
Alphanumeric Sender ID
Operator network capability: Fully supported across all major carriers Registration requirements:
Registration Process (per OFCA SMS Sender Registration Scheme):
Registration Costs: No registration fee charged by OFCA (as of 2024). Service provider fees may apply.
Renewal: Registration is ongoing; no periodic renewal required unless cancellation is requested.
Sender ID preservation: Yes, registered IDs are preserved across networks
Long Codes
Domestic vs. International:
Sender ID preservation: Yes for domestic, No for international Provisioning time: Immediate for domestic numbers Use cases:
Short Codes
Support: Not currently available in Hong Kong Use cases: N/A - Use registered alphanumeric IDs or long codes instead
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
Content Filtering
Carrier Filtering Rules:
Domain Approval: Contact your SMS service provider (Twilio, Sinch, MessageBird) to pre-register domains used in SMS links. Provide: domain name, SSL certificate proof, business relationship documentation. Approval typically takes 3-5 business days.
Spam Pattern Indicators (avoid these):
Best Practices to Avoid Blocking:
Best Practices for Sending SMS in Hong Kong
Messaging Strategy
Sending Frequency and Timing
Localization
Opt-Out Management
Testing and Monitoring
SMS API integrations for Hong Kong
Twilio
Twilio provides a robust SMS API with comprehensive support for Hong Kong's messaging requirements. Integration requires an account SID and auth token for authentication.
Key Parameters:
from: Registered alphanumeric sender ID (with # prefix) or Twilio phone numberto: Hong Kong number in E.164 format (+852XXXXXXXX)body: Message content (supports Unicode for Chinese characters)import { Twilio } from 'twilio'; // Initialize Twilio client const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN); async function sendSMSToHongKong() { try { // Send message with error handling const message = await client.messages.create({ from: '#YourBrand', // Registered alphanumeric sender ID to: '+85291234567', // Hong Kong number body: '您好!This is a test message 測試訊息', // Bilingual content }); console.log(`Message sent successfully: ${message.sid}`); return message; } catch (error) { console.error('Error sending message:', error); throw error; } }Sinch
Sinch offers a unified SMS API with strong support for Hong Kong messaging features. Authentication uses API token and service plan ID.
Key Parameters:
sender: Registered sender ID or virtual numberrecipient: Hong Kong mobile numbermessage: SMS content with Unicode supportimport { 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: ['+85291234567'], from: '#YourBrand', body: '您好!This is a test message 測試訊息', encoding: 'AUTO' // Automatically handles Chinese characters } }); console.log('Message sent:', response); return response; } catch (error) { console.error('Sinch SMS Error:', error); throw error; } }MessageBird
MessageBird (Bird) provides a straightforward API for sending SMS to Hong Kong. Uses access key for authentication.
Key Parameters:
originator: Registered sender IDrecipients: Array of recipient numberscontent: Message content with Unicode supportimport messagebird from 'messagebird'; // Initialize MessageBird client const mbClient = messagebird(process.env.MESSAGEBIRD_ACCESS_KEY); function sendMessageBirdSMS(): Promise<any> { return new Promise((resolve, reject) => { mbClient.messages.create({ originator: '#YourBrand', recipients: ['+85291234567'], content: '您好!This is a test message 測試訊息', encoding: 'unicode' // For Chinese character support }, (err, response) => { if (err) { console.error('MessageBird Error:', err); reject(err); } else { console.log('Message sent:', response); resolve(response); } }); }); }API Rate Limits and Throughput
Rate Limits:
Throughput Management Strategies:
Error Handling and Reporting
Best Practices:
Common Error Codes and Resolutions:
Retry Strategies by Error Type:
// Example error handling implementation interface SMSError { messageId: string; error: Error; timestamp: Date; recipient: string; } class SMSErrorLogger { private errors: SMSError[] = []; logError(error: SMSError) { this.errors.push(error); console.error(`SMS Error [${error.messageId}]:`, { recipient: error.recipient, error: error.error.message, timestamp: error.timestamp }); } getErrorReport() { return this.errors; } }Recap and Additional Resources
Key Takeaways:
Next Steps:
Additional Information: