Customer text messaging is the default channel for B2B distribution operations now. Order status updates, delivery confirmations, back-in-stock alerts, payment reminders, quote follow-ups: every one of these is a text the customer would rather get than an email. The CRMs that have shipped messaging in the last two years are catching up to that reality.
What is not caught up is the carrier-compliance side. The US wireless carriers run an enforcement regime called 10DLC (10-digit long-code messaging) that determines whether your text actually reaches the customer, gets silently filtered, or triggers a carrier fine that lands in your messaging vendor's portal. WhatsApp Business runs an equivalent but stricter approval process for its own surface. Both are easy to get wrong in ways that are invisible until they are catastrophic.
This post walks through what 10DLC and WhatsApp actually require, what the failure modes look like, and what operational habits keep messaging deliverability high for a distributor.
What 10DLC is and why it exists
10DLC is a registration program run by The Campaign Registry on behalf of the US carriers (T-Mobile, AT&T, Verizon, and the smaller MVNOs that piggyback on them). Every business that wants to send application-to-person (A2P) text messages from a 10-digit US phone number has to register two things:
- The brand. Your business: legal name, EIN, registered address, the human responsible. This produces a Brand Score (0-100) that loosely tracks how trustworthy the carriers think you are. Higher score means higher daily throughput allowance.
- The campaigns. Each kind of message you intend to send: order updates, delivery alerts, marketing promos, two-factor codes. Each campaign has a use case, sample messages, and an opt-in flow. Campaigns are reviewed, sometimes approved in minutes, sometimes flagged for additional information.
Once both are registered, your phone numbers are mapped to specific campaigns. Messages sent from a registered number under an approved campaign go through. Messages sent from an unregistered number get silently filtered by T-Mobile (it never reaches the customer; you do not get an error). Messages sent under a misclassified campaign (promotional content under a transactional campaign) accumulate carrier reports that lower your Brand Score, which lowers your throughput, which eventually triggers fines or termination.
The system rewards three things: an accurate brand registration, a small number of cleanly-scoped campaigns, and rigorous opt-in handling. It punishes the opposite: vague brand info, one giant "everything" campaign, and consent that does not match the use case.
What a distributor actually needs
Distributors typically need two or three campaigns:
- Order operations (transactional). Order confirmations, shipment notifications, delivery confirmations, back-orders. High-volume, low-controversy, easy to approve.
- Customer support (conversational). Two-way replies to support questions, ticket updates from cases the rep created. Moderate volume.
- Marketing / promotions (optional, marketing). Net-new product announcements, promotional offers. Lower throughput, stricter opt-in requirements. Many distributors skip this campaign entirely and use email for marketing.
The mistake most teams make is registering one giant campaign that covers all three. The Campaign Registry generally approves it, but T-Mobile downgrades the Brand Score because the campaign's use case is too broad to be trusted, which lowers daily throughput across the board. Two or three narrow campaigns outperform one wide one.
Opt-in: the part everyone gets wrong
The single most common 10DLC violation is sending a message to a customer who did not opt in to that specific campaign. "We've been emailing them for years" is not opt-in. "Their account in the ERP has a mobile number" is not opt-in. "They texted us once" is opt-in for replies but not for outbound campaigns.
What counts as opt-in:
- Explicit web form. The customer entered their mobile number on a form that explicitly described the kind of messages they would receive, with a checkbox or clear consent language. Best.
- Keyword opt-in. The customer texted a keyword (e.g. "ORDERS" to your number) in response to a printed or emailed CTA. Good for transactional campaigns.
- Verbal opt-in with logged confirmation. A rep asked on a call, the customer agreed, the rep logged the consent in the CRM with a timestamp. Acceptable, weaker.
- Existing business relationship. Generally not sufficient on its own for outbound 10DLC traffic. You may be allowed to send a one-time message asking for opt-in.
What the CRM has to do, mechanically:
- Store the opt-in event with timestamp, source, and campaign, not just a boolean. Factory CRM tracks this on the contact record with a per-campaign consent log.
- Honor STOP, UNSUBSCRIBE, CANCEL, END, QUIT replies automatically and irreversibly. The carriers test this; if you do not honor opt-out, you will get a violation report within days.
- Surface opt-in status in the UI so a rep cannot accidentally text a customer who has not consented. Factory's contact view shows the consent state per channel prominently.
We document the operational side of this in our /sms-consent policy, which is the canonical version reviewers (10DLC reviewers and carrier compliance teams) will look for.
What "good" deliverability looks like
A well-registered 10DLC setup at a distributor should see:
- Message delivery rate above 97% on T-Mobile (the strictest carrier) and above 99% on AT&T / Verizon.
- Opt-out rate under 2% on transactional campaigns, under 5% on marketing.
- Zero carrier violation reports per quarter.
- Brand Score 75+ (the threshold above which Tier 1 throughput unlocks, generally 10,000+ messages per day).
If any of those numbers drift, the cause is almost always one of: a campaign was retroactively reclassified by the carrier; an opt-in flow regressed (a marketing form stopped showing the consent language); a workflow started sending to an opted-out segment by accident; or a Brand Score downgrade was triggered by a customer complaint that the team did not see.
The CRM has to make these signals visible. Factory surfaces deliverability per campaign in the Messaging analytics view, and tags opt-outs with the originating message so the team can identify which workflow is producing them.
WhatsApp Business Platform: similar but stricter
WhatsApp is structurally similar to 10DLC but with different enforcement and a different approval process. The high-level differences:
- Business verification by Meta. WhatsApp requires Meta Business verification, which is a corporate-identity check (legal name, address, official email domain, sometimes phone). For most distributors, this is a one-time hour-long process. For some (particularly distributors operating as DBAs of a parent entity) it is more involved.
- Phone-number registration. Each WhatsApp Business number is registered with Meta. The number cannot be in use on a regular WhatsApp account; the verification process moves it from consumer WhatsApp to Business API permanently.
- Template messages for outbound. WhatsApp does not let you send arbitrary outbound messages to customers, only pre-approved templates. Templates are submitted to Meta, reviewed (often within hours, sometimes days), and tagged as transactional, marketing, or authentication. The template + tag determines pricing.
- Conversation pricing. WhatsApp charges per 24-hour conversation window, not per message. A conversation initiated by the customer is cheaper than one initiated by your business. Marketing conversations are more expensive than utility conversations.
The operational habits that keep WhatsApp working:
- Pre-approve all templates. A workflow that tries to send an unapproved template fails silently from the customer's perspective. Test every template before enabling it in production.
- Keep the template library small. A dozen well-scoped templates beat fifty narrow ones, because each one has to be reviewed and maintained.
- Use customer-initiated conversations. When a customer texts in (e.g. asks about an order), the 24-hour window opens and you can send freely. Workflows that surface customer-initiated conversations to reps are cheaper than ones that initiate outbound conversations.
- Tag conversations correctly. A marketing message sent under a utility template is a policy violation. Meta enforces this aggressively.
Factory's WhatsApp integration handles template management, approval status, and pricing tier surfacing inside the conversation view. We default to the small-template-library pattern because the alternative is a maintenance burden that grows with the team.
What changes the moment you cross the threshold
A common failure mode: a distributor that has been sending 200 transactional messages per day quietly grows to 2,000 per day as more workflows ship. Around 1,000 per day, T-Mobile starts paying attention. Around 2,000, if the brand registration is weak or campaigns are misclassified, deliverability drops without an obvious cause. The team blames the messaging vendor; the vendor points at the brand registration; nobody is wrong.
The mitigation is to be over-prepared on registration before the volume grows. Specifically:
- Brand verification, not just registration. The Campaign Registry offers a vetted brand status (Standard vs. Verified) that requires a paid verification step. Verified gets you a higher starting throughput and faster carrier appeals. For a distributor with growth plans, it pays for itself.
- Tier-2 throughput campaigns from day one. Even if you start at 200/day, register the campaign for the throughput you expect at 12 months out. Re-registering at a higher tier later requires a re-approval cycle that can take weeks.
- Quarterly opt-in audit. Once per quarter, run a report of contacts who have received messages in the last 90 days and check that each has a logged opt-in event for the relevant campaign. Anomalies usually point at a workflow that drifted.
The bottom line
10DLC and WhatsApp are not optional infrastructure for a B2B distributor texting customers. They are the wire-format compliance that determines whether your messages reach the customer at all. The compliance is mostly invisible until it is not, and by the time deliverability drops, the cause is often eight weeks upstream.
The CRM has a role here: it has to make consent first-class, it has to surface deliverability, and it has to enforce template / campaign correctness at workflow build time, not at send time. The Factory Labs messaging stack is built around these constraints; the omnichannel page walks through what that looks like for the team using it.
If you are setting this up for the first time and want a walkthrough, the Factory Labs onboarding flow includes the 10DLC and WhatsApp registration steps as guided forms, and our support team has done the carrier-side work enough times to know which fields trip up which reviewers.