company logo

Help Center

Go to Aesthetix CRM
Terms & ConditionsPrivacy Policy
All collectionsPhoneSMS & MessagingSMS Deliverability & Troubleshooting

SMS Deliverability & Troubleshooting

Improve SMS deliverability in Aesthetix CRM: avoid carrier restrictions, fix failed texts, error codes, opt-out and error-rate thresholds, A2P, troubleshooting.

Text messaging is one of the most effective ways to reach patients, but messages only help when they actually arrive. This guide explains how to keep your SMS deliverability high, avoid carrier restrictions and suspensions, and troubleshoot messages that fail or don't show up. Aesthetix CRM's phone system runs on native Twilio, so the practices and error codes below reflect how Twilio and the mobile carriers handle your traffic.


How Message Delivery Works

When you send a text from Aesthetix CRM, it travels through several layers before it reaches a patient's phone:

  1. The Aesthetix CRM layer — the message is composed and queued (checked against Do Not Disturb status, sending limits, and account standing).

  2. The Twilio layer — the message is processed and routed by the underlying carrier platform.

  3. The carrier network layer — the recipient's mobile carrier accepts, filters, or delivers the message.

If a message fails at any layer, it may never reach the recipient. The sections below show how to spot where it went wrong and how to fix it.


Where to Find Error Messages

If a message didn't go through, start in your Conversations view. When a message fails to send or deliver, Aesthetix CRM displays an error directly in the conversation thread. The error message and error code give you the clues you need to diagnose and fix the problem using the tables further down in this guide.


Common Reasons Messages Fail (and How to Fix Them)

At the Aesthetix CRM layer

Issue

Cause

Fix

Contact has DND (Do Not Disturb) enabled

When DND is enabled for a contact—on the SMS channel or overall—Aesthetix CRM does not send the message and shows an error in the conversation.

Remove the DND status from the contact to resume sending.

Account is new and ramping up

New accounts have message volume limited to prevent spam, with limits increasing automatically over time.

Wait for limits to increase, or contact support to request a review.

Daily message limit reached

Each account has a daily message limit. Bulk and automated messages stop once the limit is hit, though individual replies can still go out.

Wait until the next day, or contact support to adjust your limit.

Sending suspended for high errors, opt-outs, or complaints

Accounts that exceed error, opt-out, or complaint thresholds have sending temporarily suspended. Messages attempted during a suspension are skipped and show an error.

Follow the deliverability best practices in this guide, then contact support if needed.

At the Twilio layer

Error

Cause

Fix

Number is on Twilio's DND list

The number opted out previously or generated a carrier complaint, so messages fail until the contact opts back in.

The contact must text START to your number to re-enable messaging.

30001: Queue Overflow

Messages queue based on your sending rate. If a message sits in the queue longer than about 4 hours, it fails.

Reduce the volume sent in short bursts so messages clear the queue faster.

30002: Suspended Account

The message fails if the account is suspended between queuing and sending.

Contact support to resolve the suspension.

At the carrier network layer

Error

Cause

Fix

30003: Unreachable Handset

The recipient's phone may be off, out of signal, a landline, or there may be a carrier issue.

Retry later, and verify the number is a reachable mobile line.

30004: Message Blocked

The destination number is blocked, can't receive the message (e.g., a landline), is on a Do Not Call registry, has a carrier issue, or previously opted out of a toll-free number.

Confirm the number is valid and opted in. Avoid sending to blocked or DND numbers.

30007: Carrier Filtering

The carrier flagged and filtered the message, often due to content patterns, shortened URLs, or prior sending behavior.

Review your message content and follow the best practices below.

Attachment File Too Large

The file exceeds carrier size limits for MMS.

Reduce the attachment size and resend.

International Geo Permissions

Your account may not have permission to send to that country.

Contact support to enable the destination country.

Message Body Too Long

A message—often one built from a custom value such as a full inbound email pasted into {{message.body}}—exceeds the 1,600-character limit.

Trim the message, or adjust the automation so it doesn't insert oversized custom values.

Note: You may be charged once a message is attempted, even if it later fails downstream.


Quick Checklist Before You Send

  • Check Conversations for any red error badge.

  • Match the error code to the cause using the tables above.

  • Apply the fix from the matching row.

  • Retry the message after making adjustments.

  • Monitor to confirm delivery, or note any new error code.


Best Practices to Protect Deliverability

Carriers monitor sending behavior closely. Following these practices keeps your delivery rate high and reduces the risk of a temporary restriction.

1. Add opt-out language to first messages. Include "Reply STOP to unsubscribe" in the first SMS you send to any new contact.

2. Identify yourself. Introduce yourself or your practice in the first message so the recipient knows who is texting.

3. Don't text landlines. Landlines and other SMS-incapable numbers drive up your error rate. Validate or clean your lists so you're only texting mobile numbers.

4. Avoid public URL shorteners. Links shortened with services like bit.ly or tinyurl.com hurt deliverability—carriers, especially T-Mobile and AT&T, flag them as high risk because they're associated with spam and phishing. Instead:

  • Use custom or branded short URLs tied to your own business domain.

  • Limit redirects to no more than one, and never cloak the destination.

  • When possible, include the full URL for transparency, even if it uses more characters.

5. Register your business and campaigns (A2P). Carriers increasingly require Business Profile, A2P Brand, and campaign registration before they'll deliver messages reliably. Aesthetix CRM handles A2P/toll-free registration on Twilio for you. Campaign verification can take time to be approved—if it stalls, contact support so we can escalate it.

6. Collect consent on your web forms. When a web form is where leads opt in, include a consent checkbox so each lead actively agrees to receive messages.

  • When the phone field is required, use separate consent checkboxes for marketing and non-marketing messages. Checkboxes cannot be pre-selected and must always be optional. Include links to your Privacy Policy and Terms in the footer.

  • When the phone field is not required, a consent checkbox isn't necessary, but still include your Privacy Policy and Terms in the footer.

7. Reference how leads opted in. Where helpful, the first message can note how the contact opted in (for example, "You signed up at our front desk").

8. Use double opt-in where possible. Have contacts actively confirm via SMS and a web-form checkbox (for example, "Reply 1 to subscribe") so consent is unmistakable.

For the full list of fixes when texts aren't arriving, see the related article SMS Not Sending / Delivering to Contacts.


Error & Opt-out Rate Monitoring

Aesthetix CRM monitors your overall delivery rate to keep your account in good standing and prevent carriers from blocking or permanently suspending it. Two proactive measures apply:

  • Violation email — sent when your account reaches a 6% error rate or a 2% opt-out rate.

  • Temporary restriction — a suspension notice is sent when your account reaches a 10% error rate or a 3% opt-out rate.

Please note: Once an account hits a temporary restriction, all upcoming outbound SMS will fail until 00:00 UTC the following day.

What to do when you get a violation email

  1. Pause any workflows, campaigns, triggers, or bulk actions sending to contacts who have not explicitly opted in.

  2. Enable and customize your opt-out language and sender identification so future messages aren't flagged.

  3. Hold off on bulk sends. Avoid message blasts and cold-prospecting campaigns until the issue is resolved.

Understanding the thresholds

  • Opt-out rate — A high opt-out rate means recipients are objecting, complaining, or marking your texts as spam. A good rate is 0–1%. Once it reaches 2%, the account is locked from sending for 24 hours.

  • Delivery error rate — A high error rate means you're texting numbers that are out of service, unreachable, or SMS-incapable (such as landlines), or that carriers are filtering your messages due to past sending behavior. A good rate is 0–6%. Once it reaches 10%, the account is locked from sending for 24 hours.

Getting a suspension lifted

A temporary suspension lifts automatically after 24 hours—your account can send again after 00:01 UTC the day after the non-compliant notice. Use the time to review your recent sends, message content, list hygiene, and compliance settings before resuming. If your account is permanently suspended, contact support.

For more on watching these metrics and acting before a restriction hits, see the related article Error and Opt-out Rate Monitoring.


Track SMS Restriction History

The SMS Restriction History dashboard is a read-only log of any warnings or temporary restrictions applied to SMS sending on your account. It shows what happened, when, and why, so you can correct issues quickly and stay compliant. Typical triggers include daily or weekly sending-limit violations, a high opt-out rate, and a high delivery error rate (including carrier filtering such as Error 30007).

Where to find it: Go to Settings → Phone Numbers → Advanced Settings (top-right), then open the Restriction History tab.

Each event in the table lists:

  • Date — when the warning or restriction occurred

  • Restriction Type — Warning or Temporary Restriction

  • Restriction Reason — for example, opt-out rate exceeded threshold

  • Percentage / Count — the measured value at the time

  • Additional Details — related metrics, such as the error rate

Use the Start Date and End Date filters on the right to view a specific window, and the pagination controls to page through records.


Forbidden Message Categories (US & Canada)

Some use cases are prohibited by carriers for SMS and MMS in the United States and Canada, regardless of number type or destination. Sending this content can lead to fines and suspension of your messaging capability. These restrictions exist at the carrier level and apply to all senders.

Category

Examples

Notes

High-risk financial services

Payday loans, short-term high-interest loans, third-party auto or mortgage loans, student loans, cryptocurrency

"Third-party" means originating from any party other than the one servicing the loan.

Third-party lead generation

Companies that buy, sell, or share consumer information

Debt collection or forgiveness

Third-party debt collection, debt consolidation or reduction, credit repair

"Third-party" means originating from any party other than the one owed the debt. A practice may message its own patients about their bills, assuming they opted in.

"Get rich quick" schemes

Work-from-home programs, risky investment opportunities, pyramid schemes

Differs from compliant employment outreach or investment alerts sent with proper opt-in.

Illegal substances

Cannabis (US), CBD (US), prescription drugs

Cannabis is federally illegal in the US and cannot be messaged regardless of content. CBD messaging is not permitted by US carriers. Offers for drugs not sold over the counter are forbidden.

Gambling

Casino apps, gambling websites

Prohibited in the US and Canada on all number types.

"S.H.A.F.T." use cases

Sex, Hate, Alcohol, Firearms, Tobacco

Tobacco is prohibited on toll-free but allowed on other number types with proper age-gating. Alcohol is allowed (US only) with age-gating. Firearms and vaping are prohibited.

If your use case falls into one of these categories, consider other channels such as email or social media, where allowed and with proper age-gating.


Inbound SMS Troubleshooting

Inbound texts show up as calls, or don't appear at all

If incoming texts aren't appearing in Conversations—or are showing up as calls—the number's configuration usually needs attention. Confirm the following on the number:

  • The number is SMS/MMS-capable (not a landline or voice-only number).

  • The messaging webhook is correctly configured so inbound messages route into Aesthetix CRM.

  • Messaging services are enabled for the number.

After correcting the configuration, send a test text to confirm inbound messages appear correctly. You can also review the message logs to check delivery status. If a message shows as "Delivered" in the logs but never appears in Conversations, contact support with the message details so we can investigate.

Forwarding inbound texts to another number

By default, inbound texts appear in the Conversations tab in the Aesthetix CRM web and mobile apps. If you also want incoming texts forwarded to a specific number as a notification, build a workflow:

  1. Go to Automation → Workflows → Create Workflow, then Start from Scratch.

  2. Add a workflow trigger and choose Customer Replied.

  3. Add a filter, select Reply Channel, and choose SMS. Save the trigger.

  4. Add an action and choose Send Internal Notification.

  5. Personalize the notification using custom values such as Message → Message Body and Contact → First Name.

Note: Forwarding each inbound text as an SMS notification generates a charge per message sent.


Why SMS in Mexico May Show a Different Number

When sending SMS in Mexico, recipients may sometimes see a different number than the one in your Phone Numbers tab. This is not an account error—it's a result of local carrier regulations and anti-spam enforcement.

  • Sender ID behavior: Mexican carriers have strict sender-ID rules. Messages from long codes (regular phone numbers) may have their sender ID replaced with a random or generic number, especially for application-to-person (A2P) traffic.

  • Volume and reclassification: If a number sends a high volume of texts in a short time, carriers may reclassify the traffic as A2P, rewrite the sender ID, or block the messages—part of local spam and regulatory enforcement.

  • Registered sender IDs: If you have a registered Sender ID approved for Mexico, Twilio uses it consistently. Without one, default carrier behavior applies and the sender ID may change.

To get consistent delivery in Mexico, register a Sender ID approved for Mexico, or use another compliant A2P messaging channel. If recipients see a different number, it's due to carrier enforcement—not a misconfiguration in your account—and it's outside your direct control unless you register an official Sender ID.


Frequently Asked Questions

Why am I getting charged for messages that failed?

Charges can apply once a message is attempted, even if it fails later in the delivery pipeline.

How do I know exactly why a message failed?

Check the error code shown in the conversation thread and match it to the tables above. For deeper detail, the underlying Twilio message logs record the final status of each message.

Does Restriction History show real-time data?

It records events with timestamps. Use the date filters to explore a specific window of time.

Will I see both warnings and temporary restrictions in the log?

Yes. The log includes both, along with the reason and the measured values.

How do I lower my error rate?

Clean your lists regularly, remove landlines, verify numbers at capture, and avoid content patterns (like public link shorteners) that trigger carrier filtering.

Did this answer your question?
😞
😐
😁