sms compliance

Sent logo
Sent TeamMay 3, 2025 / sms compliance / Article

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.

Hong Kong SMS Best Practices, Compliance, and Features

Hong Kong SMS Market Overview

Locale name:Hong Kong
ISO code:HK
RegionAsia
Mobile country code (MCC)454
Dialing Code+852

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:

  • 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

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
  • Hash (#) prefix required as of February 21, 2024
  • Registration process takes approximately 18 days

Registration Process (per OFCA SMS Sender Registration Scheme):

  1. Determine appropriate sector category (Banking, Telecommunications, Government, or Other sectors)
  2. Download and complete the Application Form for Registration of SMS Sender IDs for your sector
  3. Provide required supporting documents: business registration certificate, proof of authorized representative
  4. Submit application to OFCA via designated channels
  5. OFCA reviews application (~18 business days processing time)
  6. Upon approval, sender ID is added to the List of Registered Senders
  7. 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)
  • Keywords commonly associated with scams: "FREE", "WINNER", "URGENT ACT NOW", "CLAIM PRIZE"
  • 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 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 number
  • recipient: Hong Kong mobile number
  • message: SMS content with Unicode support
typescript
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 ID
  • recipients: Array of recipient numbers
  • content: Message content with Unicode support
typescript
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

Common Error Codes and Resolutions:

Error CodeDescriptionResolutionRetry Strategy
21614Invalid recipient (landline)Verify number is mobileDo not retry
21211Invalid 'To' phone numberValidate E.164 format (+852XXXXXXXX)Fix format, then retry
21408Permission to send deniedCheck sender ID registration statusResolve registration, then retry
30007Message blocked (spam filter)Review content, remove prohibited termsRevise content, retry after 1 hour
30008Unknown destination carrierVerify carrier supports deliveryContact provider
63016Invalid sender ID formatEnsure # prefix for alphanumeric IDsFix format, retry immediately
63018Unregistered sender IDComplete OFCA registration processRegister sender ID before retry

Retry Strategies by Error Type:

  • Permanent failures (21614, 21211): Do not retry; fix issue and move to next message
  • Temporary failures (rate limits, carrier congestion): Exponential backoff (1min, 5min, 15min)
  • Registration issues (63018, 21408): Resolve compliance issue before retrying
  • Content filtering (30007): Revise message content; wait 1+ hour before retry
typescript
// 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:

  1. Review OFCA guidelines for SMS messaging
  2. Register sender IDs with OFCA and providers
  3. Implement consent collection system
  4. Set up monitoring and reporting

Additional Information:

Frequently Asked Questions

How to send SMS messages in Hong Kong?

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.

What is the best practice for SMS marketing in Hong Kong?

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.

Why does Hong Kong require sender ID registration?

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.

When should I use an alphanumeric sender ID in Hong Kong?

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.

Can I send SMS to landlines in Hong Kong?

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.

What are the rules for consent and opt-in for SMS in Hong Kong?

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.

How to handle HELP and STOP commands in Hong Kong SMS?

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.

What is the character limit for SMS messages in Hong Kong?

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.

How to send MMS messages in Hong Kong?

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.

What are the restricted content categories for SMS in Hong Kong?

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.

What are the rate limits for Twilio, Sinch, and MessageBird in Hong Kong?

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.

How to check the Do Not Call registry in Hong Kong?

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.

What are the best practices for SMS localization in Hong Kong?

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.