Twilio SMS Campaign Registration Guide
For use with Yukio's Authentication Gateway SMS Challenge/Response service
⚠️ Registration Is Mandatory
All US 10DLC (10-Digit Long Code) SMS messaging requires campaign registration through The Campaign Registry (TCR). Failure to register WILL result in message filtering, carrier blocks, and eventual suspension. This is not optional — this is carrier-mandated since 2021.
1. Understanding 10DLC & TCR
10DLC is the system by which businesses send A2P (Application-to-Person) SMS messages using standard 10-digit phone numbers. The Campaign Registry (TCR) is the central authority that vets who is sending messages and what they are sending.
Every organization that sends SMS to US phone numbers must register:
- A Brand — your company or organization identity
- A Campaign — the specific use case for your messaging
- Phone Numbers — associated with your campaign
Our Use Case: Yukio's Authentication Gateway sends authentication codes (one-time passwords, verification codes) to end users. This maps to the Authentication / Account Verification campaign use case type in Twilio.
2. Brand Registration
2.1 Prerequisites
- A Twilio account in good standing
- Your company's legal business name and address
- Your EIN (Employer Identification Number) or Tax ID
- Your business type (Private, Public, Non-Profit, etc.)
- A valid business website (yukiozen.ai qualifies)
- A contact email and phone number for vetting
2.2 Registration Process
- Log in to the Twilio Console
- Navigate to Messaging → Regulatory Compliance → Brands
- Click Register a Brand
- Select your country (United States)
- Fill in organization details:
- Legal Company Name (exactly as registered)
- EIN / Tax ID
- Business Address
- Business Type
- Website URL:
https://yukiozen.ai
- Submit. Brand vetting typically takes 2-7 business days.
3. Campaign Registration
3.1 Campaign Type
For authentication codes, use the Sole Proprietor or Standard brand type, and select Authentication / Account Verification as the campaign use case.
3.2 Registration Process
- In Twilio Console, go to Messaging → Regulatory Compliance → Campaigns
- Click Register a Campaign
- Select your registered Brand
- Choose US A2P 10DLC — Standard campaign type
- Select Authentication / Account Verification use case
- Fill in the campaign details:
Field Value / Guidance Campaign Description "Authentication codes sent to end users of backend services using Yukio's Authentication Gateway. Messages are triggered by user-initiated login or verification requests and contain only a time-limited numeric OTP." Sample Message 1 Your verification code is: 482901. This code expires in 5 minutes.Sample Message 2 Use code 739214 to complete your login. Do not share this code with anyone.Opt-in Method "Users opt in by initiating a login or verification request on a client's backend service. The user must actively trigger the SMS delivery — no unsolicited messages are sent. Message delivery is strictly on-demand in response to user action." Opt-in Keywords N/A — messages are transactionally triggered Opt-out Message "You will not receive further authentication messages for this session. To re-enable, initiate a new login attempt." Help Message "Reply STOP to opt out. This number sends authentication codes only. Contact support at support@yukiozen.ai." Message Volume Estimate based on expected authentication volume (start conservatively) Embedded Link No Embedded Phone Number No Age-gated Content No - Submit. Campaign vetting typically takes 3-5 business days after brand approval.
4. Phone Number Requirements
- Numbers must be 10DLC-enabled (US local numbers, not toll-free)
- Numbers must be associated with an approved campaign before sending
- Each campaign supports multiple phone numbers
- Twilio recommends one number per ~500 messages per day for throughput
- For authentication use cases, a single number typically handles thousands of messages/day
5. Message Templates
All authentication SMS messages must follow these templates for compliance:
Standard Verification Code
Your verification code is: {{code}}. This code expires in {{expiry}} minutes.
Reply STOP to opt out.
Magic Link SMS (if applicable)
Use this link to sign in: {{magic_link}}?token={{token}}
This link expires in {{expiry}} minutes. Reply STOP to opt out.
Help Response (auto-reply)
Yukio Auth Gateway - SMS authentication.
Msg frequency: per login request.
Reply STOP to opt out of all messages.
Contact: support@yukiozen.ai
6. Compliance Requirements
6.1 Consent
- Messages are sent only in response to an explicit user action (login attempt, verification request)
- No marketing messages are sent through this channel
- No messages are sent without a user-initiated trigger
- Consent is implicit in the authentication request — the user provides their phone number and initiates the flow
6.2 Opt-Out Handling
- Users can opt out by replying STOP, UNSUBSCRIBE, CANCEL, or QUIT
- Upon opt-out, the phone number is added to a suppression list
- No further authentication messages will be sent to that number
- Users can re-opt-in by replying START or YES
- Reply HELP returns support contact information
6.3 Quiet Hours
While authentication messages are transactional (not marketing) and may be sent at any time, we recommend sending messages only between 8:00 AM and 9:00 PM in the recipient's time zone as a courtesy. This can be configured per client.
6.4 SHAKEN/STIR Compliance
All SMS messages sent through Twilio's 10DLC infrastructure are automatically SHAKEN/STIR compliant. Twilio handles attestation at the carrier level. No additional configuration is required.
7. Campaign Registration Timeline
| Step | Estimated Duration | Notes |
|---|---|---|
| Brand Registration | 2-7 business days | Faster for Sole Proprietor brands |
| Campaign Registration | 3-5 business days | Can be submitted immediately after brand |
| Number Association | Immediate | After campaign approval |
| Total (typical) | 5-12 business days | Plan for 2 weeks |
8. Twilio Console Checklist
Before going live, verify the following in the Twilio Console:
- ☐ Brand is registered and status is Verified
- ☐ Campaign is registered and status is Active
- ☐ At least one phone number is associated with the campaign
- ☐ Phone number is provisioned and not in a suspended state
- ☐ Messaging Service (if using) is configured with the campaign
- ☐ Webhook URLs are configured for incoming message handling (STOP/HELP replies)
- ☐ Error logging is set up to capture delivery failures
- ☐ Message templates are tested in the Twilio test environment
9. Troubleshooting
Messages Not Delivering
- Verify brand and campaign status in Twilio Console
- Check that the sending number is associated with the campaign
- Confirm the recipient number is on a supported carrier
- Check Twilio's status page for outages
Campaign Rejected
- Review the rejection reason in Twilio Console
- Common reasons: incomplete sample messages, unclear opt-in description, missing website
- Update the campaign details and resubmit
- Contact Twilio support if rejection reason is unclear
Carrier Filtering
- Carriers may filter messages even with approved campaigns
- If specific carriers are filtering, check Twilio's carrier lookup
- Ensure message content matches the registered use case
- Avoid URL shorteners in SMS content (use the full domain)