Introduction

If you’ve tried to register an SMS campaign through The Campaign Registry lately and gotten a rejection letter with a $35 charge to show for it, you’re not alone. Since February 2025, every business and nonprofit sending application-to-person (A2P) SMS in the United States is required to register through the 10DLC (10-digit long code) system — and carriers block unregistered traffic entirely. No registration, no delivery. Messages just disappear.

The fee structure makes this painful. Platforms like RingCentral charge $35 per campaign submission, and that’s non-refundable whether your application is approved or rejected. The Campaign Registry (TCR) vets each submission, and based on how the feedback reads on rejection notices, the vetting is automated — almost certainly an LLM doing the initial pass, looking for internal consistency between your campaign description, your opt-in flow, your sample messages, and your privacy policy.

The good news: once you understand what the system is looking for, approval on the first try is very achievable. The system isn’t trying to catch you doing something wrong — it’s trying to confirm that you actually know what you’re doing, that real humans opted in, and that your messages will match what you said you’d send.

This post walks through the full registration using a fictional nonprofit — Ridgeline Community Services — as a worked example. By the end, you’ll understand every field, why it matters, and what an approval-ready submission looks like from top to bottom.


What 10DLC Actually Is (and Why It Exists)

Before 2021, businesses could blast SMS from standard 10-digit phone numbers with almost no accountability. Carriers had no way to distinguish a local HVAC company sending appointment reminders from a spam operation sending ten million phishing texts. The result was predictable: spam filters became aggressive, legitimate messages got blocked, and everyone’s deliverability suffered.

A2P 10DLC was the industry’s solution. The Campaign Registry acts as a centralized clearinghouse. Businesses register their brand (who they are) and their campaigns (what they’re sending and why). Carriers use this registry to assign trust scores that affect deliverability and throughput rates. Get approved with a solid submission, and your messages move. Get flagged as questionable, and you’re throttled — or blocked outright.

The January 2025 FCC order added another layer: consent must now be obtained specifically for each sender. Third-party lead generation consent — where someone opted in to “partners” in the fine print — no longer satisfies the requirement. If someone opted into receiving texts, they had to opt into receiving texts from you specifically.

This is simultaneously reasonable from a consumer protection standpoint and a compliance headache for businesses that bought lists or used shared lead gen. The only clean path forward is explicit, documented consent tied directly to your brand.


The Two-Part Registration

Every TCR submission has two distinct pieces:

Brand registration covers who you are — your business name, EIN, address, and contact info. These details must match your IRS documentation exactly. Minor discrepancies (Inc. vs. Incorporated, an abbreviation in your DBA) cause rejections. Brands typically take one to three business days to approve.

Campaign registration covers what you’re sending — your use case, your opt-in flow, sample messages, and all the compliance details. This is where most people run into trouble, and where the rest of this post focuses. Campaign vetting currently takes two to seven business days.


The Fictional Example: Ridgeline Community Services

For this walkthrough, the fictional organization is Ridgeline Community Services, a 501(c)(3) nonprofit based in Bend, Oregon. They operate a food pantry, coordinate community volunteers, and send SMS notifications to clients and volunteers who’ve signed up via their website. They use a VoIP platform for outbound texting and are registering through that platform’s portal, which routes to TCR.

This is a deliberately ordinary use case — the kind most small organizations are actually running. No edge cases, no gray areas. The goal is a clean approval.


Field-by-Field Breakdown

Campaign Description

This is the most important field in the entire submission. The vetting system uses it to understand the context for everything else — your sample messages, your opt-in method, your use case selection. If the description is vague or contradicts your samples, you’ll be rejected.

What not to write:

We send SMS messages to our customers and contacts.

This tells the reviewer nothing. It’s technically accurate but provides zero context about who the recipients are, how they opted in, or what kinds of messages they’ll receive.

What Ridgeline submits:

Ridgeline Community Services is a 501(c)(3) nonprofit organization serving food-insecure residents and community volunteers in Bend, Oregon. We send SMS notifications exclusively to individuals who have opted in through our website contact form or volunteer registration page. Messages include food pantry availability updates, volunteer shift reminders, event notifications, and two-way responses to inbound texts from clients seeking assistance. All recipients are current clients or active volunteers who have provided explicit consent to receive text messages from us.

Notice what this does: it names the organization type (nonprofit), identifies the two recipient groups (clients and volunteers), lists the specific message types, names the opt-in source, and clarifies the relationship to the sender. The vetting system can now cross-check your sample messages against this description and confirm they match.


Use Case Selection

Choose the use case that most accurately describes your primary messaging purpose. Ridgeline selects Mixed because they’re sending to two distinct groups (clients and volunteers) about operationally different things (food pantry notices and shift reminders). If you’re only doing one thing — say, strictly appointment reminders — choose the more specific option. Mixed is a valid and commonly approved category; just make sure your description and samples reflect the variety.

Common use cases and when to pick them:

  • Customer Care — Two-way support, account inquiries, help tickets
  • Notifications/Alerts — One-way operational updates (order shipped, outage notice)
  • Marketing — Promotions, discounts, sales (be aware: this triggers more scrutiny)
  • 2FA / One-Time Passwords — Verification codes only
  • Mixed — Combination of the above, where no single category covers all your messages

Call to Action / Opt-In Method

This field documents how recipients gave consent. It needs to be specific enough that someone could go verify it. A URL is required for web-based opt-ins.

Ridgeline’s submission:

Recipients opt in by entering their mobile phone number on either our client intake form (ridgelinecs.org/get-help) or our volunteer registration form (ridgelinecs.org/volunteer). Both forms contain the following disclosure directly adjacent to the phone number field, with a checkbox the user must check before submitting:

“I agree to receive text messages from Ridgeline Community Services regarding food pantry availability, volunteer scheduling, and related updates. Message and data rates may apply. Message frequency varies. Reply STOP to opt out, HELP for help. View our Privacy Policy: ridgelinecs.org/privacy”

The critical details here: two specific URLs, disclosure language written out in full (not paraphrased), and confirmation that it’s a checkbox the user must actively select. If your opt-in is on a paper form at point of service, describe that instead — but a web form is the cleanest option because it’s easily verified.


Opt-In Message

This is the confirmation message a recipient receives immediately after opting in. It should state the brand name, set expectations about message frequency, disclose rates, and provide STOP and HELP instructions.

Ridgeline’s opt-in message:

Ridgeline Community Services: You're now opted in to receive text updates from us. Msg frequency varies. Msg & data rates may apply. Reply STOP to opt out, HELP for assistance. Privacy: ridgelinecs.org/privacy

Keep it under 160 characters if you can — that keeps it as a single SMS segment rather than a multi-part message. The above is 188 characters, which will send as two segments on some carriers. That’s acceptable; the compliance language takes priority.


Opt-Out Message

Sent automatically when a recipient replies STOP. The system (or your platform) should handle this automatically, but you need to document what it says.

Ridgeline’s opt-out message:

Ridgeline Community Services: You've been unsubscribed and will receive no further messages. If this was a mistake, reply UNSTOP to re-subscribe.

HELP Message

Sent when a recipient replies HELP. Must include a support contact channel.

Ridgeline’s HELP message:

Ridgeline Community Services: For assistance, email us at hello@ridgelinecs.org or call (541) 555-0182. Reply STOP to opt out of messages.

Sample Messages

You need at least two sample messages (some platforms ask for three). These are the make-or-break field for campaign approval. The vetting system compares them directly to your campaign description and use case.

Rules for sample messages:

  • Start with your brand name — every message, every time
  • Include STOP opt-out language
  • Include a rates disclaimer (at least occasionally — the vetting system wants to see you know it belongs there)
  • Match the use case you selected — if you said Mixed, show the variety
  • No URLs that don’t resolve, no vague or promotional language if you selected a non-marketing use case

Ridgeline Sample 1 — Food pantry notification (client-facing):

Ridgeline Community Services: This week's food pantry is open Tue & Thu 10am–2pm at 847 NW Harriman St. Extra produce available while supplies last. Reply STOP to opt out. Msg & data rates may apply.

Ridgeline Sample 2 — Volunteer shift reminder:

Ridgeline Community Services: Reminder — you're scheduled to volunteer this Saturday, May 2 at 9am. Reply YES to confirm or RESCHEDULE to find another time. Questions? Reply HELP. Msg & data rates may apply.

Ridgeline Sample 3 — Two-way response to inbound inquiry:

Ridgeline Community Services: Thanks for reaching out. Our next available pantry appointment is Thursday May 7 at 11am. Reply CONFIRM to book it or call us at (541) 555-0182 for other options.

Notice how these three messages collectively demonstrate the “Mixed” use case — one operational notice, one reminder with interactive reply options, one two-way support response. The vetting system can see that the Mixed designation is accurate.


Privacy Policy

Your privacy policy must be publicly accessible at a stable HTTPS URL. It must specifically address SMS/text messaging — a generic “we may contact you” clause buried in a cookie policy is not enough.

At minimum, your SMS-relevant privacy policy section should cover:

  • What mobile data you collect (phone numbers, opt-in timestamps, message content if stored)
  • How you use it (operational communications, not sold to third parties)
  • How users can opt out
  • TCPA compliance acknowledgment
  • How long you retain mobile contact data

Ridgeline’s privacy policy lives at ridgelinecs.org/privacy and contains a dedicated “SMS Communications” section. That section is what TCR’s vetting is looking for. If your privacy policy doesn’t mention SMS at all, add a section before you submit — this is one of the most common rejection triggers.


Support Contact

Provide a working email address or phone number that recipients can use to get help. This should be monitored — if a recipient reaches out and gets bounced, you’ve created a compliance problem.

Ridgeline’s support contact: hello@ridgelinecs.org


The Complete Submission at a Glance

Here’s what Ridgeline’s full campaign registration looks like assembled:

FieldValue
Brand NameRidgeline Community Services
EINMatches IRS 501(c)(3) determination letter
Websiteridgelinecs.org (HTTPS, operational)
Use CaseMixed
Campaign Description[Full text from above]
Age-Gated ContentNo
Lending/Financial ContentNo
Recurring MessagesNo (frequency varies)
Recipient DescriptionCurrent clients and active volunteers
Opt-In MethodWebsite form with checkbox consent
Opt-In URLridgelinecs.org/get-help, ridgelinecs.org/volunteer
Opt-In Message[Full text from above]
Opt-Out Message[Full text from above]
HELP Message[Full text from above]
Sample Message 1Food pantry availability notice
Sample Message 2Volunteer shift reminder
Sample Message 3Two-way support response
Privacy Policy URLridgelinecs.org/privacy
Support Contacthello@ridgelinecs.org

Why Rejections Happen (and How to Avoid Them)

Based on TCR’s published feedback and documented rejection patterns, here’s where submissions fall apart:

The description is a sentence. “We send appointment reminders to customers” is not a campaign description. Write a paragraph. Explain the organization, the recipient relationship, the consent mechanism, and the message types. The vetting system is looking for internal coherence — your description is the anchor it uses to evaluate everything else.

The sample messages don’t match the use case. If you registered for “Notifications/Alerts” and one of your samples is “Flash sale — 30% off this weekend only,” you’ve contradicted yourself. Use cases are categories. Your samples are evidence. They need to align.

The privacy policy doesn’t mention SMS. Adding a paragraph to your existing privacy policy takes twenty minutes and eliminates one of the most common single-field rejections.

The opt-in URL is broken or doesn’t show consent language. TCR’s vetting can visit the URL you provide. If the page is down, under construction, or the phone field exists without any disclosure language adjacent to it, that’s a rejection.

Brand information doesn’t match IRS records. If your legal name on file with the IRS is “Ridgeline Community Services, Inc.” and you register as “Ridgeline CS” — rejected. Copy-paste from your EIN documentation.

Embedded affiliate or reseller flags. If your campaign is actually sending messages on behalf of multiple brands or third-party clients, you need a different registration type. Mixed-use platforms have specific rules.


The Website Form (What It Should Look Like)

The opt-in disclosure adjacent to your phone field needs to be visible, specific, and not buried in a wall of legalese. Here’s what Ridgeline’s volunteer registration form looks like around the phone number input:

Mobile Phone Number (optional)
[ _________________________ ]

☐ I agree to receive text messages from Ridgeline Community Services 
regarding volunteer scheduling and related updates. Message and data 
rates may apply. Message frequency varies. Reply STOP to opt out, 
HELP for help.

Privacy Policy & Messaging Terms: ridgelinecs.org/privacy

The checkbox cannot be pre-checked. The disclosure must appear immediately adjacent to the phone field — not two scroll-lengths down under the submit button. If a user could submit the form without seeing the consent language, your opt-in is legally questionable regardless of what you wrote in your TCR registration.


A Note on Costs and Timing

At 35 dollars per campaign submission on platforms like RingCentral, the math on rejections gets painful fast. A single resubmission doubles your cost for that campaign. Two rejections and you’ve paid 70 dollars before you’ve sent a single message.

Brand registration has its own fee structure (typically a one-time charge, separate from campaign fees). The campaign fee is recurring — annual on most platforms. Some platforms charge additional monthly vetting fees on top of the registration cost.

The timeline for a clean submission: brand approval in one to three business days, campaign approval in two to seven business days. If you need SMS operational by a specific date, give yourself three weeks of runway. Rushing the submission to meet a deadline is how you end up with vague descriptions and mismatched samples.


Closing Thoughts

The TCR registration system isn’t designed to be punitive — it’s designed to confirm that you’ve done the consent and compliance work correctly before the carriers commit to delivering your traffic. The frustration comes from an opaque process, non-refundable fees, and feedback that often doesn’t tell you exactly what failed.

The antidote is specificity. Write descriptions that actually describe things. Show consent flows that actually show consent. Submit sample messages that actually represent your traffic. When the vetting system — automated or otherwise — can follow the thread from your opt-in URL to your privacy policy to your sample messages and find a coherent picture, approval follows.

Ridgeline Community Services is fictional. The registration above is not. If this saves you a $35 resubmission fee, the waypoint did its job.


Quick Reference Checklist

Before you submit, verify:

  • Brand legal name matches IRS EIN documentation exactly
  • Website is live, loads over HTTPS, and is not a template/placeholder
  • Campaign description is at least a paragraph — names the org, recipients, consent mechanism, and message types
  • Opt-in URL resolves and shows consent language adjacent to the phone field
  • Checkbox is unchecked by default and must be actively selected
  • Privacy policy is publicly accessible at a stable HTTPS URL
  • Privacy policy contains an SMS/text messaging section
  • All three sample messages start with your brand name
  • All sample messages contain STOP opt-out language
  • Sample messages are consistent with your selected use case
  • HELP message includes a working support contact
  • Opt-out message confirms unsubscription and offers a path back (UNSTOP)
  • Support contact email is monitored

Content on north.engineer is for educational purposes. Nothing here constitutes legal advice. For TCPA compliance questions specific to your situation, consult a telecommunications attorney.