Sending SMS messages to Guernsey requires understanding local telecommunications infrastructure, compliance with the Data Protection Law 2017, and technical considerations for message delivery. This guide covers everything businesses need to know about SMS messaging in Guernsey, from regulatory requirements to API implementation.
Guernsey SMS Market Overview
Locale name:
Guernsey
ISO code:
GG
Region
Europe
Mobile country code (MCC)
234
Dialing Code
+44
Market Conditions: Guernsey has well-developed mobile telecommunications infrastructure, primarily served by local operators like Sure Guernsey and JT Guernsey. As part of the British Crown Dependencies, it follows similar telecommunications standards to the UK while maintaining its own regulatory framework.
Network Infrastructure: Both major operators provide comprehensive 4G LTE coverage across the island with population coverage exceeding 95%. Sure and JT have invested in network modernization, with 5G services launched in select areas starting in 2022–2023. The small geographic size (approximately 78 km²) enables near-complete network coverage with high reliability.
Market Adoption: Mobile penetration in Guernsey exceeds 100% (multiple devices per capita), consistent with other developed European markets. Smartphone adoption is widespread, with active usage of both traditional SMS (particularly for transactional and authentication messages) and OTT messaging apps (WhatsApp, Signal) for personal communications.
Key SMS Features and Capabilities in Guernsey
Guernsey supports standard SMS messaging capabilities with some limitations on advanced features. These limitations stem primarily from the small market size and carrier prioritization of voice/data services. Compared to the UK mainland, Guernsey has more restricted A2P (Application-to-Person) messaging features, though P2P (Person-to-Person) SMS functions normally.
Two-way SMS Support
Major SMS providers do not support two-way SMS in Guernsey. Businesses cannot receive replies to their SMS messages through standard A2P channels.
Business Impact: Organizations requiring two-way communication can use these alternatives:
OTT Platforms: Use WhatsApp Business API, Facebook Messenger, or other chat platforms that support two-way messaging
Web/App Integration: Direct users to web forms or mobile apps for responses via included links
Email Follow-up: Include email addresses in SMS for recipients to reply via email
Voice Callbacks: Provide phone numbers for voice-based responses where appropriate
Dedicated Long Codes: International long codes may support limited two-way functionality through some providers (verify with your SMS vendor)
Concatenated Messages (Segmented SMS)
Support: Standard A2P channels do not support concatenated messaging in Guernsey.
Message length rules: Standard SMS length limits apply – 160 characters for GSM-7 encoding, 70 characters for Unicode.
Encoding considerations: Both GSM-7 and UCS-2 encodings work, with GSM-7 preferred for standard Latin alphabet messages to maximize character count.
Message Length Optimization Strategies:
Use abbreviations and concise language (e.g., "info" instead of "information")
Remove unnecessary whitespace and punctuation
Use shortened URLs with link shorteners (bit.ly, tinyurl.com) – typically 20–25 characters
Stick to GSM-7 character set (avoid emojis, special symbols) to get 160 vs 70 character limit
Split long messages into separate campaigns if needed (e.g., separate follow-up SMS)
Include only essential information: sender identity, key message, call-to-action, opt-out
Cost Implications: Each SMS costs one message unit. Since concatenation isn't supported, messages exceeding character limits will either be truncated or rejected. Plan for single-segment messages to avoid delivery failures and ensure cost predictability.
MMS Support
MMS messages automatically convert to SMS with an embedded URL link. This ensures compatibility while still allowing rich media content to be shared with recipients through a web-based interface.
Technical Details:
URL Structure: Media files are hosted on the SMS provider's CDN and delivered via shortened HTTPS links
Hosting Requirements: No customer hosting required – providers handle media storage automatically
Link Expiration: URLs typically expire after 30–90 days depending on provider (Twilio: 7–30 days default, configurable)
File Size Limits: Usually 500KB–5MB depending on provider
Supported Formats: JPEG, PNG, GIF for images; MP4 for video; MP3, AAC for audio
User Experience: Recipients receive SMS like "View your image: [link]" – requires data connection to view content
Character Count: The message body plus URL typically consume 50–80 characters, leaving 80–110 for custom text
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Guernsey. Mobile numbers remain tied to their original carrier, which helps ensure more reliable message routing.
Carrier Identification for Developers:
HLR Lookup (Home Location Register): Use HLR lookup APIs to identify the current serving carrier for a mobile number. Services include Twilio Lookup API, Sinch Number Lookup, and Plivo Lookup API.
MCC/MNC Detection: Parse Mobile Country Code (234) and Mobile Network Code from IMSI data returned by HLR queries
Number Range Analysis: Guernsey mobile numbers use +44 7xxx ranges; carrier assignment is relatively static due to no portability
Validation Libraries: Use libphonenumber (Google) to validate Guernsey numbers and format them correctly to E.164 standard
API Integration Example: Most SMS providers return carrier information in delivery receipt webhooks under carrier or network fields
Sending SMS to Landlines
You cannot send SMS to landline numbers in Guernsey. Attempts to send messages to landline numbers result in a 400 response error (code 21614), and the message will not be delivered or charged to your account.
Landline vs Mobile Number Identification:
Prefix Analysis: Guernsey mobile numbers begin with +44 7xxx (e.g., +44 7781, +44 7839, +44 7911). Landline numbers use +44 1481 prefix.
Regex Validation: Use pattern ^\+447\d{9}$ for mobile numbers; pattern ^\+441481\d{6}$ for landlines
Lookup APIs: Use HLR/number lookup services (Twilio Lookup, Numverify, Sinch) to programmatically verify number type before sending
Pre-send Validation: Implement validation in your application to filter out landlines before API submission
Error Handling: Catch 21614 errors and log numbers to suppression list to avoid repeated attempts
SMS Compliance and Regulatory Requirements in Guernsey
Relationship to UK GDPR and PECR: The DPL 2017 mirrors the EU GDPR framework but is distinct legislation for the Bailiwick of Guernsey. Key similarities include consent requirements, data subject rights, and accountability principles. Key differences include Guernsey's independent supervisory authority (ODPA) and jurisdiction-specific enforcement procedures. The Privacy Directive implementation aligns closely with UK PECR (Privacy and Electronic Communications Regulations) regarding electronic marketing consent requirements.
Penalties for Non-Compliance:
Administrative Fines: Up to £1,000,000 or 4% of annual worldwide turnover (whichever is higher) for serious breaches under DPL 2017
Lower-Tier Violations: Up to £500,000 or 2% of turnover for procedural failures (inadequate records, failure to report breaches)
Criminal Sanctions: Deliberate or reckless unauthorized data processing can result in criminal prosecution
Enforcement Actions: ODPA can issue enforcement notices, compliance orders, and mandatory audits
Enforcement Examples and Complaint Procedures:
Complaint Submission: File complaints directly with ODPA via online form or written correspondence
Investigation Timeline: ODPA typically responds to complaints within 3 months; complex cases may take 6–12 months
Enforcement History: While Guernsey has not publicized large SMS-related fines, ODPA actively enforces data protection rules across sectors
Proactive Compliance: Conduct Data Protection Impact Assessments (DPIAs) for SMS marketing programs and register as data controllers with ODPA where required
Consent and Opt-In
Explicit Consent Requirements:
Consent must be specific, informed, and unambiguous
Pre-ticked boxes or silence do not constitute valid consent
Keep detailed records of when and how you obtained consent
Clearly state the purpose of communications during opt-in
Best Practices for Documentation:
Maintain timestamped records of all opt-in actions
Store the source and method of consent acquisition (web form, in-person, phone, checkbox)
Regularly audit and update consent records (review annually minimum)
Implement double opt-in for marketing communications (send confirmation SMS/email before adding to active list)
Sample Consent Language:
Code
☑ I agree to receive SMS marketing messages from [Company Name]
about products, offers, and updates. Message frequency: 2–4/month.
Reply STOP to opt out. Standard message rates apply.
HELP/STOP and Other Commands
Support standard STOP commands in all SMS campaigns
HELP messages provide clear contact information
Use English keywords (primary language in Guernsey)
Process opt-out requests within 24 hours of receipt
Keyword Variations and Case-Sensitivity:
Opt-Out Keywords: Support STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT (recommended to support all)
Case-Insensitive: Process keywords regardless of case (STOP, Stop, stop all treated equally)
Opt-In Keywords: START, UNSTOP, YES (for re-subscription after previous opt-out)
Help Keywords: HELP, INFO, SUPPORT
Required Response Messages:
STOP Confirmation: "You have been unsubscribed from [Company Name] messages. Reply START to resubscribe. For help, contact [phone/email]."
HELP Response: "[Company Name] SMS Program. Msg frequency: 2–4/month. Reply STOP to cancel. Help: [phone/email]. Msg&data rates may apply."
Response Timing: Send confirmation within seconds (same session) to provide immediate feedback
Do Not Call / Do Not Disturb Registries
While Guernsey doesn't maintain its own Do Not Call registry, businesses can:
Honor UK's Telephone Preference Service (TPS) registrations
Maintain internal suppression lists
Implement immediate opt-out processing
Regularly clean contact databases
TPS Implementation Guidance:
Checking TPS: Subscribe to TPS for Business to screen numbers against UK registry
Integration Methods: Download TPS file (updated monthly) or use real-time API for instant validation
API Access: TPS provides REST API for automated screening; batch processing available for large lists
Screening Frequency: Check new numbers before first contact; re-screen existing lists quarterly
Cross-Jurisdiction: While Guernsey numbers use +44, apply TPS screening as best practice for compliance with customers' preferences
Time Zone Sensitivity
Guernsey follows British Time (GMT/BST). Best practices include:
Send messages between 8:00 AM and 8:00 PM local time
Respect local holidays and weekends
Avoid early morning or late evening messages
Only send urgent messages outside these hours
Timezone Details:
Standard Time: GMT (Greenwich Mean Time), UTC+0 – typically late October to late March
Summer Time: BST (British Summer Time), UTC+1 – typically late March to late October
2024 Transitions: BST begins March 31, 2024 at 01:00 GMT; GMT resumes October 27, 2024 at 02:00 BST
2025 Transitions: BST begins March 30, 2025 at 01:00 GMT; GMT resumes October 26, 2025 at 02:00 BST
Implementation: Use IANA timezone identifier Europe/Guernsey (alias for Europe/London) in scheduling systems to handle automatic DST transitions
SMS Sender ID Options and Phone Number Types in Guernsey
Alphanumeric Sender ID
Operator network capability: Supported with dynamic usage
Registration requirements: No pre-registration required
Sender ID preservation: Sender IDs are generally preserved across networks
Restrictions: Cannot be only numeric (must contain at least one letter); cannot start with a digit
Special Characters: Generally not supported (avoid hyphens, underscores, periods, apostrophes)
Case Sensitivity: Case is preserved but may display differently on some handsets
Examples:
✅ Good: MyBrand, ACME Corp, BankAlert, ShopDeal
❌ Bad: 123456 (numeric only), 1stBank (starts with digit), My-Brand (special char), AB (too short), VeryLongBrandName (too long)
Long Codes
Domestic vs. International: International long codes supported; domestic long codes not available
Sender ID preservation: Original sender ID preserved
Provisioning time: Immediate for international numbers
Use cases: Ideal for transactional messages and two-factor authentication
Pricing and Provisioning:
Cost Structure: International long codes typically cost $1–5/month rental plus per-message charges (varies by provider and source country)
Available Country Codes: US (+1), UK (+44 mainland), European numbers (+33, +49, etc.) commonly available; check with provider for full list
Choose number type (mobile-enabled long code or toll-free)
Provision via API or web console (instant for most countries)
Configure SMS-enabled settings and webhook endpoints
Test delivery to Guernsey numbers before production use
Limitations: Some countries' long codes may have restricted international delivery or higher costs for offshore messaging
Short Codes
Support: Not supported in Guernsey
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content and Industries in Guernsey
Restricted Industries:
Gambling: Requires license from Guernsey Gambling Commission; marketing must comply with Gambling (Guernsey) Law, 2014. Proof of age-gated opt-in required. Only licensed operators can send gambling-related SMS.
Adult content: Prohibited for SMS marketing in accordance with local decency standards and telecommunications regulations.
Financial services: Must comply with Guernsey Financial Services Commission (GFSC) regulations. Investment advice requires GFSC authorization. Include required regulatory disclaimers and risk warnings.
Healthcare: Subject to DPL 2017 data protection requirements. Special category data (health information) requires explicit consent and enhanced security measures. Medical advice must come from qualified practitioners.
Additional Industry Considerations:
Pharmaceuticals: Prescription medication advertising restricted; must comply with Medicines (Guernsey) Law
Alcohol: Age verification and responsible marketing practices required
Debt Collection: Follow fair practice guidelines; harassment prohibited
Content Filtering
Carrier Filtering Rules:
Carriers may block messages containing certain keywords
Use URLs from reputable domains
Avoid excessive capitalization and special characters
Specific Blocked Keywords and Patterns:
Common Spam Triggers: "FREE", "WINNER", "CLAIM NOW", "LIMITED TIME", "CONGRATULATIONS" (especially in all caps)
Financial Red Flags: "CASH BONUS", "EARN MONEY FAST", "CLICK HERE NOW", "GUARANTEED INCOME"
Usage Context: Approximately 1–2% of Guernsey residents speak Guernésiais (Norman French dialect), though most are bilingual English speakers. Standard French is understood by a small portion of residents, particularly among finance sector professionals and expatriate communities.
When to Use French: Target audience explicitly requests French communications; financial services marketing to French-speaking professionals; luxury goods targeting French tourists/second-home owners.
Implementation: Offer language preference during opt-in; maintain separate French opt-in list; use native speakers for translation to ensure accuracy.
Character Limits: French messages often require 20–30% more characters than English due to longer words and accented characters (é, à, ç) which trigger Unicode encoding (70 char limit vs 160).
Opt-Out Management
Process opt-outs within 24 hours
Maintain centralized opt-out database
Include clear opt-out instructions
Confirm opt-out with final message
Example Opt-Out Confirmation:
Code
ACME Shop: You're unsubscribed. No more marketing msgs will be sent.
You may still receive order updates. Resubscribe anytime: acme.co/sms
Testing and Monitoring
Test across major local carriers
Monitor delivery rates regularly
Track engagement metrics
Analyze opt-out patterns
Conduct A/B testing for optimal performance
Key Performance Indicators (KPIs) to Track:
Delivery Rate: Target >95% for transactional, >90% for marketing messages
Delivery Time: <30 seconds for time-sensitive messages (OTP, alerts)
Opt-Out Rate: <0.5% per campaign is healthy; >2% indicates content/frequency issues
Conversion Rate: Varies by industry; benchmark against your historical performance
Cost per Conversion: Track ROI by dividing total SMS costs by successful conversions
Bounce Rate: Keep below 3%; higher indicates list quality issues
Benchmark Delivery Rates:
Guernsey Typical Range: 92–98% successful delivery for properly formatted messages to valid mobile numbers
Sure Network: Generally 95–97% delivery rate
JT Network: Generally 94–96% delivery rate
International Long Codes: 90–95% (slightly lower due to international routing)
Troubleshooting Low Delivery Rates:
Verify Number Format: Ensure E.164 formatting (+447xxxxxxxxx)
Check Content Filtering: Test without URLs, special characters, and trigger words
Validate Number Type: Confirm numbers are mobile, not landlines
Review Sender ID: Some alphanumeric IDs may be blocked; try alternative or long code
Test Carrier-Specific: Send to Sure vs JT numbers separately to isolate carrier issues
Check Provider Status: Verify no outages or route degradations via provider status pages
Twilio provides a robust SMS API with comprehensive support for Guernsey numbers. Integration requires your Account SID and Auth Token from the Twilio Console.
TypeScript
import * asTwiliofrom'twilio';
// Initialize Twilio client with authentication credentialsconst client = newTwilio(
process.env.TWILIO_ACCOUNT_SID, // Your Account SID
process.env.TWILIO_AUTH_TOKEN// Your Auth Token
);
// Function to send SMS to Guernsey numberasyncfunctionsendSMSToGuernsey(to: string, // Recipient number in E.164 format (+44...)message: string, // Message contentfrom: string// Your Twilio number or alphanumeric sender ID) {
try {
const response = await client.messages.create({
body: message,
to: to,
from: from,
// Optional: Request delivery status updatesstatusCallback: 'https://your-domain.com/sms/status',
});
console.log(`Message sent successfully! SID: ${response.sid}`);
return response;
} catch (error) {
// Type-safe error handlingif (error.code === 21614) {
console.error('Invalid number - landline or invalid format');
} elseif (error.code === 21408) {
console.error('Permission to send not granted or number unreachable');
} else {
console.error('Error sending message:', error);
}
throw error;
}
}
// Delivery status webhook implementationasyncfunctionhandleDeliveryStatus(req, res) {
const { MessageSid, MessageStatus, ErrorCode } = req.body;
if (MessageStatus === 'failed' || MessageStatus === 'undelivered') {
console.error(`Message ${MessageSid} failed with error ${ErrorCode}`);
// Implement retry logic or suppression list update
} elseif (MessageStatus === 'delivered') {
console.log(`Message ${MessageSid} delivered successfully`);
}
res.status(200).send('OK');
}
Sinch
Sinch offers direct carrier connections for reliable message delivery to Guernsey. Authentication uses API key and secret.
GDPR-aligned best practices for data handling – consent management, data retention, and breach notification procedures
Local telecommunications standards and regulations – follow GCRA guidance for SMS use cases
Frequently asked questions
Use an SMS API provider like Twilio, Sinch, MessageBird, or Plivo. These providers offer integrations to send messages to Guernsey numbers, complying with local regulations. Remember to obtain explicit consent before sending marketing messages and adhere to best practices like respecting time zones and managing opt-outs. You'll also need an account with the chosen provider to access their APIs and tools.
The Data Protection (Bailiwick of Guernsey) Law, 2017 (DPL 2017) and the European Communities (Implementation of Privacy Directive) (Guernsey) Ordinance, 2004 govern SMS marketing. Explicit, informed, and unambiguous consent is required before sending marketing SMS, and compliance is overseen by the Office of the Data Protection Authority (ODPA).
Two-way SMS is not supported through major A2P SMS providers in Guernsey. This limitation means businesses cannot receive replies to their SMS messages through standard channels. Alternative communication methods may be necessary for interactive messaging.
The best time to send SMS messages in Guernsey is between 8:00 AM and 8:00 PM local time (GMT/BST). Avoid sending messages during weekends or local holidays unless urgent. Consider local time sensitivity and respect recipient preferences to minimize disruption.
Two-way messaging and concatenated (long) SMS are not supported via standard A2P channels. MMS messages are converted to SMS with a URL link. Shortcodes are also unavailable. Standard SMS length applies—160 characters for GSM-7 and 70 characters for Unicode.
No, sending SMS to landline numbers in Guernsey is not possible. Attempts to send messages to landlines result in a 400 response error with code 21614. The message is neither delivered nor charged to your account.
Obtain explicit consent, offer clear opt-out instructions in English, and honor STOP requests within 24 hours. Follow best practices for data handling, respect the UK's TPS registrations, and consult legal counsel for specific compliance requirements.
Keep messages under 160 characters, personalize content, respect local time zones, and handle opt-outs promptly. Obtain explicit consent, localize messages (primarily English), and regularly monitor deliverability and engagement. Consistent branding is also recommended.
Process opt-out requests within 24 hours of receipt. Maintain a centralized opt-out database and ensure clear opt-out instructions are included in every message. Confirm opt-out with a final message to the recipient.
Alphanumeric sender IDs are supported with dynamic usage in Guernsey. No pre-registration is required, and sender IDs are generally preserved across networks. This provides flexibility in branding your SMS messages.
Gambling, adult content, financial services, and healthcare are restricted industries for SMS marketing. These sectors may require special permits or adherence to specific regulatory compliance measures before sending marketing messages.
The default rate limit is one message per second per destination, with batch sending capped at 100 messages per request. Implement queuing systems for high-volume campaigns and use exponential backoff for retries to efficiently manage throughput within these limits.
Twilio, Sinch, MessageBird, and Plivo offer reliable SMS API integrations for Guernsey with carrier connections for delivery and various features. They provide documentation and code examples in several programming languages.
The Mobile Country Code (MCC) for Guernsey is 234. This code is used in conjunction with the Mobile Network Code (MNC) to uniquely identify mobile network operators within Guernsey.
Number portability is not available in Guernsey. Therefore, mobile numbers remain tied to their original assigned carrier, which aids reliable message routing.
Sending SMS messages to Guernsey requires understanding local telecommunications infrastructure, compliance with the Data Protection Law 2017, and technical considerations for message delivery. This guide covers everything businesses need to know about SMS messaging in Guernsey, from regulatory requirements to API implementation.
Guernsey SMS Market Overview
Market Conditions: Guernsey has well-developed mobile telecommunications infrastructure, primarily served by local operators like Sure Guernsey and JT Guernsey. As part of the British Crown Dependencies, it follows similar telecommunications standards to the UK while maintaining its own regulatory framework.
Network Infrastructure: Both major operators provide comprehensive 4G LTE coverage across the island with population coverage exceeding 95%. Sure and JT have invested in network modernization, with 5G services launched in select areas starting in 2022–2023. The small geographic size (approximately 78 km²) enables near-complete network coverage with high reliability.
Market Adoption: Mobile penetration in Guernsey exceeds 100% (multiple devices per capita), consistent with other developed European markets. Smartphone adoption is widespread, with active usage of both traditional SMS (particularly for transactional and authentication messages) and OTT messaging apps (WhatsApp, Signal) for personal communications.
Key SMS Features and Capabilities in Guernsey
Guernsey supports standard SMS messaging capabilities with some limitations on advanced features. These limitations stem primarily from the small market size and carrier prioritization of voice/data services. Compared to the UK mainland, Guernsey has more restricted A2P (Application-to-Person) messaging features, though P2P (Person-to-Person) SMS functions normally.
Two-way SMS Support
Major SMS providers do not support two-way SMS in Guernsey. Businesses cannot receive replies to their SMS messages through standard A2P channels.
Business Impact: Organizations requiring two-way communication can use these alternatives:
Concatenated Messages (Segmented SMS)
Support: Standard A2P channels do not support concatenated messaging in Guernsey. Message length rules: Standard SMS length limits apply – 160 characters for GSM-7 encoding, 70 characters for Unicode. Encoding considerations: Both GSM-7 and UCS-2 encodings work, with GSM-7 preferred for standard Latin alphabet messages to maximize character count.
Message Length Optimization Strategies:
Cost Implications: Each SMS costs one message unit. Since concatenation isn't supported, messages exceeding character limits will either be truncated or rejected. Plan for single-segment messages to avoid delivery failures and ensure cost predictability.
MMS Support
MMS messages automatically convert to SMS with an embedded URL link. This ensures compatibility while still allowing rich media content to be shared with recipients through a web-based interface.
Technical Details:
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Guernsey. Mobile numbers remain tied to their original carrier, which helps ensure more reliable message routing.
Carrier Identification for Developers:
carrierornetworkfieldsSending SMS to Landlines
You cannot send SMS to landline numbers in Guernsey. Attempts to send messages to landline numbers result in a 400 response error (code 21614), and the message will not be delivered or charged to your account.
Landline vs Mobile Number Identification:
^\+447\d{9}$for mobile numbers; pattern^\+441481\d{6}$for landlinesSMS Compliance and Regulatory Requirements in Guernsey
The Data Protection (Bailiwick of Guernsey) Law, 2017 (DPL 2017) and the European Communities (Implementation of Privacy Directive) (Guernsey) Ordinance, 2004 govern SMS marketing in Guernsey. The Office of the Data Protection Authority (ODPA) oversees compliance with these regulations.
Relationship to UK GDPR and PECR: The DPL 2017 mirrors the EU GDPR framework but is distinct legislation for the Bailiwick of Guernsey. Key similarities include consent requirements, data subject rights, and accountability principles. Key differences include Guernsey's independent supervisory authority (ODPA) and jurisdiction-specific enforcement procedures. The Privacy Directive implementation aligns closely with UK PECR (Privacy and Electronic Communications Regulations) regarding electronic marketing consent requirements.
Penalties for Non-Compliance:
Enforcement Examples and Complaint Procedures:
Consent and Opt-In
Explicit Consent Requirements:
Best Practices for Documentation:
Sample Consent Language:
HELP/STOP and Other Commands
Keyword Variations and Case-Sensitivity:
Required Response Messages:
Do Not Call / Do Not Disturb Registries
While Guernsey doesn't maintain its own Do Not Call registry, businesses can:
TPS Implementation Guidance:
Time Zone Sensitivity
Guernsey follows British Time (GMT/BST). Best practices include:
Timezone Details:
Europe/Guernsey(alias for Europe/London) in scheduling systems to handle automatic DST transitionsSMS Sender ID Options and Phone Number Types in Guernsey
Alphanumeric Sender ID
Operator network capability: Supported with dynamic usage Registration requirements: No pre-registration required Sender ID preservation: Sender IDs are generally preserved across networks
Sender ID Specifications:
Examples:
MyBrand,ACME Corp,BankAlert,ShopDeal123456(numeric only),1stBank(starts with digit),My-Brand(special char),AB(too short),VeryLongBrandName(too long)Long Codes
Domestic vs. International: International long codes supported; domestic long codes not available Sender ID preservation: Original sender ID preserved Provisioning time: Immediate for international numbers Use cases: Ideal for transactional messages and two-factor authentication
Pricing and Provisioning:
Short Codes
Support: Not supported in Guernsey Provisioning time: N/A Use cases: N/A
Restricted SMS Content and Industries in Guernsey
Restricted Industries:
Additional Industry Considerations:
Content Filtering
Carrier Filtering Rules:
Specific Blocked Keywords and Patterns:
URL Domain Requirements:
Appeal Process for Blocked Messages:
Best Practices:
SMS Best Practices for Guernsey Businesses
Messaging Strategy
Example Messages – Effective vs Ineffective:
✅ Effective:
Why it works: Personalized, concise (158 chars), clear value, includes opt-out, branded
❌ Ineffective:
Why it fails: Spam triggers, all caps, excessive punctuation, vague call-to-action, no brand identity, no opt-out
✅ Effective:
Why it works: Branded sender, clear purpose, security guidance, contact info, 147 chars
Sending Frequency and Timing
Guernsey Public Holidays (applicable 2024–2025):
Note: Avoid scheduling campaigns on or immediately before public holidays. Reference States of Guernsey official calendar for annual updates.
Localization
French Language Considerations:
Opt-Out Management
Example Opt-Out Confirmation:
Testing and Monitoring
Key Performance Indicators (KPIs) to Track:
Benchmark Delivery Rates:
Troubleshooting Low Delivery Rates:
SMS API Integrations and Providers for Guernsey
Twilio
Twilio provides a robust SMS API with comprehensive support for Guernsey numbers. Integration requires your Account SID and Auth Token from the Twilio Console.
import * as Twilio from 'twilio'; // Initialize Twilio client with authentication credentials const client = new Twilio( process.env.TWILIO_ACCOUNT_SID, // Your Account SID process.env.TWILIO_AUTH_TOKEN // Your Auth Token ); // Function to send SMS to Guernsey number async function sendSMSToGuernsey( to: string, // Recipient number in E.164 format (+44...) message: string, // Message content from: string // Your Twilio number or alphanumeric sender ID ) { try { const response = await client.messages.create({ body: message, to: to, from: from, // Optional: Request delivery status updates statusCallback: 'https://your-domain.com/sms/status', }); console.log(`Message sent successfully! SID: ${response.sid}`); return response; } catch (error) { // Type-safe error handling if (error.code === 21614) { console.error('Invalid number - landline or invalid format'); } else if (error.code === 21408) { console.error('Permission to send not granted or number unreachable'); } else { console.error('Error sending message:', error); } throw error; } } // Delivery status webhook implementation async function handleDeliveryStatus(req, res) { const { MessageSid, MessageStatus, ErrorCode } = req.body; if (MessageStatus === 'failed' || MessageStatus === 'undelivered') { console.error(`Message ${MessageSid} failed with error ${ErrorCode}`); // Implement retry logic or suppression list update } else if (MessageStatus === 'delivered') { console.log(`Message ${MessageSid} delivered successfully`); } res.status(200).send('OK'); }Sinch
Sinch offers direct carrier connections for reliable message delivery to Guernsey. Authentication uses API key and secret.
import { SinchClient } from '@sinch/sdk-core'; // Initialize Sinch client const sinchClient = new SinchClient({ projectId: process.env.SINCH_PROJECT_ID, apiKey: process.env.SINCH_API_KEY, apiSecret: process.env.SINCH_API_SECRET }); // Function to send SMS via Sinch async function sendSinchSMS( recipientNumber: string, messageText: string, senderId: string ) { try { const response = await sinchClient.sms.batches.send({ to: [recipientNumber], from: senderId, body: messageText, // Optional parameters for delivery reports deliveryReport: 'summary' }); console.log('Message batch ID:', response.id); return response; } catch (error) { console.error('Sinch SMS Error:', error); throw error; } }MessageBird
MessageBird provides reliable SMS delivery to Guernsey with straightforward API integration.
import { MessageBirdClient } from 'messagebird'; // Initialize MessageBird client const messagebird = new MessageBirdClient(process.env.MESSAGEBIRD_API_KEY); // Function to send SMS via MessageBird async function sendMessageBirdSMS( to: string, message: string, originator: string ): Promise<any> { return new Promise((resolve, reject) => { messagebird.messages.create({ originator: originator, recipients: [to], body: message, // Optional parameters reportUrl: 'https://your-webhook-url.com/delivery-status' }, (err, response) => { if (err) { reject(err); } else { resolve(response); } }); }); }Plivo
Plivo offers reliable SMS delivery to Guernsey with comprehensive delivery reporting.
import * as plivo from 'plivo'; // Initialize Plivo client const client = new plivo.Client( process.env.PLIVO_AUTH_ID, process.env.PLIVO_AUTH_TOKEN ); // Function to send SMS via Plivo async function sendPlivoSMS( destination: string, message: string, sourceNumber: string ) { try { const response = await client.messages.create({ src: sourceNumber, dst: destination, text: message, // Optional parameters url: 'https://your-webhook-url.com/delivery-status', method: 'POST' }); console.log('Message UUID:', response.messageUuid); return response; } catch (error) { console.error('Plivo Error:', error); throw error; } }API Rate Limits and Throughput
Provider-Specific Rate Limits:
Twilio:
Sinch:
MessageBird:
Plivo:
Account Tier Differences: Higher tiers typically offer increased rate limits, volume discounts (10–30% reduction at >100K msgs/month), dedicated support, custom sender ID registration, and SLA guarantees (99.95% uptime).
Strategies for Large-Scale Sending:
// Example: Queuing system with rate limiting using Bull (Redis-based queue) import Queue from 'bull'; const smsQueue = new Queue('sms-sending', { redis: { host: 'localhost', port: 6379 } }); // Add rate limiting: 10 messages per second smsQueue.process(10, async (job) => { const { to, message, from } = job.data; await sendSMSToGuernsey(to, message, from); }); // Exponential backoff for retries const jobOptions = { attempts: 3, backoff: { type: 'exponential', delay: 2000 // 2s, 4s, 8s retry delays } }; // Add messages to queue await smsQueue.add({ to: '+447xxx', message: 'Test', from: 'ACME' }, jobOptions);Additional Strategies:
Error Handling and Reporting
Common Twilio Error Codes for Guernsey:
General SMS Error Patterns (apply to Sinch, MessageBird, Plivo):
Delivery Receipt Webhook Implementation:
import express from 'express'; import crypto from 'crypto'; const app = express(); app.use(express.urlencoded({ extended: true })); // Twilio webhook validation function validateTwilioSignature(req, authToken) { const twilioSignature = req.headers['x-twilio-signature']; const url = `https://${req.hostname}${req.originalUrl}`; const params = req.body; const expectedSignature = crypto .createHmac('sha1', authToken) .update(Buffer.from(url + Object.keys(params).sort().map(key => key + params[key]).join(''), 'utf-8')) .digest('base64'); return crypto.timingSafeEqual( Buffer.from(twilioSignature), Buffer.from(expectedSignature) ); } // Delivery status webhook endpoint app.post('/sms/status', async (req, res) => { // Validate webhook authenticity if (!validateTwilioSignature(req, process.env.TWILIO_AUTH_TOKEN)) { return res.status(403).send('Invalid signature'); } const { MessageSid, MessageStatus, ErrorCode, To } = req.body; // Log to database or monitoring system console.log(`Message ${MessageSid} to ${To}: ${MessageStatus}`); if (MessageStatus === 'failed' || MessageStatus === 'undelivered') { // Add to suppression list if permanent failure if (['21211', '21614', '30005'].includes(ErrorCode)) { await addToSuppressionList(To, ErrorCode); } // Trigger alert for high failure rates await checkFailureRateAndAlert(); } res.status(200).send('OK'); });Automated Alerting Setup:
Recap and Additional Resources
Key Takeaways:
Next Steps:
Additional Resources:
Industry Guidelines: