Missed-call text-back is the first thing I set up for a contractor. Somebody calls, you are on a roof, the call goes unanswered, and a few seconds later they get a text from your business number asking how you can help. I have written about how it works and what a missed call costs. What I have not written about is the part nobody selling it mentions: before one text goes out, the carriers have to approve you.

That approval is called A2P 10DLC registration. It is a brand (who is sending) and a campaign (what you send, and how people agreed to get it). My own was rejected twice. Here is what happened, in the order it happened.

July: I registered as a sole proprietor

In July I registered DJH & Co as a sole proprietor brand through the texting platform I use. At the time the business ran under my own name. The brand was approved. The campaign, the part that actually lets messages send, went into review.

August 3: rejected for the name

On August 3 the campaign came back rejected, with Twilio error 30915. The reason given was that a business name had been used where the individual's name was required. I had filled in the campaign description and sample messages as "DJH & Co." For a sole proprietor, the carriers wanted the person: Dennis J Hendrickson Jr, with the Jr, exactly as on the brand.

Twilio's error page for 30915 spells out the logic. Sole proprietor registration is only for businesses with no EIN, and one of the listed causes is a submission that mixes sole proprietor details with business entity details.1 That was me. A person's brand, with a company's name all over the campaign.

I rewrote all four fields that day with my full legal name: the use case description, both sample messages, and the opt-in message, which still said "DJH & Co:" at the start and would have failed again on its own. I also replaced a weak line in the opt-in description with the exact checkbox wording from the form on our watch page, so a reviewer could match the two. Then I resubmitted.

The carriers do not read your registration like a customer. They string-match it.

The second rejection: the consent form

When I checked the Trust Center on October 19, the brand was still approved and the campaign had been rejected a second time, for message flow: reviewers had issues verifying the call to action. In plain English, they could not confirm how people agree to get our texts.

Twilio's page for that kind of rejection lists what reviewers look at: every way people opt in, described in one place; a privacy policy and terms link; message frequency and "message and data rates may apply"; and an opt-in they can actually see on a public page with no login.2

Most of that was right. The form is public, the two consent boxes are separate and unchecked, and the privacy policy and terms were linked. But reading the page the way a reviewer would, I found the problem. Right under two optional checkboxes, a sentence said that by submitting the form you agree to receive texts. So which is it? Optional boxes, or agreement by hitting submit? A reviewer reading that has every reason to say they cannot verify consent. On October 19 I replaced it with a line saying texts are sent only if you check a box above.

The real fix: the right kind of registration

By then the business had changed under the registration. Our LLC was reinstated on September 29, and the IRS issued an EIN with a letter dated September 30. An EIN costs nothing; the IRS issues it online, free, immediately if approved.4 And once you have an EIN, Twilio is clear that you are not eligible for a sole proprietor brand. You register as a Standard brand.3

One small detail almost slipped past. The state's business record writes our name with a comma before LLC. The IRS letter has no comma: DJH & COMPANY LLC. Carriers match the brand against the tax record, so the IRS letter wins. On October 19 and 20 I changed the website to match it exactly: the footer on every page, the privacy policy, the terms, and every consent line on the form.

As I write this on October 22, the Standard brand is the next step, and it is not approved yet. I will not say it is until it is.

What I would do differently

What to check before you pay for text-back

Whether you build it yourself or buy it from someone, including me, run through this list.

  1. Do you have an EIN? If yes, you register as a Standard brand under the exact legal name on your IRS letter. If no, you register as a sole proprietor under your own name. Twilio's sole proprietor guide also says a sole proprietor campaign can only have one phone number attached.3 If you run two lines, that matters.
  2. Pull out your IRS letter and compare, character by character. Commas, "Inc." versus "Inc", "and" versus "&". The same name goes on the registration, your website footer, your privacy policy, your terms and every consent line.
  3. Find the place people agree to your texts. It has to be a public page a reviewer can open, with frequency, "msg and data rates may apply," STOP and HELP, and links to privacy and terms.2 If your provider cannot show you that page, ask why.
  4. Read that page top to bottom for contradictions. Optional boxes and a "you agree by submitting" line cannot live on the same form.
  5. List every way people get on your list. Twilio says every opt-in path has to be described in the same submission.2 We found one of ours had no text consent at all: our Facebook lead form never asked for it, so those leads get email only.
  6. Ask what happens before approval. If the answer is "the texts just go out," that is a problem. If it is "they wait, and email covers it," good.

None of this is hard. It is fussy, and it is the kind of fussy that stops a plumber or an HVAC company from ever getting the text-back they paid for. Getting the registration right, and keeping the website's name, privacy policy and consent lines matched to it, is part of what I set up for every client, whether you work in Sarasota or anywhere on our service map. $297 a month, no contract, and the site is built before you pay. And if your own text-back has been "pending" for weeks, check the Trust Center. Mine said rejected.

Want this built for you?

I build the website by hand, free. You don't pay a dollar until it's live and you like it, then it's $297/mo, no contract, cancel anytime. Or just get the next post in your inbox.

  1. 1. Twilio Docs, Error 30915: Sole Proprietor classification is invalid. Sole proprietor registration is only for businesses without an EIN; mixing sole proprietor and business entity details causes this rejection. https://www.twilio.com/docs/api/errors/30915
  2. 2. Twilio Docs, Error 30909: Campaign rejected, Message Flow or Call to Action incomplete or unverified. What campaign reviewers check. https://www.twilio.com/docs/api/errors/30909
  3. 3. Twilio Docs, Direct Sole Proprietor Registration Overview: who qualifies, and the one-number limit on a sole proprietor campaign. https://www.twilio.com/docs/messaging/compliance/a2p-10dlc/direct-sole-proprietor-registration-overview
  4. 4. Internal Revenue Service, Get an employer identification number: apply online, free, issued immediately if approved. https://www.irs.gov/businesses/small-businesses-self-employed/get-an-employer-identification-number