iOS 페이월 실수 7가지: 첫 앱의 매출을 막는 원인
글: Mehdi Azizi
업데이트, 9분
타이밍이 틀린 페이월, 없는 무료 체험, 빠진 구매 복원 버튼과 Apple 필수 안내 문구. iOS 앱이 팔리지 않게 만드는 페이월 실수 7가지와 고치는 방법이에요.
iOS 페이월로 매출이 나지 않는 이유
앱은 App Store에 올라가 있고 설치도 들어오는데, 구독하는 사람은 거의 없어요. 대부분은 아이디어나 코드가 문제가 아니에요. 문제는 iOS 페이월이에요. 유료 상품을 보여주고 사용자에게 결제를 요청하는 바로 그 화면이요. 잘못된 타이밍에 뜨는 페이월, 무료 체험이 없는 페이월, 복원 버튼이 없거나 Apple이 요구하는 안내 문구가 빠진 페이월은 팔리지 않거나 심사에서 리젝돼요.
첫 앱에서 제가 가장 자주 보는 실수 7가지와 각각 고치는 방법을 정리했어요. 마법 같은 비법은 없어요. Apple에 다음 빌드를 제출하기 전에 바로 적용하고 확인할 수 있는 구체적인 설정들이에요.
저는 구독형 iOS 앱을 직접 출시하고 있어요. 미니게임 알람 앱 Solys와 트레이딩 시뮬레이터 TradaZen인데, 둘 다 RevenueCat에 연동돼 있어요. 두 앱 모두에서 같은 상황을 겪었어요. 설치는 많은데 무료 체험을 시작하는 사람은 아주 적었죠. 제품 자체가 문제는 아니었어요. 페이월과 온보딩이 체험으로 충분히 명확하게 이어지지 않았던 거예요. 그게 두 앱을 대대적으로 손본 이유 중 하나였고, 이 목록도 거기서 나왔어요.
실수 1: 페이월을 너무 일찍, 또는 너무 늦게 보여주기
가장 비싼 실수인데, 양쪽 방향으로 다 일어나요.
너무 이른 경우는 사용자가 앱이 뭘 하는지 이해하기도 전에 페이월이 뜨는 거예요. 앱을 열고, 가격을 보고, 닫아요. 아직 아무것도 보지 못했으니 돈을 낼 이유가 없어요.
너무 늦은 경우는 페이월이 설정 안의 "Premium" 버튼 뒤에 숨어 있거나, 며칠 사용한 뒤에야 나타나는 거예요. 대부분의 사용자는 끝내 보지 못해요. 그리고 상품을 보지 못한 사용자는 구독할 수 없어요.
적절한 타이밍은 그 사이에 있어요. 온보딩이 끝날 때, 사용자가 앱의 가치를 느낀 직후예요. 몇 가지 질문에 답했고, 앱이 자기에게 뭘 해줄지 봤고, 어쩌면 핵심 기능도 써봤어요. 바로 그때 상품이 의미가 있어요.
구체적으로는:
- 온보딩은 쓸모 있는 질문을 하고 결과를 미리 보여줘요.
- 페이월은 이 흐름의 중간이 아니라 끝에 나와요.
- 사용자가 무료 버전의 한계에 부딪히는 순간에 나중에 다시 보여줄 수도 있어요. 지금까지 무료였던 기능을 유료로 바꾼다면 먼저 가이드라인 3.2.2 가이드를 읽어보세요.
실수 2: 무료 체험을 제공하지 않기
아직 아무도 모르는 앱에서 바로 결제하라고 하는 건 큰 도약이에요. 무료 체험은 그 부담을 줄여줘요. 사용자는 위험 없이 써보고, 해지하지 않으면 체험 기간이 끝날 때 결제가 시작돼요.
Apple은 자동 갱신 구독에 대해 이 방식을 introductory offer(도입 혜택)라는 이름으로 제공해요. Apple의 구독 페이지에서 기억할 규칙은 두 가지예요.
- 고객 한 명은 구독 그룹당 도입 혜택을 한 번만 받을 수 있어요.
- 구매 흐름에서 체험 기간과 체험 종료 후 청구되는 가격을 명확하게 표시해야 해요.
흔한 실수는 체험을 제공하면서 그걸 말하지 않는 거예요. 버튼에 "Subscribe"만 적혀 있으면 사용자는 무료로 써볼 수 있다는 걸 몰라요. 버튼 위나 버튼 바로 위에 분명하게 적으세요. 체험 기간, 그다음 가격이요. 잠자는 설치와 시작되는 체험의 차이를 만드는 게 바로 이런 디테일이에요.
실수 3: 연간 구독을 제대로 강조하지 않기
많은 첫 앱이 월간과 연간을 제공하지만, 위계 없이 나란히 똑같은 두 옵션처럼 보여줘요. 결과적으로 사용자는 망설이고, 망설이는 사용자는 화면을 닫는 경우가 많아요.
그런데 연간 구독은 사용자와 개발자 모두에게 장점이 있어요. 사용자에게는 월 환산 가격이 더 낮고, 개발자에게는 더 긴 약정이에요. 정직하게 강조하려면:
- 기본 선택으로 지정하고 시각적으로 구분되게 보여주세요.
- 연간 가격 옆에 월 환산 가격을 표시해서 바로 비교되게 하세요.
- 월간 대비 실제 절약액을 표시하세요. 실제 가격으로 계산해야 하고, 지어낸 기준 가격은 절대 쓰면 안 돼요.
반대로 과하게 가지 않도록 조심하세요. 실제로 청구되는 가격이 가장 눈에 잘 띄어야 해요. Apple은 전체 갱신 가격을 명확하고 눈에 띄게 표시하라고 요구해요. 월 환산 가격은 크게, 실제 연간 가격은 아주 작게 쓰면 기만적인 페이월이고, 가이드라인 3.1.2에 따른 리젝 사유예요.
실수 4: 구매 복원 버튼을 빠뜨리기
가장 어처구니없으면서도 가장 흔한 누락 중 하나예요. 구독자가 iPhone을 바꾸고 앱을 다시 설치했더니, 이미 돈을 내고 있는데도 페이월 앞에 서 있어요. "Restore Purchases" 버튼이 없으면 접근 권한을 되찾을 방법이 없어요.
선택 사항이 아니에요. App Store 심사 지침(가이드라인 3.1.1)은 복원 가능한 모든 인앱 구매에 복원 기능을 요구하고, Apple의 구독 페이지는 가입 화면의 요소로 "a way for existing subscribers to sign in or restore purchases"를 꼽아요.
RevenueCat을 쓰면 복원은 호출 한 번이면 돼요. 진짜 일은 그다음에 일어나는 걸 확인하는 거예요.
- 구독자가 앱을 재시작하지 않아도 접근 권한을 제대로 되찾는지
- 구매 내역이 없는 사용자에게 기술적인 오류가 아니라 명확한 메시지가 뜨는지
- 버튼이 설정 안에만 있지 않고 페이월 화면 자체에 보이는지
실수 5: Apple이 요구하는 안내 문구를 빠뜨리기
사용자가 무엇을 결제하는지 명확히 말하지 않는 페이월은 리젝될 수 있어요. Apple은 구독 전용 페이지에서 가입 화면에 들어가야 할 내용을 자세히 설명해요.
- 구독의 이름과 기간, 그리고 그 기간 동안 제공되는 것
- 전체 갱신 가격, 명확하게 표시하고 제공되는 통화로 현지화할 것
- 구매를 복원하는 방법(앞의 실수 참고)
자동 갱신에 대한 명시적인 문장도 추가하세요. 사용자가 해지하지 않는 한 구독이 갱신되고, Apple 계정 설정에서 해지할 수 있다는 내용이요.
같은 페이지에는 앱과 App Store 메타데이터에 이용약관과 개인정보 처리방침 링크가 있어야 한다는 내용도 있어요. 많은 분이 리젝을 받고서야 알게 되는 부분이에요. 앱 안에 링크를 넣는 것만으로는 부족하고, App Store 상품 페이지 설명에도 구독 조건 안내와 이 두 링크가 있어야 해요. 없으면 가이드라인 3.1.2로 리젝돼요. 제 구독형 앱들은 설명 마지막에 짧은 블록을 넣어요. 구독 조건, 그다음 이용약관 링크와 개인정보 처리방침 링크요. 상품 페이지를 번역했다면 이 블록이 모든 언어에 있어야 해요.
링크를 붙여넣기 전에 브라우저에서 열어보세요. 존재하지 않는 페이지로 가는 링크는 링크가 없는 것과 같아요.
자주 나오는 다른 리젝 사유는 Apple 리젝에 관한 이 글에 정리했고, App Store 상품 페이지 자체는 별도 페이지가 있어요: App Store 상품 페이지 최적화하기.
실수 6: 샌드박스에서 페이월을 테스트하지 않기
시뮬레이터에서 잘 뜨는 페이월이 제대로 작동하는 페이월은 아니에요. App Store Connect의 상품 설정, RevenueCat의 오퍼링, 앱 코드 사이에는 작은 디테일 하나로 망가질 수 있는 곳이 많아요. 잘못 연결된 상품, 로드되지 않는 가격, 표시되지 않는 체험 같은 것들이요.
이를 위해 Apple은 테스트 환경인 샌드박스(sandbox)를 제공해요. App Store Connect의 "Users and Access"에서 Sandbox 탭으로 들어가 테스트용 Apple 계정을 만들 수 있어요. App Store Connect 문서에 나와 있듯이, 이 계정으로 갱신, 결제 실패, 환불까지 포함해 실제 결제 없이 구매를 테스트할 수 있어요.
제출하기 전에는 실제 iPhone에서 최소한 이 흐름을 돌려보세요.
- 첫 실행, 온보딩 완료, 페이월 도착
- 테스트 계정으로 체험 시작
- 프리미엄 기능이 제대로 열리는지 확인
- 앱 삭제, 재설치, 구매 복원
- 지원하는 가장 작은 iPhone과 가장 큰 iPhone에서 페이월이 제대로 표시되는지 확인
Apple 심사자도 구매를 테스트해요. 막히면 리젝이에요.
실수 7: 아무것도 측정하지 않기
나머지 모든 실수를 고치지 못하게 만드는 실수예요. 측정하지 않으면 사용자가 어디서 이탈하는지 몰라요. 최종 결과, 즉 구독자가 적다는 것만 보여요. 문제가 온보딩인지, 페이월인지, 가격인지, 체험인지 알 수 없어요.
제 앱들에서 문제를 발견할 수 있었던 것도 바로 이 덕분이에요. 설치는 있는데 체험 시작은 없었죠. 이 두 숫자를 나란히 보지 않았다면 몇 주 동안 엉뚱한 걸 고치고 있었을지도 몰라요.
PostHog 같은 도구로 핵심 단계마다 분석 이벤트를 심으세요.
- 온보딩 시작
- 온보딩 완료
- 페이월 표시
- 체험 시작
- 구매 또는 구독 확정
- 복원 성공
이 이벤트들로 퍼널을 만들 수 있어요. 사용자가 떠나는 단계가 보이고, 무엇부터 고쳐야 할지 알게 돼요. RevenueCat은 매출 쪽 데이터로 보완해줘요. 체험, 전환, 갱신, 해지요.
마지막 조언 하나. 한꺼번에 다 바꾸지 마세요. 가격, 체험, 페이월 디자인을 같은 날 바꾸면 무엇 때문에 숫자가 움직였는지 절대 알 수 없어요.
다음 제출 전 페이월 체크리스트
- 페이월이 가치를 보여준 뒤, 온보딩 끝에 나온다.
- 무료 체험이 명확하게 표시된다: 기간, 그다음 체험 후 가격.
- 연간 구독이 정직하게 강조되고, 실제 청구 가격이 잘 읽힌다.
- "Restore Purchases" 버튼이 페이월에 있고 작동한다.
- 이름, 기간, 갱신 가격, 자동 갱신 안내가 표시된다.
- 이용약관과 개인정보 처리방침 링크가 앱 안과 App Store 설명에, 모든 언어로 있다.
- 전체 구매 흐름을 실제 iPhone에서 샌드박스로 테스트했다.
- 분석 이벤트가 온보딩부터 구매까지 모든 단계를 커버한다.
구독과 일회성 결제 중 모델 자체를 아직 고민 중이라면 전용 가이드를 써두었어요: 첫 iOS 앱, 구독일까 일회성 구매일까. 상품, RevenueCat, 검증까지 기술적인 전체 내용은 iOS 인앱 구독 페이지에 모두 있어요.
iOS Kit로 페이월 만들기
페이월은 한 조각일 뿐이에요. 앞에 오는 온보딩, 정하는 가격, 사용자를 데려오는 App Store 상품 페이지, 그리고 범위를 잘 잡은 첫 버전에서 단순하게 유지해야 할 앱의 핵심 기능에 달려 있어요.
준비된 기반에서 시작하고 싶다면, 온보딩, 페이월, 구독이 iOS Kit의 Starter Code에 이미 들어 있고, 과정의 세 번째 단계에서 이것들을 여러분의 앱에 연결해요. 누구도 수익을 보장해줄 수는 없어요.
제출 전에는 Apple Review Kit의 Claude Code 스킬이 페이월과 Apple이 요구하는 안내 문구를 검토해줘요. 그리고 홈에서는 이 페이월이 이미 연결된 상태로 모바일 앱을 출시하는 방법을 보여줘요.
자주 묻는 질문
첫 앱의 매출을 막는 iOS 페이월 실수는 무엇인가요?
첫 앱에서 반복되는 실수는 일곱 가지예요. 너무 이르거나 너무 늦게 보여주는 페이월, 무료 체험 없음, 제대로 강조되지 않은 연간 구독이 있어요. 그다음으로 빠뜨린 복원 버튼, 누락된 Apple 필수 안내 문구, 샌드박스에서 한 번도 테스트하지 않은 페이월, 그리고 측정 없음이에요. 각각 구체적인 설정으로 고칠 수 있고, Apple에 다음 빌드를 제출하기 전에 확인하면 돼요.
iOS 앱에서 페이월은 언제 보여줘야 하나요?
온보딩이 끝날 때, 사용자가 앱의 가치를 느낀 직후예요. 너무 이르면 앱이 뭘 하는지 이해하지 못한 채 가격만 보게 돼요. 너무 늦으면, 예를 들어 설정 안의 "Premium" 버튼 뒤에 있으면 대부분의 사용자는 끝내 보지 못해요. 사용자가 무료 버전의 한계에 부딪힐 때 나중에 다시 보여줄 수도 있어요.
Apple 규칙을 지키려면 iOS 페이월에 무엇을 표시해야 하나요?
Apple은 가입 화면에 구독의 이름과 기간, 제공 내용, 명확하게 표시된 전체 갱신 가격, 구매 복원 방법을 요구해요. 이용약관과 개인정보 처리방침 링크도 앱 안과 App Store 상품 페이지 설명에 있어야 해요. 설명에 이 링크가 없으면 리젝이에요. 자동 갱신에 대한 명시적인 문장도 추가하세요.
iOS 앱에서 무료 체험을 제공해야 하나요?
네, 특히 아직 아무도 모르는 앱이라면요. 바로 결제를 요청하는 건 큰 도약이고, 체험이 있으면 위험 없이 써볼 수 있어요. Apple은 이를 도입 혜택(introductory offer)이라고 부르고, 같은 고객에게 구독 그룹당 한 번으로 제한해요. 버튼이나 버튼 바로 위에 체험 기간, 그다음 이후 청구 가격을 적으세요.
사용자를 속이지 않고 연간 구독을 강조하려면 어떻게 하나요?
연간 구독을 기본 선택으로 지정하고, 시각적으로 구분되게 보여주고, 연간 가격 옆에 월 환산 가격을 표시하세요. 월간 대비 실제 절약액을 표시하되, 지어낸 기준 가격이 아니라 실제 가격으로 계산하세요. 실제 가격을 숨기지 마세요. 월 환산 가격은 크게, 연간 가격은 아주 작게 쓰면 기만적인 페이월이고 리젝 사유예요.
Apple에 제출하기 전에 iOS 페이월을 어떻게 테스트하나요?
Apple의 샌드박스(sandbox)를 쓰면 돼요. App Store Connect에서 만든 테스트 계정으로 실제 결제 없이 구매할 수 있어요. 실제 iPhone에서 전체 흐름을 돌려보세요. 온보딩, 체험 시작, 프리미엄 접근, 그다음 앱 삭제, 재설치, 구매 복원이에요. 지원하는 가장 작은 iPhone과 가장 큰 iPhone에서 표시도 확인하세요.