Límite de Caracteres SMS: GSM-7, Unicode y Segmentos
Límites de Caracteres en SMS: GSM-7, Unicode y Segmentos de Mensaje
Respuesta rápida: Un SMS lleva 160 caracteres con codificación GSM-7 o 70 caracteres con Unicode (UCS-2). Los textos más largos se dividen en segmentos de 153 o 67 caracteres respectivamente — facturados por segmento. Un solo emoji o comilla tipográfica cambia todo el mensaje a Unicode, recortando la capacidad un 56% y a menudo triplicando el coste.
Los límites de caracteres parecen trivialidades hasta que los multiplicas por un millón de mensajes. Una campaña que cruza en silencio de uno a dos segmentos duplica su presupuesto. Así funciona exactamente la matemática de la codificación, y así se controla.
¿Por Qué el Límite del SMS Es de 160 Caracteres?
El SMS viaja en la capacidad sobrante de las tramas de señalización GSM: 140 bytes (1.120 bits) por mensaje. Cuántos caracteres caben en 1.120 bits depende de cuántos bits necesita cada carácter:
| Codificación | Bits por carácter | SMS único | Por segmento (multiparte) |
|---|---|---|---|
| GSM-7 | 7 | 160 | 153 |
| UCS-2 (Unicode) | 16 | 70 | 67 |
GSM-7 comprime cada carácter en 7 bits soportando solo un alfabeto fijo de 128 caracteres (más una tabla de extensión). UCS-2 soporta prácticamente cualquier escritura y símbolo, pero a 16 bits por carácter — de ahí la caída de 160 a 70.
¿Qué Caracteres Incluye el Alfabeto GSM-7?
GSM-7 cubre:
- Letras latinas A–Z, a–z y dígitos 0–9
- Puntuación común: . , ! ? : ; ' " ( ) + - * / = % & # @
- Un conjunto de letras acentuadas (é, ü, ñ, à, ö y otras) y mayúsculas griegas
- Símbolos de moneda, incluidos el euro y la libra
La trampa de la tabla de extensión: algunos caracteres — corchetes, llaves, barra invertida, circunflejo, barra vertical, tilde de la eñe aparte y el símbolo del euro — están en GSM-7 pero cuestan dos caracteres cada uno, porque se codifican como escape más código.
¿Qué Cambia un Mensaje a Unicode en Silencio?
Todo lo que quede fuera de GSM-7 fuerza el mensaje entero a UCS-2 — basta un carácter. Los sospechosos habituales:
- Puntuación tipográfica pegada desde Word o Google Docs: comillas curvas, apóstrofes curvos, rayas largas, puntos suspensivos como carácter
- Emojis — cualquiera
- Alfabetos no latinos: chino, japonés, coreano, árabe, hebreo, tailandés, la mayoría del cirílico
- Caracteres invisibles: espacios de no separación, uniones de ancho cero por copiar y pegar
El caso más cruel es el apóstrofe curvo: visualmente casi idéntico al recto de ASCII, pero convierte un mensaje de 160 caracteres en un envío Unicode de 3 segmentos.
¿Cómo Funciona la Concatenación de Mensajes?
Cuando un mensaje supera el límite, se divide en partes que llevan una cabecera de datos de usuario (UDH) — 6 bytes que dicen al teléfono receptor "esta es la parte 2 de 3". Esa cabecera consume espacio útil, por eso baja la capacidad por segmento:
| Longitud del mensaje (GSM-7) | Segmentos | Mensajes facturados |
|---|---|---|
| 1–160 caracteres | 1 | 1 |
| 161–306 caracteres | 2 | 2 |
| 307–459 caracteres | 3 | 3 |
| 460–612 caracteres | 4 | 4 |
Para Unicode los cortes son 70, luego 134, 201, 268. El teléfono reensambla las partes en una sola burbuja — el usuario nunca ve la división, pero tu factura sí: cada segmento se factura como un mensaje completo.
¿Cuánto Cuestan Realmente los Errores de Codificación?
Toma un mensaje promocional de 155 caracteres a 500.000 destinatarios a 0,01 $ por segmento:
- GSM-7 limpio: 1 segmento × 500.000 = 5.000 $
- El mismo texto con un emoji: segmentos Unicode de 70 caracteres → 3 segmentos × 500.000 = 15.000 $
Un carácter, 10.000 dólares de diferencia. Es la fuga de presupuesto silenciosa más común del marketing por SMS — y es totalmente evitable.
¿Cómo Mantener los Mensajes en un Segmento? (6 Reglas)
- Conoce tu límite real. 160 para GSM-7, 70 para Unicode. Si tu audiencia requiere un alfabeto no latino, planifica el texto sobre 70/67 desde el principio.
- Elimina la puntuación tipográfica. Normaliza comillas, apóstrofes y rayas a ASCII antes de enviar. Automatízalo en tu pipeline — los humanos pegan desde Word.
- Trata los emojis como una función de pago. En marketing pueden ganarse su coste con la interacción; en OTPs y alertas son puro desperdicio.
- Vigila la tabla de extensión. Corchetes, llaves, tilde suelta, circunflejo, barra vertical y el símbolo del euro cuentan doble en GSM-7.
- Comprueba los segmentos en la respuesta de la API. Los buenos proveedores devuelven codificación y número de segmentos por mensaje — alerta cuando el conteo de una plantilla cambie.
- Cuidado con URLs y personalización. Un enlace largo o un nombre inesperadamente largo puede empujar una plantilla al siguiente segmento. Deja 10–15 caracteres de margen.
¿Aplica Esto a RCS o WhatsApp?
No — RCS, WhatsApp y otros canales IP no usan codificación GSM ni tramas de 140 bytes, así que no hay límite de 160 caracteres ni facturación por segmento. Pero toda campaña RCS o de canal enriquecido necesita un fallback SMS, y ese texto de respaldo obedece todas las reglas de esta guía.
La API de ViteMobile devuelve la codificación y el número de segmentos de cada mensaje, y el panel marca las plantillas cuyo conteo se desvía — para que una comilla curva pegada se detecte antes de multiplicarse por un millón de envíos.
Puntos Clave
- Un SMS = 140 bytes: 160 caracteres GSM-7 o 70 Unicode. Los segmentos multiparte llevan 153/67.
- Un solo carácter no GSM — un emoji, una comilla curva — cambia todo el mensaje a Unicode y puede triplicar el coste.
- Algunos caracteres GSM-7 (corchetes, euro, tilde) cuentan doble en silencio.
- Normaliza la puntuación automáticamente, deja margen para la personalización y monitorea los segmentos por plantilla en producción.
Preguntas Frecuentes
P: ¿Cuántos caracteres puede contener un SMS? R: 160 con GSM-7, 70 con Unicode. Los mensajes más largos se dividen en segmentos de 153 (GSM-7) o 67 (Unicode), cada uno facturado como mensaje aparte.
P: ¿Por qué mi SMS se dividió en varios mensajes? R: Superó el límite de un mensaje, o un carácter especial lo cambió a Unicode. Las cabeceras de concatenación reducen cada parte a 153/67 caracteres, y cada parte se factura por separado.
P: ¿Los emojis cuentan como más caracteres? R: Sí — cualquier emoji fuerza todo el mensaje a Unicode (límite de 70) y la mayoría ocupa dos unidades de código. Un emoji puede convertir 1 segmento en 3.
P: ¿Qué caracteres rompen GSM-7? R: Comillas y apóstrofes curvos, rayas largas, puntos suspensivos como carácter, espacios de no separación y cualquier alfabeto no latino. Corchetes, llaves y el euro siguen en GSM-7 pero cuentan doble.
P: ¿Cómo mantengo mi SMS en un segmento? R: Cuenta contra el límite correcto, normaliza la puntuación a ASCII automáticamente, evita emojis en textos transaccionales, deja margen para personalización y vigila el conteo de segmentos que devuelve tu API.