구독·결제 운영
grace period, account hold, offers, 가격 변경을 운영하는 기준
기준일
2026년 3월 13일. subscription payment recovery, base plans/offers, price availability는 공식 Play Console Help 문서를 기준으로 정리했습니다.
Android 구독 운영의 핵심은 결제 실패를 얼마나 잘 회수하느냐입니다. Play Console은 grace period,
account hold, base plan, offer를 세밀하게 운영할 수 있지만, 구조를 잘못 잡으면 CS와 리포트가
빠르게 꼬입니다.
운영자가 봐야 하는 구독 상태
| 상태 | 무엇이 일어나는가 | 운영 액션 |
|---|---|---|
| Active | 정상 결제 중 | base plan과 혜택 메시지 유지 |
| Grace period | 결제 복구 시도 중, 권한 유지 | 결제 수단 업데이트 유도 |
| Account hold | 권한 정지, 복구 가능 | 앱 내 복구 경로와 FAQ 노출 |
| Canceled | 다음 갱신 없음 | 만료 전 복귀 메시지 설계 |
| Expired | 권한 종료 | win-back offer와 재구독 경로 제공 |
결제 실패 회수 운영 기준
- grace period는
고객 친화 정책이 아니라 복구 창으로 봅니다. - account hold는 서버/CRM에서 고정 기간 가정 없이 상태 기반으로 읽습니다.
- 결제 실패 고객 코호트는 별도 리포트로 분리합니다.
- 오퍼는 acquisition용, recovery용, win-back용을 나눠 기록합니다.
회수 기간 메모
2025년 12월 1일부터 Play는 account hold 기본값을 자동 계산 방식으로 전환했습니다. grace period는 최대 30일, account hold는 최대 60일까지 설정할 수 있으며, 합산 상한은 60일입니다. Google은 앞으로 이 계산을 바꿀 수 있다고 안내합니다. 회수 기간을 30일에서 60일로 늘린 개발사는 평균 10% 비자발적 이탈 감소를 보고하고 있습니다. 앱, CRM, 백오피스에서 고정일수를 하드코딩하지 말고 현재 subscription state를 기준으로 운영해야 합니다.
연속 사례: FocusFlow Android 구독 운영
| 상황 | FocusFlow 운영 기준 |
|---|---|
| monthly_base 결제 실패 | grace period 동안 홈 화면 복구 CTA 노출 |
| account hold 진입 | 권한 축소 + FAQ와 복구 버튼 동시 노출 |
| annual_base 전환 유도 | monthly_base 사용자에게 annual offer 실험 |
| 30일 이탈 증가 | winback_offer_30d 코호트 분리 |
Play Billing Library 8과 구독 신기능 (2025~2026)
Play Billing Library 8(2025.6.30 출시)과 I/O 2025에서 구독 운영에 영향을 주는 주요 변경이 있었습니다.
| 신기능 | 설명 | 운영 영향 |
|---|---|---|
| Subscription with Add-Ons | 여러 구독 상품을 하나의 결제로 번들 (최대 50개, 같은 결제 주기) | 카탈로그 구조 재설계 필요 |
| Installment Subscriptions | 브라질, 프랑스, 이탈리아, 스페인에서 분할 결제 (BL7+) | 해당 국가 가격 전략 재검토 |
| Suspended Subscriptions 조회 | queryPurchasesAsync()로 일시정지 구독 조회 가능 (BL8) | CRM/리포트에서 상태 분리 |
| Non-expiring Subscriptions | 만료 없는 구독 지원 (BL8) | 영구 멤버십 상품 설계 가능 |
| External Content Links API | 외부 디지털 콘텐츠로 링크 (BL8, 미국 등) | 대체결제 운영 체계 필요 |
BL7 의무화 완료
2025년 8월 31일부터 Play Billing Library 7 이상이 필수입니다. ProrationMode는 폐지되어
ReplacementMode로 전환해야 합니다. BL8 마이그레이션은 아직 선택이지만, 신기능 활용을 위해 권장됩니다.
가격과 offer 운영
- price change는 country와 base plan 단위로 먼저 정리합니다.
- 같은 혜택이면 새 상품보다 offer를 우선 사용합니다.
- developer-determined eligibility offer는 태그를 같이 운용합니다.
- 신규 국가 오픈 시 base plan과 offer availability를 함께 봅니다.
글로벌 기본
- subscription product, base plan, offer의 naming rule을 고정합니다.
- recovery 관련 KPI는
grace period,account hold,expired를 분리합니다. - country availability는 launch 문서와 동일한 키를 씁니다.
- 앱/CRM/CS 문서가 같은 상태 이름을 쓰게 맞춥니다.
한국 메모
- 한국어 앱이라면
결제 실패,자동 결제 갱신,구독 해지,Google Play 결제 여부 확인문구를 CS 매크로에 별도로 둡니다. - 자체 결제와 Play Billing 문의가 섞이지 않게 문의 첫 단계에서 청구 수단을 먼저 받습니다.
- 결제/청약철회 문안은 웹서비스 운영을 위한 약관 가이드와 함께 맞춥니다.
| 한국 운영 포인트 | 이유 |
|---|---|
Google Play 결제 여부를 첫 질문으로 둠 | 외부 결제와 Play Billing 문의를 분리하기 위해 |
| account hold FAQ를 한국어로 별도 유지 | 권한 정지 문의를 빠르게 닫기 위해 |
| 가격 변경 주간에 CS 매크로 선배포 | 결제 문의 급증에 대비하기 위해 |
실무 팁
회수 운영은 활성 구독자 수보다 grace period 진입 수, account hold 체류 수, 복구 후 재활성화 수
를 같이 봐야 품질이 드러납니다.
참고 자료
- Play Console Help - Changes to Google Play subscription payment recovery periods
- Play Console Help - Understanding subscriptions
- Play Console Help - Create and manage subscriptions
- Android Developers - Subscription purchases lifecycle
- Android Developers - Subscription with Add-ons
- Android Developers - Migrate to Billing Library 8