Hong Kong SMS Best Practices, Compliance, and Features
Hong Kong SMS Market Overview
Locale name: | Hong Kong |
---|---|
ISO code: | HK |
Region | Asia |
Mobile country code (MCC) | 454 |
Dialing Code | +852 |
Market Conditions: Hong Kong has a highly developed mobile market with near-universal smartphone penetration. 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
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.
Compliance and Regulatory Guidelines for SMS 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 (UEMO). The Personal Data (Privacy) Ordinance (PDPO) also applies to the collection and use of phone numbers for messaging purposes.
Consent and Opt-In
Explicit Consent Requirements:
- Written or electronic consent must be obtained before sending marketing messages
- Consent records must be maintained and easily accessible
- Purpose of messaging must be clearly stated during opt-in
- Separate consent required for different types of 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 maintains a Do-Not-Call (DNC) registry under the UEMO.
- Regular checks against DNC registry required
- Maintain internal suppression lists
- Process opt-outs within 24 hours
- Recommended to check DNC status before each campaign
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
Phone Numbers Options and SMS Sender Types for 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
- Hash (#) prefix required as of February 21, 2024
- Registration process takes approximately 18 days 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
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 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 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
});
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 support
import 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:
- Twilio: 250 messages per second
- Sinch: 30 messages per second
- MessageBird: 60 messages per second
Throughput Management Strategies:
- Implement exponential backoff for retries
- Use batch sending APIs for bulk messages
- Queue messages during peak periods
- Monitor delivery rates and adjust sending speed
Error Handling and Reporting
Best Practices:
- Implement comprehensive error logging
- Monitor delivery receipts (DLRs)
- Track message status updates
- Set up alerts for failed deliveries
- Maintain error logs with message IDs
// 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:
- Register alphanumeric sender IDs with OFCA
- Implement proper consent management
- Support bilingual messaging
- Monitor delivery rates and errors
- Follow time zone restrictions
Next Steps:
- Review OFCA guidelines for SMS messaging
- Register sender IDs with OFCA and providers
- Implement consent collection system
- Set up monitoring and reporting
Additional Information: