Most spam texts follow one of four patterns: a fake delivery problem, a prize you didn't enter for, an urgent account alert, or a shortened link from a sender you can't identify. A legitimate business text avoids being filtered alongside them by naming the brand, giving the reason for the message, using a full link on the brand's own domain, and offering an opt-out. If you searched for spam text messages examples because your own texts are being blocked, the patterns below show what carrier filters look for.

The problem for legitimate senders is that carrier filters read your content much like they read a scammer's. A well-meant promo that says "URGENT: claim your reward now 🎉 bit.ly/x7k2" contains almost every signal a filter is trained to catch. Below we go through the spam patterns, explain why each one gets caught, and then rebuild each one as a text a carrier has no reason to block.

Spam text messages examples: the patterns that get filtered

Here are composite examples of the most common types. They are built for this post and are not copied from any real scam, but anyone with a phone will recognise them.

1. The fake delivery problem

Your package could not be delivered due to an incomplete address. Update here: tinyurl.com/pk9d2x

It names no brand and gives no tracking number. The link goes through a public shortener, and it leans on a vague sense that you are expecting something.

2. The prize you never entered for

CONGRATS! You've been selected for a $500 gift card 🎁 Claim before midnight: bit.ly/3fGq8

It has excitement in capitals, a dollar amount, an emoji, a deadline and a shortened link. No business sent it, and you never signed up for anything.

3. The urgent account alert

ALERT: Unusual sign-in detected on your account. Verify your identity within 24 hrs or access will be suspended: secure-acct-verify.co/login

This one uses a threat ("suspended"), a short deadline and a lookalike domain that is not the brand's real one. It also asks you to log in or "verify," which is how credentials get stolen.

4. The mystery link

hey is this you in this video?? lnkd.ws/a8Kd

It is casual and personal in tone, but it comes from a number you don't know. The message has no content beyond the link.

5. The fake refund or overpayment

You were overcharged $86.40 on your last bill. Reply YES to receive your refund.

It has no brand. The "reply YES" request confirms that the number is live, and that is the whole goal of the message.

Why carrier filters catch these

Carriers don't publish their filter rules, but the signals are consistent enough to reason about. Filters weigh roughly three things.

Who sent it. Unregistered traffic is filtered by default on US routes. A text from a number with no brand and no campaign registration (the A2P 10DLC process) starts at a disadvantage before the content is read at all.

What it says. Content signals stack on top of each other:

  • Urgency and threat language: "act now," "final notice," "suspended," "within 24 hrs"
  • Money and prize language: "free," "winner," "gift card," "claim," "$500"
  • Credential requests: "verify," "log in," "confirm your identity"
  • Heavy capitals, repeated punctuation and emoji stacks
  • No identifiable brand anywhere in the message

Where the link goes. Public shorteners like bit.ly and tinyurl are shared by millions of senders, including scammers, so the domain's reputation is poor regardless of who is using it. We cover this in detail in why shared bit.ly links get your texts silently filtered. Lookalike domains are treated as worse.

A legitimate promo that hits two or three of these signals can be filtered even from a registered number. This is the most common surprise we see described: registration got approved, yet messages are still being filtered. The registration was fine. The content is the problem, which is the subject of our post on content-level blocking that registration doesn't fix.

What a trusted business text includes

The other side of the table above is a short checklist. A text that passes all five gives a filter, and the person reading it, very little reason to doubt it.

  1. The brand name first. Start with "Acme Dental:" or "Acme Dental here," so the recipient sees who it is from in the notification preview.
  2. A clear reason. Refer to the relationship: "your cleaning on Tue," "your order #1042," "you joined our text list at checkout."
  3. One specific action. "Reply C to confirm" or "Shop the sale," not three asks at once.
  4. A full link on your own domain. acmedental.com/book, or a branded short domain you own, never a public shortener.
  5. An opt-out line. "Reply STOP to opt out," at least on the first message to a contact and on marketing texts.

Two other factors aren't in the copy but matter as much: sending at a reasonable local hour, and only texting people who agreed to hear from you. Cold outreach belongs on the phone and in the mail. SMS is for consented contacts and people who have already replied to you.

Spam patterns rewritten as legit texts

Here are the same scenarios, rebuilt so they read as a business the recipient knows.

Spam versionLegit rewriteWhat changed
"Your package could not be delivered. Update here: tinyurl.com/pk9d2x""Acme Outdoor: your order #1042 is out for delivery today. Track it: acmeoutdoor.com/t/1042. Reply STOP to opt out."Brand, order number, own domain, opt-out
"CONGRATS! You've been selected for a $500 gift card 🎁 Claim before midnight""Acme Outdoor: thanks for being a rewards member. You have 500 points ($5 off). Use them at acmeoutdoor.com/rewards. Reply STOP to opt out."No prize language, real balance, no emoji, no fake deadline
"ALERT: Unusual sign-in detected. Verify within 24 hrs or access will be suspended""Acme Bank: a new device signed in to your account at 2:14 PM. Not you? Call the number on the back of your card."No link, no login request, sends the person to a channel they already trust
"hey is this you in this video?? lnkd.ws/a8Kd"Don't send it. There is no legitimate version of a contentless link.
"You were overcharged $86.40. Reply YES to receive your refund.""Acme Utilities: we've credited $86.40 to your account for the March billing error. No action needed. Questions: acmeutilities.com/help"Brand, a reason, no reply bait

These rewrites are longer, which costs segments. That tradeoff is usually worth it, but you should know what it costs.

The segment math on "clean" copy

A single SMS segment holds 160 GSM-7 characters. Longer messages split into 153-character parts. One emoji switches the whole message to unicode, which cuts each segment to 70 characters (67 when the message is split).

Here is a worked example with stated assumptions. You have a 5,000-contact opted-in list and a 140-character promo.

  • With one emoji: 140 chars in unicode = 3 segments. 5,000 × 3 = 15,000 segments × $0.0075/segment = $113, plus a $0.0045 carrier fee per segment.
  • Without the emoji: 140 chars in GSM-7 = 1 segment. 5,000 × 1 = 5,000 segments × $0.0075/segment = $38, plus a $0.0045 carrier fee per segment.

Removing the emoji removes a spam signal and cuts the segment count to a third. Neither figure includes the compliance surcharge, which is $0.003 extra per segment each for scrubbing and landline validation if you switch them on. Both are off by default. Ready also swaps curly quotes, long dashes and ellipses for plain ones before sending, so pasted copy from a document doesn't accidentally push you into unicode.

Where Ready helps, and where it can't

We make Ready, so here is what it does for this problem and what it does not.

The spam-filter check in the AI message writer. When you draft a campaign or template in Ready, the AI message writer can check the draft for spam-style content before it goes out, such as urgency phrasing, prize language and public shortener links. You can then fix the draft while it is still a draft. This is a second pair of eyes. It does not guarantee delivery, because carriers don't publish their filters and nobody outside them can promise a pass.

Registration handled in-app. Brand and campaign registration is done inside Ready. There is no setup fee: the charge at submit is the first month, $25, and the monthly cost is $25 for registration + $2 per number. Most approvals take 2 to 7 days. Your sample messages need to look like the "legit" column above. Our post on rewriting sample messages after a 10DLC rejection covers that step.

The non-content signals. STOP and UNSUBSCRIBE are honored automatically, and the opt-out applies across all campaigns. Sends are held outside permitted local hours based on the recipient's area and are charged only when they actually send. Opt-outs, numbers on your Ban list and known landlines are refused up front and not charged. If you send through the API (see the messages docs), the same rules apply to every request.

What it can't do. No tool fixes a list of people who never agreed to hear from you, or a message whose real purpose is to rush someone. Compliance is ultimately the sender's responsibility. The tooling reduces risk; it doesn't remove it.

A quick pre-send check

Before any campaign, read the message once as a stranger would see it in a notification preview:

  • Can I tell who sent it from the first few words?
  • Do I know why I'm getting it?
  • Is there exactly one thing to do?
  • Does the link go to the brand's own domain?
  • Is there a way to stop these?
  • Is it free of "urgent," "winner," "claim" and emoji stacks?

If any answer is no, fix it before sending. For promos in particular, our post on content signals that get marketing texts filtered goes deeper into why an order update delivers while a sale announcement from the same number doesn't.

The practical takeaway

Spam texts hide who sent them, invent urgency and send you through a link you can't verify. Legit texts do the opposite: they name the brand, explain the reason, ask for one thing, link to the brand's own domain and offer a way out. If your copy looks like the left column of the table, rewrite it to look like the right column before you look for any other cause.

To test this on your own copy, create a Ready account and run a draft through the AI message writer's spam-filter check. Your first 20 texts are free one-to-one sends (a card on file is required), so use them to check delivery to your own phones before you register and run a campaign.

FAQ

Why do my legitimate texts get flagged as spam?

Usually it is a combination of content signals: urgency words, prize or money language, emoji, a public shortener link, or no brand name. A missing or mismatched registration makes it worse. Fix the content first. It costs nothing and is the most common cause.

What does a spam text message look like?

A typical spam text claims a package problem, a prize, a locked account or an unpaid toll, then pushes you to tap a shortened link from a sender you don't recognize. The giveaways are urgency, no brand name and a public shortener.

Are link shorteners always a problem?

Public, shared shorteners are the problem because their domains carry everyone's reputation, including scammers'. A full link on your own domain, or a branded short domain that only you use, avoids that.

Why does a text get tagged as spam?

Carriers and phones tag a text as suspected spam when its content or sender looks like known scam traffic: urgent wording, prize language, public shortener links, a number with no registration or complaints from recipients. Naming your business, using a link on your own domain and registering your brand and campaign all lower the odds.

Can Ready guarantee my texts won't be filtered?

No. Nobody outside the carriers can promise that, because the filters aren't published. What Ready does is reduce the risk: the spam-filter check in the AI message writer, in-app registration, quiet-hours holds, automatic opt-out handling, and refusing sends to opted-out numbers and to numbers Ready has already seen as landlines, plus a send-time landline lookup when landline validation is switched on.