WhatsApp 메시지 유효 시간: 인증 코드, 예약 알림, 배송 안내가 뒤늦게 도착하지 않게 하는 법
해외 고객의 휴대폰이 몇 시간 꺼져 있다가 켜지면, WhatsApp은 이미 만료된 인증 코드나 낮에 배송이 끝난 택배에 대한 "20분 뒤 도착합니다" 메시지를 뒤늦게 전달합니다. 메시지 유효 시간은 WhatsApp이 재시도를 언제 멈출지 정하는 설정입니다. 템플릿 카테고리별 기본값, 메시지별로 알맞은 값, MonoChat에서 설정하는 방법을 알아보세요.
MonoChat 팀 업데이트: 6 분 소요
이 페이지 내용
해외 바이어가 로그인 코드를 요청하고 비행기에 탑승합니다. 휴대폰은 비행기 모드로 바뀌고, 네 시간 뒤 착륙하자 WhatsApp은 10분 만에 만료된 코드를 전달합니다. 다른 고객은 낮에 이웃집에 맡겨진 택배에 대해 저녁에야 “택배 기사가 20분 뒤 도착합니다”라는 메시지를 받습니다. 서울의 한 성형·피부과 클리닉이 보낸 “한 시간 뒤 진료가 시작됩니다”는 다음 날 아침에 도착합니다.
보낼 때는 틀린 메시지가 하나도 없습니다. 도착하는 시점이 틀렸을 뿐입니다. WhatsApp은 꺼져 있거나 오프라인인 휴대폰에 메시지를 계속 전달하려 하고, 대부분의 템플릿에서는 최대 30일 동안 시도합니다. 메시지 유효 시간(TTL)은 WhatsApp이 언제 멈출지 알려 주는 설정입니다.
MonoChat 3.8.46부터 템플릿 빌더에서 마케팅 템플릿에 이어 유틸리티와 인증 템플릿에도 유효 시간을 지정할 수 있습니다. 이 가이드에서는 유효 시간이 어떻게 동작하는지, 카테고리별 기본값과 범위, 메시지별로 알맞은 값, 설정 방법을 설명합니다. 한국 기업이 동남아시아, 중동, 중남미, 인도 고객에게 인증 코드와 배송 안내를 보낼 때 특히 쓸모가 있습니다. 시차와 통신 환경 때문에 고객의 휴대폰이 꺼져 있거나 연결이 끊긴 경우가 흔하기 때문입니다.
WhatsApp이 메시지를 다시 보내는 방식
템플릿 메시지를 보내면 WhatsApp은 먼저 고객의 휴대폰으로 전달을 시도합니다. 휴대폰이 꺼져 있거나 연결이 없거나 한동안 오프라인이면 메시지는 WhatsApp 쪽에서 대기하며 재시도됩니다. Meta는 이 재시도 기간을 메시지의 유효 시간이라고 부릅니다.
유효 시간이 끝나면 두 가지 일이 생깁니다.
- 메시지가 버려집니다. Meta 문서에 따르면 기본 또는 사용자 지정 유효 시간 안에 전달하지 못한 메시지는 시스템이 버립니다. 고객은 그 메시지를 보지 못합니다.
- 전달됨 상태가 오지 않습니다. Meta의 안내는 간단합니다. 유효 시간이 끝나기 전에 전달됨 웹훅이 오지 않았다면 메시지가 버려진 것으로 보라는 것입니다.
기본 재시도 기간이 긴 것은 영수증, 명세서, 소식지처럼 며칠 뒤에도 쓸모 있는 메시지가 대부분이기 때문입니다. 이 가이드가 다루는 메시지는 그렇지 않은 것들입니다.
카테고리별 기본값과 범위
Meta는 유효 시간을 템플릿마다 정하며, 설정할 수 있는 범위는 템플릿 카테고리에 따라 다릅니다.
| 카테고리 | 기본값 | 설정 가능한 범위 | MonoChat 입력값(초) |
|---|---|---|---|
| 인증 | 10분 (2024년 10월 23일 이전에 만든 템플릿은 30일) | 30초에서 15분 | 30에서 900 |
| 유틸리티 | 30일 | 30초에서 12시간 | 30에서 43200 |
| 마케팅 | 30일 | 12시간에서 30일 | 43200에서 2592000, Marketing Messages API에 온보딩된 계정 |
놓치기 쉬운 점이 세 가지 있습니다.
- 오래된 인증 템플릿은 30일 그대로입니다. 인증 템플릿을 2024년 10월 23일 이전에 만들었고 유효 시간을 지정한 적이 없다면, 코드가 몇 주 늦게 도착할 수 있습니다. 값을 지정하면 해결됩니다.
- 유틸리티에는 짧은 기본값이 없습니다. 유효 시간 없이 보낸 배송 안내는 소식지와 똑같이 30일 동안 재시도됩니다.
- 카테고리가 바뀌면 값이 지워집니다. Meta가 템플릿을 다른 카테고리로 옮기면 유효 시간을 지우고, 새 카테고리 범위 안에서 새 값을 정할 때까지 새 카테고리의 기본값이 적용됩니다.
메시지별로 알맞은 값
유효 시간은 고객이 읽어 주었으면 하는 시점이 아니라, 메시지가 더 이상 사실이 아니거나 쓸모없어지는 시점에 맞춥니다. 출발점으로 삼을 만한 값은 다음과 같습니다.
| 메시지 | 카테고리 | 권장 유효 시간 | 이유 |
|---|---|---|---|
| 10분간 유효한 로그인 또는 본인 확인 코드 | 인증 | 600초 이하 | Meta는 코드 유효 기간과 같거나 더 짧은 유효 시간을 권장합니다 |
| 5분간 유효한 결제 확인 코드 | 인증 | 300초 | 만료된 뒤 도착한 코드는 문의만 늘립니다 |
| ”택배 기사가 약 30분 뒤 도착합니다” | 유틸리티 | 1800초 | 그 시간이 지나면 기사는 이미 다녀갔거나 오지 않습니다 |
| ”주문하신 상품을 매장에서 받으실 수 있습니다” | 유틸리티 | 1800초에서 3600초 | 고객이 근처에 있는 동안만 쓸모 있습니다 |
| 진료 3시간 전에 보내는 예약 알림 | 유틸리티 | 10800초 | 진료 시간이 지나 도착해 혼란을 주지 않도록 버립니다 |
| 당일 배송 시간대 확인 | 유틸리티 | 21600초에서 43200초 | 저녁이면 그 시간대가 끝납니다 |
| 주문 확인, 영수증, 청구서 | 유틸리티 | 비워 둠 | 며칠 뒤에도 쓸모 있습니다 |
| 48시간 한정 세일 | 마케팅 | 172800초 | 세일이 끝나면 혜택도 끝납니다 |
기억해 둘 두 가지 기준이 있습니다.
- 늦어도 괜찮다면 비워 두세요. 내일 도착한 영수증이 아예 없는 것보다 낫습니다. 반드시 도착해야 하는 메시지에는 짧은 유효 시간을 두지 마세요.
- 늦는 것이 안 오는 것보다 나쁘다면 대안을 준비하세요. 버려진 코드는 앱의 “코드 다시 받기”로, 버려진 “기사님이 근처에 있습니다” 메시지는 기사의 전화로 이어질 수 있습니다. 유효 시간을 줄이기 전에 먼저 정해 두세요.
MonoChat에서 설정하는 방법
WhatsApp Business (Cloud) 채널로 연결된 WhatsApp 번호가 필요합니다.
1. 템플릿 열기. 설정 › 채팅 › 채널로 이동해 채널의 ⋮ 메뉴를 열고 템플릿 메시지를 선택합니다.
2. 템플릿 만들기. 만들기를 클릭하고 카테고리를 고릅니다. 안내에는 유틸리티, 코드에는 인증입니다. 코드는 일회용 비밀번호 유형을, 안내는 기본 유형을 선택하며, Meta가 준비한 유틸리티 템플릿에서 시작하려면 Meta 라이브러리에서를 선택합니다(템플릿 라이브러리 가이드 참고).
3. 유효 시간 입력. 이름과 언어 아래의 **메시지 유효 시간(초)**에 값을 넣습니다. 입력하는 동안 MonoChat이 범위를 확인하며, 범위를 벗어나면 유틸리티는 “30초에서 43200초 사이의 값을 입력하세요.”, 인증은 “30초에서 900초 사이의 값을 입력하세요.”라고 알려 줍니다. 비워 두면 WhatsApp의 기본값이 적용됩니다.
4. 코드는 유효 기간에 맞추기. 일회용 비밀번호 템플릿의 **코드 유효 시간(분, 1–90)**에는 1분에서 90분을 넣을 수 있습니다. 메시지 유효 시간은 이와 같거나 더 짧게 정합니다. 코드 유효 시간이 10분이고 메시지 유효 시간이 600초라면, 코드가 쓸 수 없게 된 뒤에는 도착하지 않습니다.
5. 제출. 메시지, 버튼, 예시는 평소처럼 채우고(WhatsApp 템플릿 만드는 법에서 모든 항목을 설명합니다) 제출합니다. 유효 시간은 템플릿과 함께 저장되므로, 그 템플릿으로 보내는 모든 메시지는 채팅, 플로우, 대량 메시지, 자사 시스템 어디서 보내든 같은 값을 씁니다.
마케팅 템플릿은 WhatsApp Business 계정이 Meta의 Marketing Messages API에 온보딩된 경우에만 같은 항목이 표시되며, MonoChat이 이를 자동으로 감지합니다. 이때 범위는 43200초에서 2592000초입니다.
예시: 외국인 환자를 받는 서울 클리닉의 당일 메시지
서울 강남에서 외국인 환자를 받는 한 피부과 클리닉이 예약 캘린더와 연결된 MonoChat 플로우로 WhatsApp 메시지를 세 종류 보냅니다.
- 예약 확인(유틸리티, 유효 시간 없음). 환자가 다음 날 읽어도 쓸모 있습니다.
- 3시간 전 알림(유틸리티, 10800초). 환자의 휴대폰이 오전 내내 꺼져 있었다면, 진료가 시작된 뒤에 도착하는 대신 진료 시작과 함께 버려집니다.
- “원장님 진료가 20분 지연되고 있습니다”(유틸리티, 1200초). 앞으로 20분 동안만 사실입니다.
플로우는 각 메시지를 템플릿 메시지 보내기 노드로 보냅니다. 환자가 “오후 5시로 옮길 수 있나요?”라고 답하면 그 답장이 24시간 고객 서비스 창을 열고 공유 받은 편지함에 도착하며, 상담 코디네이터가 자유로운 문장으로 답합니다.
시간이 중요하지 않다면 예약 확인과 알림은 한 템플릿을 같이 써도 됩니다. 하지만 유효 시간은 템플릿마다 정해지므로, 수명이 다른 메시지는 템플릿을 따로 만들어야 합니다.
비용
Meta는 전달된 메시지마다 템플릿 카테고리와 수신자 국가의 요금을 부과합니다. Meta의 요금 안내 페이지에는 사업자는 메시지가 전달된 경우에만 요금이 부과된다고 나와 있으므로, 유효 시간이 끝나 버려진 메시지에는 요금이 없습니다. 따라서 유효 시간을 줄여도 비용이 늘지 않으며, 오히려 너무 늦어 도움이 되지 않았을 메시지의 요금을 아낄 수 있습니다. 한국에는 별도 요금이 없고 수신자 번호의 국가에 따라 정해집니다. Meta가 사업자에게 직접 청구하고, Meta 공식 비즈니스 파트너(official Meta Business Partner)인 MonoChat은 수수료를 더하지 않습니다. 캠페인 비용은 대량 메시지 비용 계산기로 계산해 보세요.
체크리스트
- 일정 시간이 지나면 사실이 아니게 되는 메시지를 가진 템플릿 정리: 코드, “배송 중”, “준비 완료”, 당일 알림, 한정 세일
- 인증 템플릿: 유효 시간을 **코드 유효 시간(분, 1–90)**과 같거나 더 짧게
- 2024년 10월 23일 이전에 만든 인증 템플릿: 값을 지정하지 않으면 30일 그대로
- 시간에 묶인 유틸리티 안내: 안내가 사실이 아니게 되는 때에 끝나는 유효 시간
- 영수증, 확인서, 청구서: 비워 두기
- 수명이 다른 메시지는 템플릿 분리
- 버려진 메시지의 대안 마련: 앱에서 다시 받기, 전화, 고객이 메시지를 보냈을 때 새 메시지
- Meta가 템플릿 카테고리를 바꾼 뒤: 유효 시간 다시 설정
출처
- Meta for Developers: Configure message time-to-live (재시도, 카테고리별 기본값과 범위, 버려진 메시지, 전달됨 웹훅, 인증 권장 사항, 카테고리 변경. 2026년 11월 6일 확인)
- Meta for Developers: Pricing on the WhatsApp Business Platform (“Businesses are only charged when a message is delivered”. 2026년 11월 6일 확인)
- MonoChat 도움말 센터: 메시지 템플릿 (메시지 유효 시간 항목과 범위, 일회용 비밀번호 코드 유효 시간, Marketing Messages API. 2026년 11월 6일 확인)
- MonoChat 변경 내역 3.8.46 (유틸리티와 인증 템플릿의 메시지 유효 시간. 2026년 11월 6일 확인)
MonoChat으로 실행해 보세요