Skip to content
imessageapi

Link shorteners, spam filters, and why your texts get blocked

Carrier filtering is invisible, unappealable, and mostly triggered by things you can control. Links are the biggest one.

6 min readUpdated August 7, 2026Attribution

SMS filtering happens at the carrier, before delivery, and you usually get no notification. The message reports as sent and simply never arrives. Because there is no bounce to read, most businesses discover a filtering problem weeks later via a customer complaint.

This is an SMS problem, mostly

iMessage does not run through carrier filtering the same way, which is one more reason the blue path is more reliable. But your SMS fallback traffic is fully exposed to it — and that is the half of your list you cannot afford to lose.

  • Never use a public shortener. Generic shortened domains are shared with every spammer using the same service, and the reputation is shared too.
  • Use a branded short domain. go.acme.co carries your reputation and nobody else's. This is the single highest-impact change available.
  • Match the domain to the sender. A message from a business the customer knows, linking to a domain they recognise, is the pattern filters are looking for.
  • One link per message. Multiple links reads as bulk marketing.
  • No bare IPs, no unusual TLDs, no redirect chains. Each hop is another opportunity to be scored badly.

The content rules

  • Avoid ALL CAPS words, $$$, 'FREE', and rows of exclamation marks. Yes, it is that literal.
  • Do not send the same body to thousands of numbers at once. Vary at least the name.
  • Identify your business in the message. Anonymous bulk traffic scores badly and deserves to.
  • Include opt-out language on marketing sends — it is required, and it is also a positive signal.

The registration rules

In the US, business SMS traffic on standard 10-digit numbers goes through a registration process that ties your traffic to a verified business identity. Unregistered traffic is heavily filtered or blocked outright. Your provider will walk you through it — do it before you launch, because approval is not instant. Compliance covers the wider picture.

How to tell it is happening

  1. Watch delivery-status webhooks, not API response codes. A 200 on send means accepted, not delivered.
  2. Track delivered rate by carrier if your provider exposes it. Filtering usually shows up on one carrier first.
  3. Keep a test handset on each major carrier and send yourself a real campaign message before every large send.
  4. Watch for a sudden drop in tapped links with no drop in sends. That gap is usually filtering, not disinterest.

Set up your short domain and your tagging together — the UTM guide has the redirect handler that does both jobs in one place.

Next step

Generate a tagged link for whatever you send next with the UTM builder, see what this looks like in your industry, or compare the services that can send it on the providers page.