Skip to content
OptinStamp
Menu

10DLC registration checklist for your brand and campaign

33 items, 17 for every setupRequirements read 2026-10-22Runs in your browser

Tell the checklist who is registering, what you will text and how people sign up, and it lists everything your texting provider will ask for to register the brand and the campaign, each with the reason a reviewer rejects it when it is missing. Tick items as they are ready, fill in your URLs, then copy or print the record before you submit. Nothing you type or tick leaves this page.

What the checklist covers

10DLC registration has two halves. The brand says who is sending: the legal name, tax ID, address and contact, checked against public records. The campaign says what you send and how people agreed to it: the use case, a description, sample messages, the opt-in flow and the HELP and STOP replies. You do not file either with The Campaign Registry yourself. In TCR's words, “direct registration with TCR is not available for Brands. Instead, you must work with one of the registered messaging service providers (CSP)”, so your texting platform or carrier API submits both. The what is 10DLC guide explains the system, and 10DLC vs toll-free vs short code covers the other routes.

Each item comes from a provider's own published requirements, read on 2026-10-22: Twilio's field reference and its campaign error pages, Bandwidth's brand guide, vetting tips and list of rejection codes, and Telnyx's 10DLC troubleshooting notes. Underneath them sits CTIA's Messaging Principles, which ask that a call-to-action tell people the program, the sending number, who is texting, any fees, and how to opt out and get help (§ 5.1.1). The CTIA messaging guidelines guide reads them in full.

Reviewers read the registration as one story. Twilio says it compares the website, the campaign description, the opt-in flow and the sample messages “to confirm that they all identify the same sender and the same messaging use case” (error 30907). Many of the codes below are a mismatch between two of those fields, which is why the checklist asks for the brand name in every sample and the same domain for the website, privacy policy and terms. Registration approval is a carrier rule, not the law: TCPA rules for text messages and prior express written consent still apply to every text.

Worked example: four businesses, four checklists

Every setup gets 17 common items, and every business with an EIN adds 3 tax-ID items; the last column is what the setup itself adds. The table is built by the same function the checklist runs. A sole proprietor swaps the tax-ID items for the passcode phone, an online store adds the keyword and written-consent items, and a listed company adds the brand-contact email check.

Four businesses and the 10DLC checklist items their setup adds to the common ones
BusinessBrandUse caseOpt-in pathsItems (common + EIN + setup)Added by this setup
Dental office (LLC)Private company with an EINMixed (several use cases)Website form, Paper form or in store27 = 17 + 3 + 7Frequency and rates in the policy, A sample per sub-use case, Links on your own domain, Phone number in a sample, Form URL, unticked box, Hosted screenshot, Written consent for promotions
Online store (corporation)Private company with an EINMarketingWebsite form, Text a keyword25 = 17 + 3 + 5Frequency and rates in the policy, Links on your own domain, Form URL, unticked box, Keyword and where it is shown, Written consent for promotions
Plumber, no EINSole proprietor, no EINSole proprietorVerbal (phone or in person)20 = 17 + 0 + 3Mobile for the passcode, No EIN confirmed, Verbal script
Listed clinic groupPublic company (listed)Account notificationsInside an app or behind a login23 = 17 + 3 + 32FA contact email, Links on your own domain, Hosted screenshot

Brand first, then campaign: the filing order

Providers walk the same sequence, and a failure at one step blocks the next. Twilio's order for a registration through its API is below; console and other providers follow the same shape.

  1. 01

    Business profile

    The brand's details go into a customer profile first (Twilio: a Starter Profile for a sole proprietor, a Standard Profile otherwise). Brand fixes are made here, not on the brand.

  2. 02

    Trust bundle

    Twilio wraps the profile in an A2P trust bundle; other providers fold this into the brand form.

  3. 03

    Brand

    Checked against tax and business records. Twilio: most finish within a few minutes, a few take more than seven days. Bandwidth: verified or unverified within an hour.

  4. 04

    Campaign

    One use case per campaign; a sole proprietor brand gets one campaign. Twilio: Standard campaigns pass several layers of vetting, which can take up to several weeks.

  5. 05

    Phone numbers

    Numbers are linked after approval, and that registration is not instant. A sole proprietor campaign sends from one number.

If the brand fails, compare every field with the IRS letter and fix the profile, then resubmit. Twilio allows three free brand resubmissions; when the details already match (often a new EIN that has not reached the databases yet), the route is an appeal with the CP 575 or 147C letter, which Bandwidth also asks for.

If the campaign fails, edit it and resubmit rather than deleting it. Twilio notes a brand cannot be edited while a campaign is attached, so a brand problem means deleting the campaign first and filing it again once the brand passes.

After approval, send what you registered. Twilio lists “campaign-to-traffic mismatch” and the sharing of opt-ins with affiliates among the reasons carriers suspend a campaign, and a suspended campaign cannot send. Adding promotions to an informational program means a campaign whose use case covers marketing.

NoteRegistration fees reach you through your provider, which sets its own brand, vetting and monthly campaign charges. The 10DLC registration cost calculator puts numbers on them.

The privacy policy line reviewers look for

Twilio and Bandwidth both list the privacy policy among their rejection reasons, and both read it for one promise: mobile numbers and texting consent are not shared with anyone else for their marketing.

Caution

Rejected (Twilio 30908): “We may share your personal information with third-party partners for marketing purposes.”

Note

Passes (Twilio's example): “We do not share, sell, or provide your mobile phone number or messaging consent data to third parties or affiliates for marketing or promotional purposes.”

Note

Bandwidth's suggested wording: “Mobile information will not be shared with third parties/affiliates for marketing/promotional purposes. All the above categories exclude text messaging originator opt-in data and consent; this information will not be shared with any third parties.”

Bandwidth adds that sharing data a business needs to operate is allowed; what reviewers reject is a policy that claims consent to pass numbers on for someone else's marketing. For a website opt-in, Twilio's accepted policies also give message frequency and the words “Message and data rates may apply,” and the policy must open without a login. Keep one policy: Twilio rejects registrations that point to several conflicting ones. The SMS privacy policy and terms generator writes the texting section, the opt-in language builder writes the consent wording for your form, and the STOP and HELP keywords guide covers the replies.

Read a rejection: Twilio and Bandwidth codes

Providers report the same problems under their own numbers. Find your code, fix the item it points to, and edit the failed campaign rather than deleting it: Twilio charges its vetting fee once per campaign and says editing keeps it from being charged twice. Two rows cannot be fixed by rewording; Twilio and Bandwidth both say the program itself has to change.

Common 10DLC campaign rejections with Twilio and Bandwidth codes and the checklist item that prevents each
RejectionTwilioBandwidthEdit and resubmit?Checklist item
Description vague or off the use case308863200YesCampaign description
Samples lack the brand, STOP, or a match with the use case308938100, 8101, 8102YesSample messages
Public link shortener in a sample308928201YesLinks on your own domain
Phone or link flag set, none in the samples308893109YesPhone number in a sample; links on your own domain
Opt-in path missing or vague30909, 309172100, 2132YesMessage flow
Consent wording lacks frequency, rates, HELP or STOP309242113–2118YesConsent wording at opt-in
SMS consent box pre-ticked or required309252131YesForm URL, unticked box
Opt-in page behind a login, no screenshot309212120YesHosted screenshot
Privacy policy missing or allows sharing30908, 309337100, 7103YesPrivacy policy, no sharing
HELP reply has no brand or contact308905109, 5110YesHELP reply
STOP reply incomplete308875100–5102YesSTOP reply
Website down, parked or not the brand's30891, 309071100–1103YesLive website
Affiliate marketing or lead generation308823102No: change the programConsent for this brand only
Prohibited content (sex, hate, alcohol and the rest)308834100No: change the programNothing prohibited on the site

Sources

Every requirement and rejection reason the checklist encodes, with the date it was read. Provider pages change; when your provider's form asks for something this list does not, the form wins. This is a registration aid, not legal advice.

  1. The Campaign Registry: Brands and CSPsfetched 2026-10-22
  2. CTIA Messaging Principles and Best Practices (May 2023), §§ 5.1–5.3fetched 2026-10-22
  3. Twilio: Programmable Messaging and A2P 10DLC (brand types)fetched 2026-10-22
  4. Twilio: A2P 10DLC, gather the required business informationfetched 2026-10-22
  5. Twilio: Troubleshooting Standard and Low-Volume Standard Brandsfetched 2026-10-22
  6. Twilio: Troubleshooting and rectifying Campaignsfetched 2026-10-22
  7. Twilio error 30881: Invalid Brand Support Emailfetched 2026-10-22
  8. Twilio error 30882: Terms & Conditionsfetched 2026-10-22
  9. Twilio error 30883: Content Violationfetched 2026-10-22
  10. Twilio error 30886: Invalid Campaign Descriptionfetched 2026-10-22
  11. Twilio error 30887: Opt-out Errorfetched 2026-10-22
  12. Twilio error 30889: Embedded Phone Numberfetched 2026-10-22
  13. Twilio error 30890: Subscriber Helpfetched 2026-10-22
  14. Twilio error 30891: Invalid Website URLfetched 2026-10-22
  15. Twilio error 30892: Public URL Shortenersfetched 2026-10-22
  16. Twilio error 30893: Sample Message and Use-casefetched 2026-10-22
  17. Twilio error 30896: Opt-in Errorfetched 2026-10-22
  18. Twilio error 30898: Excessive EINfetched 2026-10-22
  19. Twilio error 30907: Website URL Validation Issuefetched 2026-10-22
  20. Twilio error 30908: Compliant Privacy Policy Requiredfetched 2026-10-22
  21. Twilio error 30909: Message Flow or Call to Actionfetched 2026-10-22
  22. Twilio error 30910: Campaigns must be submitted in Englishfetched 2026-10-22
  23. Twilio error 30911: Duplicate template textfetched 2026-10-22
  24. Twilio error 30917: All opt-in methods must be describedfetched 2026-10-22
  25. Twilio error 30921: Website requires authenticationfetched 2026-10-22
  26. Twilio error 30924: Consent agreement languagefetched 2026-10-22
  27. Twilio error 30925: Opt-in must be unchecked by defaultfetched 2026-10-22
  28. Twilio error 30933: Privacy Policy URL is requiredfetched 2026-10-22
  29. Twilio error 30934: Terms and Conditions URL is requiredfetched 2026-10-22
  30. Bandwidth: How to register a brand for 10DLC (page dated 2026-06-10)fetched 2026-10-22
  31. Bandwidth: 10DLC campaign vetting tips and tricks (page dated 2026-04-20)fetched 2026-10-22
  32. Bandwidth: vetting rejection reasons (page dated 2026-09-18)fetched 2026-10-22
  33. Bandwidth: 10DLC fees (Authentication+ scope; page dated 2026-09-16)fetched 2026-10-22
  34. Telnyx: 10DLC quickstart and troubleshootingfetched 2026-10-22