← All Articles

A2P 10DLC Registration for Roofing Companies (2026 Guide)

A hailstorm rolls through, your canvassers pull 400 doors in two days, your office texts every homeowner who took a card — and almost nobody writes back. If those texts went out from an unregistered business number, most were blocked or filtered before they reached a single roof.

$4
brand registration, one-time
~$15
campaign vetting, one-time
$1.50–12
per month, by use case
days–weeks
vetting time — file before storm season
Bottom line up front
  • Register the brand and campaign before storm season — vetting takes days to weeks.
  • Write like a contractor: inspection scheduling and job status, never insurance-claim pitches.
  • 10DLC gets texts delivered; state storm-solicitation laws still control what you may say.

What A2P 10DLC is, in plain words

Your company legal name + EIN Brand $4 once who is texting Campaign ~$15 + monthly what you text, with samples → carriers see a registered sender and deliver instead of filtering

A2P means application-to-person: any text sent by software rather than a person tapping a phone. 10DLC is the 10-digit local number it comes from. AT&T, T-Mobile, and Verizon require every business texting from local numbers to register with The Campaign Registry (TCR): a Brand (who you are) and a Campaign (what you text, with real samples and your opt-in story). Registered traffic gets delivered; unregistered traffic gets treated like spam.

Why roofing gets filtered harder than most trades

Carrier spam filters learn from complaint reports, and post-storm roofing blasts generate complaints at industrial scale. “Your roof may qualify for a FREE replacement through your insurance” is one of the most-reported message patterns in the country, so roofing vocabulary — storm, hail, claim, free inspection, insurance — gets extra scrutiny even on registered numbers. A legitimate roofing sales operation has to register and write like a contractor, not a claim-farming operation.

There is also a legal layer 10DLC does not touch: Florida, Texas, and Louisiana restrict contractor solicitation tied to insurance claims. Before texting a storm-hit zip code, read our guide to storm-solicitation laws in FL, TX, and LA and the state SMS rules hub.

Step 1: Register your brand — $4, one-time

Registration goes through your messaging provider (Twilio, Telnyx, Bandwidth), which files with TCR. Have ready:

  1. Legal entity name matching your IRS records exactly. “Apex Roofing & Restoration LLC,” not the yard-sign version. EIN/name mismatch is the top brand failure.
  2. EIN. Each LLC that sends texts needs its own brand.
  3. Business address and a real website with a phone number and a privacy policy.
  4. Company-domain email. Not a Gmail.

Solo operators without an EIN can register as Sole Proprietor, but that tier is capped around 1,000 messages a day and filtered hardest. If you sell under an entity, register the entity.

Step 2: Register your campaign — ~$15 vetting + $1.50–12/month

This is where roofers get rejected. Most roofing companies under about 2,000 messages a day fit Low Volume Mixed (roughly $1.50 to $2 a month); Marketing or Mixed runs about $10 to $12. A campaign description that passes:

“Apex Roofing sends inspection scheduling confirmations, estimate delivery, follow-ups after in-person visits, and job-status updates to homeowners who requested an inspection via our website or from a company representative in person. Recipients opt in at the time of the request. All messages identify Apex Roofing and include opt-out instructions.”

Notice what that description is not: it is not “we contact homeowners in storm-affected areas about insurance claim opportunities.” That sentence is a rejection, and in some states it is also a confession.

Sample messages that pass vetting

What to submit — and send
Hi [FirstName], it's Mike with Apex Roofing. Confirming your roof inspection [Date] at [Time]. I'll text when I'm 20 min out. Reply STOP to opt out.
✓ Transactional, identifies the company, opt-out included
Apex Roofing: [FirstName], your estimate is ready: [link]. It covers the full tear-off and the decking repair we talked about. Questions? Just reply. Reply STOP to opt out.
✓ Job-specific detail, zero urgency language
Hi [FirstName], materials land Thursday and the crew starts Friday 7am. I'll be on site. — Mike, Apex Roofing
✓ Job-status update — the use case vetters approve all day
What gets rejected — and reported
Don't send thisURGENT: Hail damage detected in your area! Your insurance may owe you a FREE ROOF. Claim your free inspection now: bit.ly/xyz
✗ “FREE” + urgency + an insurance promise + a link shortener — every trigger vetters look for, in one message

First message of any thread or blast carries the compliance footer: “Apex Roofing. Msg & data rates may apply. Msg frequency varies. Reply HELP for help, STOP to opt out.” Opt-outs (STOP, CANCEL, QUIT) must suppress the number immediately and permanently — your provider catches the keyword; your CRM must never queue that number again.

Five gotchas that only hit roofers

Insurance-claim language

Samples that promise or imply insurance outcomes (“your claim may cover full replacement,” “we waive your deductible”) fail vetting. Deductible-waiver offers are also illegal in several states.

“Free roof” and “free inspection” claims

“Free” plus urgency is the classic spam signature. “No-obligation inspection” reads cleaner to vetters and homeowners alike.

Storm-chasing volume spikes

A registered number that jumps from 50 texts a day to 2,000 the morning after a storm looks like every spam operation the filters were trained on.

THE MORNING AFTER THE STORM ✗ spike flag RAMPED OVER SEVERAL DAYS ✓ delivered Same follow-ups, same storm — the filters only see the pacing.
Solicitation laws are separate

Florida 489.147, Texas 4102.163, and Louisiana 45:844.11 restrict claim-related solicitation regardless of your 10DLC status. Registered spam is still spam — and in those states, an actionable violation.

Door-knock lists are not opt-in lists

“Homeowner requested inspection and gave their number to a rep” is opt-in; “we canvassed the neighborhood” is not. That satisfies the campaign form — automated marketing texts additionally need prior express written consent, covered in the storm-solicitation guide.

What your trust score buys: throughput by tier

Trust score (approx.)TierT-Mobile daily capRoofing reality check
75 to 100Top~200,000/dayNational storm-response outfits
50 to 74Upper-mid~40,000/dayMulti-market restoration companies
25 to 49Lower-mid~10,000/dayWhere most regional roofers land; plenty
0 to 24Low~2,000/dayNew brands; enough until a big storm week
Sole ProprietorBottom~1,000/dayHeavy filtering — avoid if you have an EIN

TCR scores your brand 0 to 100; T-Mobile enforces published daily caps, AT&T rate-limits per minute, Verizon filters on reputation. If a storm week will push past your cap, external vetting (roughly $40 one-time) can raise a low score — or spread sends across additional registered numbers instead of spiking one.

Skip it and your storm follow-ups silently vanish

On Twilio, unregistered US-bound traffic dies at the API with error 30034 (“message from an unregistered number”). On providers that let it through, carriers filter it silently — and every filtered message drags the number’s reputation lower, so by the time you register you may be ramping a burned number back from zero. Our Twilio deliverability guide covers diagnosing that spiral.

Registration is roughly $20 up front and a few dollars a month; one storm’s worth of blocked follow-ups costs more. The mechanics are identical if you also sell solar or run a pest control route — same brand-then-campaign process, different samples.

Or let the number come pre-registered

FollowUp handles this for roofing teams out of the box: the Autopilot tier includes a dedicated 10DLC-registered business number, with opt-outs and quiet hours enforced automatically. No TCR paperwork, no vetting wait, no error 30034 — registered before the next storm, not after it.

Frequently asked questions

Do roofing companies need A2P 10DLC registration to text customers?

Yes. Any roofing contractor sending business SMS to US numbers from a 10-digit local number through software must register a brand and campaign with The Campaign Registry. In 2026, unregistered roofing traffic is blocked by Twilio with error 30034 and filtered by AT&T, T-Mobile, and Verizon.

How much does 10DLC cost for a roofing contractor?

Brand registration is $4 one-time. Campaign registration costs approximately $15 in one-time vetting plus roughly $1.50 to $12 per month depending on use case. Most roofing companies fit Low Volume Mixed (about $1.50 to $2 per month) or Mixed (about $10 per month). Carriers add small per-segment A2P surcharges on top.

Can roofers text storm leads after a hurricane?

10DLC registration gets your texts delivered, but state storm-solicitation laws control whether you may solicit at all. Florida (489.147), Texas (4102.163/4102.151), and Louisiana (45:844.11) restrict contractor solicitation tied to insurance claims and disasters. Registration is not permission; check the state rules before texting storm-damaged zip codes.

Why do roofing SMS campaigns get rejected in vetting?

Common triggers: “free roof” or “free inspection” claims in sample messages, insurance-claim language that reads like claim solicitation, campaign descriptions that sound like storm-chasing lead generation, missing opt-out language in samples, and no described opt-in flow. Rewrite the samples as inspection scheduling and job-status updates and resubmit.

Will a volume spike after a storm get my number flagged?

It can. Carrier reputation models watch for sudden spikes, and a number that goes from 50 texts a day to 2,000 the day after a hailstorm looks like a spam operation even when registered. Ramp volume over days, spread sends across the day, and stay within the daily cap for your trust tier.

This is a general summary, not legal advice.