상상해 보세요. Android 사용자를 대상으로 푸시 캠페인을 시작했습니다. 대시보드에는 ‘전송됨’이라고 표시됩니다. 하지만 오픈율은 예상의 절반에 불과하고, 문제가 잘못된 크리에이티브 때문인지 아니면 전송 실패 때문인지 알 수 없습니다.
Android에서는 둘 다 아닌 경우가 많습니다. 알림 채널, 우선순위 설정, 그리고 공격적인 OEM 배터리 정책이 사용자가 보기도 전에 메시지를 조용히 없애버릴 수 있습니다. 대시보드에는 오류가 표시되지 않고, 분석 데이터도 이를 설명해주지 않습니다. 메시지는 그냥 사라져 버립니다.
이것은 진단 플레이북입니다. Android 전송 퍼널이 실제로 무너지는 지점과, 개발팀의 몇 주간의 조사 없이도 이에 대해 무엇을 할 수 있는지 알아봅니다.
푸시 알림은 실제로 어디에서 사라질까요?
대부분의 모바일 앱 팀은 전송됨(sent)과 열림(opened)이라는 두 가지 수치만 추적합니다. 하지만 Android에는 4단계가 있으며, 가장 큰 손실은 아무도 보지 않는 중간 지점에서 발생합니다.
각 전환 단계에는 고유한 실패 모드가 있습니다:
전송됨 → 도달됨. 메시지가 서버를 떠났지만 기기에는 도달하지 않았습니다. 일반적인 원인: 만료된 FCM 토큰, 장기간 오프라인 상태인 기기, 데이터베이스에 오래된 토큰이 남아 있는 상태에서 앱 제거.
도달됨 → 표시됨. 메시지가 기기에는 도달했지만 사용자에게는 표시되지 않았습니다. 바로 이 지점에 Android 관련 문제가 존재합니다. OEM 배터리 최적화가 알림을 차단하거나, 알림 채널이 음소거 또는 비활성화되었거나, 우선순위 설정으로 인해 무음으로 전송되는 경우입니다.
표시됨 → 열림. 사용자가 알림을 봤지만 탭하지 않았습니다. 이 단계에서야 비로소 크리에이티브, 타이밍, 관련성이 중요해집니다. 하지만 이는 앞선 두 단계가 제대로 작동하는지 확인한 후에야 의미가 있습니다.
핵심은 이것입니다. 도달-표시 비율이 낮다면, 문구를 아무리 A/B 테스트해도 소용이 없습니다. 아무도 보지 않는 메시지를 최적화하고 있는 셈입니다. 3단계로 실제 문제를 찾아 해결하는 방법을 소개합니다.
Android 푸시 전송을 조용히 막는 3가지 주요 원인
알림 채널: 1개의 기본 채널 ≠ 전략
Android 8.0부터 모든 알림은 채널에 할당되어야 합니다. 사용자는 각 채널을 독립적으로 제어할 수 있습니다. 음소거하거나, 동작을 변경하거나, 완전히 비활성화할 수 있습니다.
문제는 프로모션, 거래 알림, 리마인더 등 모든 메시지가 1개의 기본 채널을 통해 전송될 때 발생합니다. 한 명의 성가신 사용자가 모든 것을 음소거해 버립니다. 그들은 프로모션을 덜 받고 싶었을 뿐인데, 주문 확인, 결제 영수증, 보안 알림까지 놓치게 됩니다.
해결책: 사용 사례별로 채널을 구성하세요. 최소한 거래 메시지(주문 상태, 결제 확인)와 프로모션 메시지(혜택, 재참여 유도)는 분리해야 합니다. 각 채널은 고유한 중요도 수준을 갖게 됩니다.
진단 신호: 프로모션과 거래 메시지 등 모든 메시지 유형에서 이탈률이 동일하다면, 채널 구조에 문제가 있을 가능성이 높습니다. 사용자들이 모든 것을 전달하는 단 하나의 채널을 음소거하고 있는 것입니다.
우선순위 및 중요도: 메시지가 조용히 도착하는 이유
알림이 어떻게 동작하는지를 제어하는 두 가지 계층이 있으며, 이를 혼동하는 것이 가장 흔한 실수 중 하나입니다.
**FCM 우선순위**는 시스템이 기기에 메시지를 얼마나 긴급하게 전달할지를 결정합니다. HIGH 우선순위는 기기를 즉시 깨우지만, NORMAL은 일괄 처리되어 지연될 수 있습니다.
**채널 중요도**는 알림이 기기에 도착했을 때 사용자에게 어떻게 표시될지를 결정합니다. HIGH 중요도는 헤드업 배너와 소리를 유발합니다. DEFAULT는 알림 창에 조용히 표시됩니다.
함정: HIGH FCM 우선순위 + DEFAULT 채널 중요도 = 메시지는 기기에 즉시 도달하지만, 알림 트레이에 보이지 않게 머무릅니다. 분석 데이터에는 ‘도달됨’으로 표시되지만, 사용자는 전혀 알아차리지 못합니다.
OEM 배터리 정책
순정 Android는 이야기의 일부일 뿐입니다. 삼성, 샤오미, 화웨이, 오포, 비보는 각각 Android의 기본 설정 위에 자체적인 공격적인 배터리 최적화 정책을 적용합니다. 이러한 정책은 FCM 토큰이 유효하고 전송이 ‘성공’했음에도 불구하고 앱이 푸시 알림을 전혀 받지 못하게 할 수 있습니다.
제조업체별로 어떻게 문제가 발생하는지 살펴보겠습니다:
- 샤오미 (MIUI): 자동 시작이 기본적으로 비활성화되어 있습니다. 기기 재부팅 후, 사용자가 자동 시작 권한을 부여하지 않는 한, 수동으로 앱을 열기 전까지는 푸시 알림을 받을 수 없습니다.
- 화웨이 (EMUI/HarmonyOS): 공격적인 앱 종료 기능이 백그라운드 프로세스를 종료합니다. 최근에 앱을 사용했더라도 일정 시간 활동이 없으면 푸시 도착이 중단됩니다.
- 삼성 (One UI): ‘절전 상태 앱’ 및 ‘초절전 상태 앱’ 목록은 사용자가 최근에 열지 않은 앱의 알림을 지연시키거나 차단합니다.
- 오포/비보 (ColorOS/Funtouch): 백그라운드 활동 제한이 알림을 조용히 억제합니다. 앱이 열려 있을 때는 정상적으로 작동하는 것처럼 보이지만, 백그라운드 전송은 실패합니다.
공통점은 이 모든 OEM에서 사용자가 명시적으로 앱의 백그라운드 실행을 허용해야 한다는 것입니다. 이 권한이 없으면, 서류상으로는 전송이 ‘성공’하지만 알림은 결코 표시되지 않습니다.
진단 신호: 동일한 캠페인 내에서 기기 제조업체별로 전송률이나 오픈율이 크게 차이 난다면, 거의 확실하게 OEM 제한이 원인입니다.
문제가 발생하는 지점을 찾아 해결하기
무엇이 잘못될 수 있는지 이해했습니다. 이제 특정 문제를 찾아 해결하는 방법을 알아봅니다.
1. 진단 도구 설정하기
기기별로 세그먼트화. OS 버전 및 기기 제조업체별로 Android 전용 세그먼트를 생성하세요. 이것이 가장 중요한 단일 진단 도구입니다. 이를 통해 전송 문제가 보편적인지 아니면 특정 OEM에 국한된 것인지 확인할 수 있습니다.
전체 퍼널 추적. SDK가 ‘전송됨’뿐만 아니라 ‘도달됨’과 ‘열림’을 별개의 이벤트로 보고하도록 설정되었는지 확인하세요. 이것이 없으면 퍼널의 중간 단계를 볼 수 없습니다.
사용 사례별로 알림 채널 구성. 최소한 거래(주문 상태, 보안 알림)와 프로모션(혜택, 재참여 유도)을 분리하세요. 각 채널은 고유한 중요도 수준을 가져야 합니다.
개발 요청 (일회성 설정):
- 기기 제조업체, OS 버전, 모델을 세그먼트화를 위한 사용자 속성으로 전달
- 전송 추적이 SDK에 올바르게 구성되었는지 확인
- 코드에서 적절한 중요도 수준으로 알림 채널 정의
2. 진단 여정 실행하기
동일한 캠페인을 Android 세그먼트(제조업체별로 분리)와 iOS 잠재고객에게 보내세요. 여정 이탈 및 오픈을 단계별로 비교합니다.
이 목적을 위해, 마케터 친화적인 Pushwoosh Customer Journey Builder 사용을 권장합니다 (무료로 가입하여 테스트해 볼 수 있습니다):
- ⚠️ Android 세그먼트는 전송 단계에서 이탈하고 iOS는 유지됨 → 인프라 문제: OEM 제한, 토큰 문제 또는 채널 구성 오류.
- ⚠️ 두 플랫폼 모두 오픈 단계에서 동일하게 이탈함 → 메시지 문제: 크리에이티브, 타이밍 또는 관련성.
- ⚠️ 한 제조업체에서 유독 많이 이탈함 → OEM 관련 문제를 찾았습니다.
- ⚠️ 전송은 정상이지만 모든 기기에서 오픈율이 낮음 → 우선순위/중요도 설정을 확인하세요. HIGH 우선순위 메시지를 DEFAULT 중요도 채널로 보내고 있을 수 있습니다. 이는 메시지가 빨리 도착하지만 조용히 표시됨을 의미합니다.
3. 향후 손실 예방하기
우선순위를 중요도에 맞추기. 긴급한 메시지(반짝 세일, 보안 알림) → HIGH 우선순위, HIGH 중요도. 긴급하지 않은 콘텐츠(요약, 팁) → NORMAL/DEFAULT.
모든 것을 HIGH로 설정하지 마세요. 사용자가 채널을 완전히 음소거하게 만드는 지름길입니다.
빈도 제한 및 방해 금지 시간 적용. 과도한 메시지 발송은 채널 음소거로 가는 가장 빠른 길입니다. 채널별 빈도 제한을 설정하고 방해 금지 시간으로 현지 시간대를 존중하세요. 이것이 전송 문제를 직접 해결하지는 않지만, 전송률을 보호합니다.
사일런트 푸시 현명하게 사용하기. 사일런트 푸시 알림을 사용하면 사용자에게 보이는 알림 없이 백그라운드에서 앱 콘텐츠를 업데이트하고 데이터를 동기화할 수 있습니다. 이는 앱을 최신 상태로 유지하는 강력한 도구이지만, 배터리 최적화가 적용된 OEM에서는 자체적인 전송 제약이 있습니다.
대체 여정 구축하기. 이것이 안전망입니다. 푸시 알림이 N시간 내에 열리지 않으면 인앱 메시지, 이메일 또는 SMS와 같은 다른 채널을 통해 후속 조치를 트리거하세요. 이는 OEM 전송 실패, 음소거된 채널, 참여도가 낮은 세그먼트를 대비할 수 있게 해줍니다.
Pushwoosh로 Android 푸시 전송 문제 해결하기
목표는 반복 가능한 주기입니다: 세그먼트화 → 측정 → 실패 지점 식별 → 올바른 계층 수정. 문제가 전송일 때 크리에이티브를 탓하지 않고, 문제가 크리에이티브일 때 전송을 탓하지 않는 것입니다.
시작할 준비가 되셨나요? Pushwoosh에서 첫 번째 세그먼트를 만들어 퍼널이 실제로 어디에서 무너지는지 테스트해 보세요.