알림톡과 문자, 한 건에 얼마 — 90바이트를 넘는 순간 단가가 바뀝니다

알림톡을 붙일 때 단가표를 보면 알림톡 8원, 문자 12원 식으로 나란히 적혀 있습니다. 그래서 「알림톡이 문자보다 4원 싸다」 정도로 읽고 넘어가기 쉽습니다.

그런데 이 비교에는 빠진 것이 하나 있습니다. 알림톡은 글자 수와 상관없이 한 건 값이지만, 문자는 길이에 따라 종류가 바뀝니다. 90바이트까지는 SMS이고, 1바이트라도 넘으면 LMS입니다. 같은 공개 안내에서 SMS는 12원, LMS는 30원입니다. 두 배 반입니다.

알림톡에서 이것이 문제가 되는 곳은 대체발송입니다. 카카오톡을 안 쓰거나 알림톡을 차단한 사람에게는 알림톡 대신 문자가 나가는데, 그 문자가 SMS로 나갈지 LMS로 나갈지는 문구 길이가 정합니다. 그래서 ① 글에 실었던 인증번호 템플릿과 흔한 알림 문구 몇 개를 실제로 바이트 단위로 재 봤습니다.

먼저 단가 — 공개 안내 기준

대체발송 비율 0·10·20·30%에서 월 5,000건 비용 막대그래프 — 대체 문자가 SMS면 40,000원에서 46,000원, LMS면 40,000원에서 73,000원으로 오름

공식 딜러사 한 곳(스윗트래커 비즈엠)의 첫 화면에 적힌 값입니다. 2026년 9월 23일에 다시 확인했습니다.

종류 건당
알림톡 8원
알림톡 실패 → 문자 대체발송 SMS 12원
〃 LMS 30원
〃 MMS 90원

채널사마다 단가가 다르다는 것은 알림톡 도입 글에 적었습니다. 이 글에서는 이 한 곳의 표를 기준으로 계산합니다. 숫자가 바뀌어도 비율은 비슷할 것이라 계산 방법은 그대로 쓰실 수 있습니다.

SMS와 LMS를 가르는 선도 공개돼 있습니다. 같은 채널사의 결과코드 목록에는 「M106 문자 메시지 길이제한 오류 — SMS: 90 byte, LMS: 2,000 byte」가 있고, 문자 서비스를 하는 NHN Cloud 문서에는 「인코딩은 EUC-KR 기준으로 발송」, 「SMS 90바이트(한글 45자, 영문 90자)」라고 적혀 있습니다. 한글 한 글자가 2바이트, 영문·숫자·공백·쉼표가 1바이트라는 뜻입니다.

재 본 방법

이 PC의 Windows PowerShell 5.1에서 .NET에 들어 있는 EUC-KR 인코더와 CP949 인코더로 문구의 바이트 수를 셌습니다. 인코더를 「못 바꾸는 글자가 있으면 오류를 내라」로 설정해서, EUC-KR에 없는 글자도 함께 걸러지게 했습니다.

먼저 적어 둘 것이 있습니다. 문자를 실제로 보내 보지는 않았습니다. 문자 발송에는 발신번호 사전 등록이 필요해서 이 글을 위해 계정을 새로 만들 수 없었습니다. 아래 수치는 모두 「통신사로 넘어가기 전 바이트 수」이고, 채널사가 실제로 어떻게 세는지는 채널사 문서가 기준입니다.

① 글의 인증번호 템플릿 — 52바이트, SMS 안에 들어갑니다

① 글에서 반려됐던 그 인증번호 템플릿입니다.

인증번호 #{인증번호} 타인에게 노출되지 않도록 유의하세요.
경우 글자 바이트 종류
인증번호 6자리 32 52 SMS
인증번호 8자리 34 54 SMS
앞에 「[○○상사] 」를 붙임 39 63 SMS

인증번호 템플릿은 원래 짧게 쓰는 문구라 여유가 많습니다. 38바이트, 한글로 19자가 남습니다. 대체발송 문구로 그대로 써도 SMS입니다.

흔한 알림 문구 — 여기서 넘어갑니다

주문 확인과 예약 확정 문구를 이 글을 위해 흔한 형태로 만들어 재 봤습니다. 실제 고객사 문구가 아니라 예시입니다.

#{이름}님, 주문이 접수되었습니다.
주문번호: #{주문번호}
결제금액: #{금액}원
배송이 시작되면 다시 알려 드리겠습니다.
변숫값 글자 바이트 종류
이름 2자 · 주문번호 A1234 · 9,900원 65 104 LMS
이름 3자 · 주문번호 13자리 · 128,000원 76 116 LMS
이름 5자 · 주문번호 15자리 · 1,280,000원 82 124 LMS

변숫값을 가장 짧게 넣어도 104바이트입니다. 네 줄짜리 주문 확인은 처음부터 LMS입니다. 알림톡 화면에서는 짧아 보이는 문구인데, 한글 45자라는 선이 생각보다 가깝습니다.

줄바꿈도 셉니다. 줄을 LF로 보내면 줄마다 1바이트, CRLF로 보내면 2바이트입니다. 위 문구는 줄바꿈이 셋이라 보내는 시스템에 따라 3바이트씩 달라졌습니다(104 → 107).

예약 확정은 더 까다로웠습니다.

#{이름}님, #{날짜} #{시간} #{지점} 예약이 확정되었습니다. 변경은 하루 전까지 가능합니다.
지점 이름 글자 바이트 종류
강남점 53 88 SMS
판교테크노밸리점 58 98 LMS
서울역 3번 출구 앞 본점 64 105 LMS

같은 템플릿인데 지점 이름에 따라 SMS와 LMS가 갈립니다. 고정 문구만 60바이트이고, 이름·날짜·시간이 22바이트를 쓰면 지점 이름에 남는 것은 8바이트, 한글 4자입니다. 「강남점」은 들어가고 「판교테크노밸리점」은 못 들어갑니다. 테스트 발송을 짧은 지점 이름으로 하면 문제가 안 보이다가, 실제 발송에서 긴 지점부터 LMS로 청구됩니다.

넘어가면 어떻게 되나 — 채널사마다 다릅니다

문자 종류를 SMS로 지정해 놓고 90바이트를 넘기면 어떻게 되는지는 공개 문서끼리도 표현이 다릅니다.

문서 적힌 것
비즈엠 결과코드 M106 문자 메시지 길이제한 오류 (SMS 90 byte) — 실패로 떨어짐
NHN Cloud 문서 「문자 잘림을 방지하기 위해서 표준 규격으로 작성해주세요」

한쪽은 실패, 한쪽은 잘림입니다. 어느 쪽이든 받는 사람에게 제대로 된 문자가 안 갑니다. 자동으로 LMS로 바꿔 주는 설정이 있는 곳도 있을 텐데, 그러면 이번에는 30원으로 나갑니다. 90바이트를 넘긴 문구는 실패하거나, 잘리거나, 비싸게 나가거나 셋 중 하나입니다.

바이트보다 먼저 걸리는 것 — EUC-KR에 없는 글자

재다가 예상하지 못한 것이 하나 나왔습니다. 글자 하나씩 넣어 봤더니 인코더가 아예 못 바꾸는 글자가 있었습니다.

글자 EUC-KR 비고
가 · A · 1 · 공백 2 · 1 · 1 · 1바이트
· ※ 「」 → ㈜ ~ 2바이트 들어갑니다
— (긴 줄표) · – (짧은 줄표) 못 바꿈
• (가운데 점 글머리) · ✓ 못 바꿈
₩ (원화 기호) 못 바꿈 「원」으로 써야 합니다
이모지 못 바꿈 비즈엠 결과코드에 M121 「문자 메시지에 이모지 포함」이 따로 있습니다
똠 · 햏 · 뷁 못 바꿈 (CP949에서는 2바이트)

긴 줄표(—)는 문서나 블로그 글에서 흔히 쓰는 기호입니다. 알림톡 문구를 다른 문서에서 옮겨 적다 보면 그대로 딸려 들어가기 쉽습니다. 알림톡에서는 멀쩡히 나가던 문구가 대체발송 문자에서만 깨지거나 실패하는 경우가 여기서 생깁니다.

마지막 줄은 드문 경우입니다. EUC-KR에는 한글이 2,350자만 들어 있어서 「똠」 같은 글자는 없고, 이를 넓힌 CP949에는 있습니다. 채널사가 어느 쪽으로 세는지는 문서에 「EUC-KR」로만 적혀 있어서 확인하지 못했습니다. 이름 변수에 이런 글자가 들어갈 수 있다는 정도만 알아 두시면 됩니다.

그래서 월 비용은 — 대체발송 비율 × 문자 종류

단가와 바이트를 합치면 월 비용 식이 이렇게 됩니다.

대체발송 비율은 수신자 구성에 따라 달라서 여기서는 10%, 20%, 30%로 가정했습니다. 월 5,000건 기준입니다. 실패한 알림톡은 과금하지 않는다고 가정했는데, 이 부분은 채널사 약관으로 확인하셔야 합니다.

대체발송 비율 대체 문자가 SMS일 때 대체 문자가 LMS일 때
0% (전부 알림톡) 40,000원 40,000원
10% 42,000원 51,000원
20% 44,000원 62,000원
30% 46,000원 73,000원

같은 5,000건을 처음부터 문자로만 보내면 SMS 60,000원, LMS 150,000원입니다.

읽는 법은 이렇습니다. 대체 문자를 SMS에 맞춰 두면 대체발송이 30%까지 늘어도 비용이 15% 정도만 오릅니다. LMS면 같은 30%에서 80% 넘게 오릅니다. 알림톡을 써서 아낀 몫을 대체발송이 다시 가져가는 구조가 LMS 쪽에서 생깁니다. 알림톡 단가를 두고 채널사와 1원을 깎는 것보다, 대체 문구를 45자 안에 넣는 쪽이 금액이 더 큽니다.

대체 문구를 쓸 때 — 재 보고 나서 정리한 것

  • 대체 문구는 알림톡 문구와 따로 씁니다. 비즈엠 결과코드에 「E107 카카오 발송 실패시 문자 전환 발송을 하는 경우 문자 메시지 내용이 없음」이 있는 것을 보면, 대체발송 문구는 별도 칸으로 받는 구조입니다. 알림톡 문구를 그대로 복사하지 않아도 됩니다
  • 고정 문구를 먼저 재고, 90에서 뺀 나머지를 변수에 나눠 줍니다. 위 예약 문구처럼 변수 하나가 판을 가릅니다
  • 변수는 가장 긴 값으로 잽니다. 지점명·상품명·이름의 최댓값입니다. 테스트 데이터는 대개 짧습니다
  • 줄바꿈을 줄입니다. 문자에서는 줄마다 1~2바이트입니다
  • —, •, ₩, 이모지를 뺍니다. 알림톡에서 된다고 문자에서 되는 것이 아닙니다
  • 넘을 수밖에 없으면 LMS로 정하고 단가를 30원으로 계산합니다. 「어쩌다 LMS」가 제일 곤란합니다

이 글이 다루지 않은 것

실제 발송은 하지 않았습니다. 수치는 모두 발송 전 인코딩 기준입니다. 통신사 쪽에서 붙는 표시나 채널사의 세는 방식 차이는 반영되지 않았습니다.

발송 건수, 청구액, 대체발송 비율은 적지 않았습니다. 고객사와 묶여 있는 숫자여서 위 계산표의 비율은 전부 가정입니다.

단가는 공개 안내 한 곳 기준입니다. 계약 조건이나 건수에 따라 달라집니다.

요약

항목 내용
단가 (공개 안내) 알림톡 8원 · 대체 SMS 12원 · LMS 30원
SMS 한도 90바이트 = 한글 45자. EUC-KR 기준
① 글의 인증번호 템플릿 52바이트, SMS
네 줄짜리 주문 확인 가장 짧은 값으로도 104바이트, LMS
예약 확정 지점 이름에 따라 88바이트(SMS) / 98바이트(LMS)
줄바꿈 LF 1바이트, CRLF 2바이트
못 바꾸는 글자 — – • ✓ ₩ 이모지. 실패 또는 깨짐
90바이트 초과 시 채널사에 따라 실패(M106) 또는 잘림
월 5,000건, 대체 30% SMS면 46,000원, LMS면 73,000원

알림톡과 문자의 차이는 4원이 아니었습니다. 대체발송 문구가 45자 안에 들어가느냐였습니다.

대체 문구를 어디부터 줄여야 할지 막히시면 문의로 알려 주십시오. 고정 문구와 변수를 나눠 보는 정도는 같이 봐 드릴 수 있습니다.

참고 (2026-09-23 확인)
– 스윗트래커 비즈엠 첫 화면 (bizmsg.kr): 알림톡 8원 · 대체발송 SMS 12원 / LMS 30원 / MMS 90원
– 비즈엠 API 결과코드 (alimtalk-api.bizmsg.kr/codeList.html): M106 (SMS 90 byte, LMS 2,000 byte) · M121 · E107
– NHN Cloud SMS API 가이드·콘솔 가이드 (docs.nhncloud.com): 「인코딩은 EUC-KR 기준」 · 「SMS 90바이트(한글 45자, 영문 90자)」 · 「문자 잘림을 방지하기 위해서 표준 규격으로 작성」

Leave a Comment