A character counter shows, as you type, the encoding a message will use, how many characters remain in the current segment and how many segments the message will cost.
A good counter does three things: it detects the encoding (GSM-7 or UCS-2) from the characters present, it counts extended GSM characters as two, and it computes the segment count with the correct per-part capacity. A counter that only reports "length" is how a 161-character message gets sent at double cost.
For personalised campaigns the counter has to run on the rendered rows, because a long first name or order reference can push one row into a second segment while the template looks safe.
At SMSMeteor: the composer's counter shows encoding, segments and the longest rendered row across the real list, and the API response carries encoding and segments for each message.
