폭포수 라우팅이 필요한 이유는 무엇인가

같은 메시지를 채널 하나로 전체 유저에게 보내면 두 가지 문제가 생깁니다. 앱을 지운 유저나 푸시 권한을 꺼둔 유저는 애초에 메시지를 받지 못하고, 반대로 이미 문자·카카오로 반복 발송하면 도달률은 높지만 단가가 계속 쌓입니다. 폭포수(Cascading) 라우팅은 이 둘을 절충하는 구조로, 가장 저렴한 채널부터 순서대로 시도하고 응답이 없는 유저에게만 상위(고비용) 채널을 투입합니다.

2강에서 정리한 단가 구조를 그대로 순서에 반영하면, 발송 비용이 사실상 0원에 가까운 앱 푸시를 1차로 시도하고, 반응이 없으면 알림톡(정보성 메시지 한정, 건당 약 8원대)으로, 그래도 반응이 없으면 브랜드메시지나 문자(LMS 등 상대적 고비용) 순으로 넘어가는 구조가 됩니다. 다만 알림톡은 정보성 메시지 전용이라는 제약이 있으므로, 발송하려는 메시지가 광고성이라면 알림톡 단계를 건너뛰고 브랜드메시지로 바로 넘어가야 합니다 — 이 콘텐츠 성격 구분을 놓치면 알림톡을 광고성으로 오용하는 정책 위반이 됩니다.

'미반응'을 어떻게 정의해야 라우팅이 의미 있게 작동하는가

라우팅 설계에서 가장 중요한 결정은 무엇을 '실패'로 볼지입니다. 앱 푸시의 경우 발송 자체가 실패(미설치, 권한 거부, 토큰 만료)했는지와, 발송은 됐지만 유저가 안 열어본 것(미개봉)인지를 구분해야 합니다. 발송 실패는 즉시 다음 채널로 넘어가는 게 합리적이지만, 단순 미개봉은 유저가 알림을 봤지만 무시했을 가능성도 있으므로 일정 시간(예: 몇 시간)의 대기 윈도를 두고 판단하는 편이 안전합니다. 대기 윈도 없이 곧바로 다음 채널을 쏘면, 앱 푸시를 늦게 확인하는 유저에게 몇 분 뒤 알림톡까지 중복으로 꽂히는 경험이 생겨 오히려 피로도(7강)만 올립니다.

또한 클릭까지가 아니라 실제 행동(예: 장바구니 담기, 결제 완료)을 기준으로 라우팅을 멈춰야 합니다. 메시지를 열기만 하고 행동하지 않은 유저까지 '성공'으로 처리하면, 실제로는 전환이 안 됐는데도 상위 채널 투입이 멈춰 매출 기회를 놓치는 반대 방향의 오류가 생깁니다.

라우팅을 자동화하려면 어떤 기술 조건이 필요한가

채널을 순서대로 자동 전환하려면 각 채널의 발송 성공·실패·개봉·클릭 이벤트를 실시간으로 수집하고, 다음 채널 발송 여부를 조건부로 트리거하는 오케스트레이션 엔진이 필요합니다. 국내에서는 솔라피처럼 SMS·LMS·MMS·카카오 알림톡·브랜드메시지·RCS 등을 하나의 API와 콘솔로 묶는 메시징 플랫폼을 활용해 이런 조건부 발송 로직을 구현하는 방식이 흔히 쓰입니다. 이런 플랫폼은 발송 채널을 통합할 뿐 아니라 개인정보 동의 관리, 야간 발송 제한 자동화 같은 규제 준수 기능도 함께 제공하는 경우가 많아, 라우팅 로직에 컴플라이언스 체크(4강)를 자연스럽게 얹을 수 있습니다.

대규모 조직이라면 브레이즈 같은 CDP의 옴니채널 오케스트레이션 캔버스 기능을 쓰기도 합니다. 다만 이런 CDP는 월간 활성 사용자(MAU) 기반의 과금 구조로 비용이 상당히 크므로, 라우팅 자동화가 반드시 필요한 발송 볼륨과 조직 규모인지를 먼저 판단하는 편이 낫습니다. 발송량이 크지 않다면 메시징 API와 자체 배치 스크립트로도 폭포수 구조를 구현할 수 있습니다.

라우팅 설계에서 흔히 나오는 비용 최적화 실수는 무엇인가

가장 흔한 실수는 상위 채널에서 이미 반응한 유저에게 하위 채널 메시지가 중복 발송되는 경우입니다. 예를 들어 앱 푸시로 이미 구매까지 완료한 유저에게, 대기 윈도 설계가 부실해 몇 시간 뒤 알림톡·문자가 그대로 나가는 사고입니다. 이는 불필요한 발송 비용은 물론, 이미 구매한 고객에게 같은 메시지를 또 보내는 경험 저하로도 이어집니다. 라우팅 로직에는 반드시 '이미 목표 행동을 완료한 유저는 즉시 전체 큐에서 제외'하는 종료 조건을 넣어야 합니다.