How Can We Help?

Best Practices for Text Messaging Cold Leads

You are here:
< All Topics

Understanding A2P 10DLC

What is A2P 10DLC?

A2P (Application-to-Person) 10DLC (10-Digit Long Code) is the standard US telecom carriers have implemented to regulate business SMS traffic sent through applications. Any message sent via your CRM is classified as A2P, regardless of volume.

The Three Registration Components

Before sending a single message from your CRM, you must complete all three:

Step Component What It Covers
1 Brand Registration Verifies WHO is sending the messages (your business identity, EIN, website)
2 Campaign Registration Defines WHAT type of messages you send (e.g., lead follow-up, notifications)
3 Number Assignment Links your CRM phone number(s) to your approved Campaign

⚠️ CRITICAL: All three steps must be completed BEFORE sending messages from your CRM. Sending messages without a verified Campaign will trigger carrier filtering and incur additional fees from Twilio.

Understanding Error Code 30007

What is Error 30007?

Error 30007 is Twilio’s “Message Filtered” error. It means your message was blocked before reaching the recipient — either by Twilio’s own systems or by the carrier’s spam filters. This results in zero delivery with no notification to the recipient.

Primary Causes of Error 30007

Content Issues Compliance Issues Volume & Technical Issues
  • Spam trigger words
  • Generic shortened URLs
  • Excessive emojis
  • Missing sender ID
  • ALL CAPS text
  • No opt-in consent obtained
  • Missing opt-out instructions
  • Purchased contact lists
  • Unregistered campaign type
  • Missing privacy policy
  • Too many sends per number/day
  • High spam complaint rates
  • Identical repetitive messages
  • Unregistered number used
  • Suspicious link redirects

⚠️ WARNING: Repeated 30007 errors can result in automatic DND (Do Not Disturb) status being applied to contacts, number deactivation by Twilio, or permanent account suspension. Address filtering errors immediately.

Consent & Opt-In Requirements

Why Consent is Non-Negotiable

Carrier filters are specifically designed to detect messages sent to recipients who have not consented. For cold leads in your CRM, this is the single most important compliance requirement. Texting without proper consent is the leading cause of 30007 errors and campaign deregistration.

Acceptable Consent Methods for Cold Leads

  • PREFERRED: Web/Online Opt-In
  • Standalone, unchecked checkbox on your website or landing page
  • Clear language: “By checking this box, you agree to receive SMS messages from [Company Name]. Reply STOP to opt out.”
  • Consent must NOT be bundled with Terms of Service acceptance
  • Verbal Opt-In:
  • Document date, time, and exact language used to obtain consent
  • Store records in your CRM with timestamps
  • Paper / QR Code Opt-In:
  • Physical forms must include the same disclosure language as web opt-in
  • Retain copies of all signed consent forms

REQUIRED: Your privacy policy must explicitly state: “No mobile information will be shared with third parties or affiliates for marketing or promotional purposes.” The absence of this language is a top cause of 10DLC campaign rejection.

What is NOT Acceptable Consent

  • Purchasing contact lists — even if the list provider claims opt-in was obtained
  • Scraped numbers from websites or directories
  • Assuming consent from a prior business relationship (for marketing messages)
  • Pre-checked opt-in boxes
  • Requiring opt-in as a condition of purchase or account creation

Message Content Best Practices

Anatomy of a Compliant Cold Lead Message

1. Sender ID Always open with your business name. Example: “Hi, this is Sarah from Acme Realty.”
2. Clear Purpose State why you are texting immediately. Never be vague or misleading.
3. Value Statement Briefly explain what’s in it for the recipient.
4. Call to Action One clear, simple next step. Avoid multiple competing CTAs.
5. Opt-Out Language End every first-contact message with: “Reply STOP to unsubscribe.”

Compliant Message Example

✅  COMPLIANT EXAMPLE

“Hi [First Name], this is Mike from Acme Realty. I noticed you were looking at homes in the Lincoln Park area. I have 3 new listings that match your criteria — want me to send them over? Reply STOP to unsubscribe.”

❌  NON-COMPLIANT EXAMPLE (Will Trigger 30007)

“CONGRATULATIONS!!! You’ve been selected for an EXCLUSIVE DEAL!!! Click now: bit.ly/xyz123 — LIMITED TIME OFFER!!!”

Words & Phrases to Avoid

The following terms are high-risk spam triggers that increase the likelihood of carrier filtering:

High-Risk Words Formatting Issues Link Issues
FREE, Win, Winner

Guaranteed, No risk

Urgent, Act now

Congratulations

Cash, Prize, Reward

100% free / No cost

Click here immediately

ALL CAPS sentences

Excessive !!! or ???

Multiple exclamation marks

Too many emojis (3+)

Dollar signs: $$$

Asterisks for emphasis ***

Mixed symbols @#$%

bit.ly, tinyurl.com

Generic Twilio short URLs

Links with 2+ redirects

Cloaked link destinations

Non-branded domains

HTTP (not HTTPS) links

IP address links

CRM Workflow Configuration

Setting up your CRM for compliant texting

CRM Setup Checklist

  Task Details
Verify A2P Registration Confirm your Brand and Campaign are VERIFIED status in Twilio Console before any sends
Assign Numbers to Campaign Every sending number must be linked to your approved Messaging Service
Tag Consent in CRM Add a custom field to track opt-in date, method, and source for each contact
Configure Opt-Out Handling Ensure STOP/UNSUBSCRIBE/QUIT/CANCEL/END replies auto-apply DND status
Set HELP Response Configure auto-reply to HELP: include company name, phone number, and opt-out instructions
Enable 30007 Monitoring Set up error alerts in your CRM dashboard for error code 30007 messages
Throttle Send Volume Do not exceed 200 messages per long-code number per day
Personalize First Message Ensure first outreach includes first name, your name, and your company

Managing Cold Lead Sequences

  • Send no more than 3 messages total to an unresponsive cold lead before removing from active campaigns
  • Space messages at least 24–48 hours apart — rapid-fire sequences trigger spam signals
  • Each message in a sequence must vary in content — identical repetitive messages are a major filter trigger
  • Immediately suppress any number that generates a STOP reply or a 30007 error from future sends
  • Clean your list monthly — remove numbers that have not engaged in 90+ days

Link & URL Guidelines

Safe linking practices for SMS campaigns

Links are one of the most scrutinized elements in SMS filtering. Follow these rules strictly:

URL Best Practices

  • Use your own branded domain (e.g., acmerealty.com/schedule) — not third-party shorteners
  • Ensure HTTPS is used on all linked pages
  • Limit redirects to one maximum — multi-hop redirects are a major red flag
  • Do not cloak or mask where a link leads — carriers check link destinations
  • If you must shorten a URL, use a branded shortener linked to your registered domain
  • Ensure linked pages are live and load quickly — dead links trigger suspicion

⚠️ IMPORTANT: Only use URLs that are directly associated with the domain you registered in your A2P Campaign. Sending links to domains not mentioned in your campaign registration can result in filtering even if all other content is compliant.

Responding to 30007 Errors

Diagnosis and remediation steps

Step-by-Step 30007 Remediation

Step 1 Do Not Retry Immediately

Retrying the same message to the same number will not resolve the filter and worsens your sender reputation.

Step 2 Identify the Pattern

Review the last 24–48 hours of sends. Are errors concentrated on specific numbers, message templates, or recipient carriers?

Step 3 Audit Your Message Content

Check for spam trigger words, missing sender identification, missing STOP language, and URL issues.

Step 4 Check Campaign Alignment

Verify your message type matches your registered campaign use case. Marketing messages sent on a transactional campaign will be filtered.

Step 5 Review Send Volume

Check if you exceeded throughput limits for your campaign tier or sent too many messages per number per day.

Step 6 Contact Support

If messages appear compliant but continue to fail: collect 3+ Message SIDs with error 30007 from the last 7 days and submit to Twilio Support.

✔ TIP: Proactively monitor your CRM’s message delivery reports weekly. A 30007 rate above 3% on any sending number is a signal to pause, audit, and remediate before carriers escalate to number deactivation.

Forbidden Content Categories

What you can never send via A2P 10DLC

The following content types will result in immediate campaign rejection or account termination, regardless of other compliance measures:

Absolutely Forbidden High-Risk / Often Rejected
  • SHAFT: Sex, Hate, Alcohol, Firearms, Tobacco
  • Cannabis/marijuana (even in legal states)
  • Phishing, fraud, or deceptive content
  • High-risk financial services (payday loans)
  • Debt collection
  • Multi-level marketing / pyramid schemes
  • Credit repair / debt relief schemes
  • Unsolicited marketing to purchased lists
  • Affiliate/lead-gen marketing without disclosure
  • Sweepstakes or prize promotions
  • Cryptocurrency promotion
  • Political campaigning (requires special campaign type)
  • Charity solicitations (requires special campaign type)

QUICK REFERENCE CARD

Keep this checklist visible when sending campaigns

✅ ALWAYS DO ❌ NEVER DO
  • Obtain explicit written consent before texting
  • Identify yourself and your company in every message
  • Include “Reply STOP to unsubscribe” in first message
  • Use your branded domain for all links (HTTPS)
  • Vary message content across sequences
  • Monitor delivery reports weekly
  • Honor STOP requests within 10 minutes
  • Keep all sends under 200/number/day
  • Match message content to your registered campaign
  • Maintain consent records in your CRM
  • Text purchased or scraped contact lists
  • Use generic URL shorteners (bit.ly, etc.)
  • Send repetitive identical messages
  • Use ALL CAPS or excessive punctuation
  • Include spam trigger words
  • Exceed your campaign’s approved use case
  • Retry a 30007 error message immediately
  • Ignore STOP/DND responses
  • Send during off-hours (before 8am/after 9pm local)
  • Share or sell mobile numbers to third parties

RESOURCES

Twilio A2P 10DLC Docs: https://www.twilio.com/docs/messaging/compliance/a2p-10dlc

Twilio Error 30007 Guide: support.twilio.com → search “30007”

CTIA Messaging Best Practices: ctia.org/resource-library/resources/messaging-principles-and-best-practices

Twilio Acceptable Use Policy: twilio.com/legal/aup

Table of Contents