Skip to content

SMS_BODY_TOO_LONG

Category: sms  ·  Severity: warning  ·  Channel: SMS

The rendered SMS body occupies more than three segments — more than a well-formed SMS should. Very long messages are expensive, slow to deliver, and often signal content that belongs in email or behind a link.


What it means

Synapse Inspect reads the segment count from the send-path segmenter (render_sms). When a message renders to 4 or more segments, this finding fires.

For reference, one segment holds 160 characters in GSM-7 or 70 in UCS-2 — so a 4-segment message is roughly 480+ GSM-7 characters, or far fewer if a non-GSM character forced UCS-2 encoding (see SMS_UCS2_FORCED).


Why it matters

  • Cost scales linearly. You are billed per segment. A 5-segment message costs five times a single-segment message.
  • Slower, less reliable delivery. Long concatenated messages take longer to reach the handset and are more likely to arrive out of order.
  • Wrong channel. Content this long is usually better served by email, or by a short SMS with a link to a web page.

How to fix it

  1. Trim the message to three segments or fewer.
  2. Move long-form content behind a link — send a short SMS that links to a landing page or the full email.
  3. Reconsider the channel — if the content is inherently long, email is likely the better fit.
  4. Or accept the length knowingly — this is a warning, not a block.

Finding context

The context reports the segment count and the threshold that was exceeded:

json
{
"segments_count": 4,
"max_segments": 3,
"encoding": "GSM-7",
"estimated_cost": "0.0316",
"price_unit": "USD"
}
Note

The threshold is 3 segments: a message must render to 4 or more segments to trigger this finding. A 2- or 3-segment message triggers only SMS_MULTI_SEGMENT.