App Store Connect 오퍼 코드: 프로모션 코드 만드는 법
글: Mehdi Azizi
게시, 8분
2026년 3월부터 인앱 구입 프로모션 코드는 오퍼 코드로 대체됐어요. 고유 코드나 커스텀 코드를 만들고 링크, App Store, 앱에서 사용해요.
App Store Connect에서 구독이나 인앱 구입용 프로모션 코드는 이제 오퍼 코드(offer code)라고 불러요. 2026년 3월 26일부터 Apple은 인앱 구입용 프로모션 코드를 더 이상 만들 수 없게 했어요. 이제 프로모션 코드는 유료 앱 다운로드를 선물하는 용도로만 쓰여요. 상품에 오퍼를 만들고, 그다음 고유 코드나 커스텀 코드를 생성해요. 받은 사람은 링크, App Store, 또는 앱 안에서 바로 코드를 사용해요.
제 앱들은 무료로 다운로드하고 구독을 판매해요. 그래서 앱 프로모션 코드는 저한테 아무 쓸모가 없어요. 그래서 TradaZen 코드에서는 추천 보상을 오퍼 코드로 주고, 앱이 직접 코드 사용 화면을 열어요. 여기서는 바뀐 점, Apple 오퍼 비교표, 코드 생성, 코드 사용, 그리고 가이드라인 3.1.1이 금지하는 것까지 다룰게요.
프로모션 코드와 오퍼 코드: 2026년에 바뀐 점
Apple은 2025년 10월 29일 개발자 뉴스에서 이제 오퍼 코드가 모든 인앱 구입을 지원한다고 발표했어요. 자동 갱신 구독에 더해 소모성, 비소모성, 비갱신 구독도 포함돼요. 그 결과 2026년 3월 26일부터는 인앱 구입용 프로모션 코드를 만들 수 없어요. 그전에 만든 코드는 만료될 때까지 계속 쓸 수 있어요.
앱 프로모션 코드는 여전히 있어요. App Store Connect 도움말에 따르면, 유료 앱 한 카피를 무료로 줘요. 코드 하나는 한 번만 쓸 수 있고 4주 동안 유효해요. 앱 사이드바의 Promo Codes에서 버전별, 플랫폼별로 최대 100개까지 요청할 수 있어요. 코드를 사용한 사람은 앱에 평점이나 리뷰를 남길 수 없어요.
구독을 판매하는 무료 앱에서는 앱 프로모션 코드로 줄 수 있는 게 없어요. 선물해야 하는 건 구독이고, 그건 오퍼 코드로 해요.
Apple의 오퍼: 누구를 위한 것이고, 어떻게 받나요
구독과 관련된 Apple 오퍼에 앱 프로모션 코드까지 더해서, 고를 때 늘 참고하는 표예요.
| 오퍼 유형 | 대상 | 받는 방법 |
|---|---|---|
| 신규 가입 혜택(introductory offer) | 그룹의 신규 구독자 | 구매 시 자동 적용 |
| 고유 오퍼 코드 | 특정한 한 사람 | 링크, App Store 또는 앱 |
| 커스텀 코드 | 캠페인, 특정 대상 | 링크 또는 앱에서 입력 |
| 프로모션 오퍼 | 현재 또는 이전 구독자 | 앱에서 제안 |
| 윈백 오퍼 | 이전 구독자 | 설정, App Store, 앱 |
| 앱 프로모션 코드 | 유료 앱만 | App Store에서 입력 |
오퍼 코드는 내가 앱 밖에서 직접 배포하라고 만든 거예요. 이메일, 웹사이트, 행사, 콘텐츠 크리에이터를 통해서요. 나머지 오퍼는 내가 정한 조건에 따라 주로 자동으로, 또는 앱 안에서 표시돼요. 무료 체험인 신규 가입 혜택은 따로 가이드가 있어요: introductory offer와 무료 체험.
구독용 오퍼 코드 만들기
구독 오퍼 코드 도움말의 절차는 두 단계예요. 오퍼를 만들고, 그다음 코드를 만들어요. 메뉴 이름은 Apple 도움말 그대로예요.
1. 오퍼. Subscriptions에서 그룹을 열고 구독을 열어요. Subscription Prices에서 더하기 버튼을 누르고 Create Offer Codes를 눌러요. 그다음:
- 참조 이름을 정해요. 판매 리포트에서 이 이름으로 보여요.
- 오퍼가 끝난 뒤 구독이 갱신될지 정해요. 갱신하지 않으면 무료 오퍼만 가능해요.
- 대상자를 체크해요: 그룹의 신규 구독자, 현재 구독자, 이전 구독자.
- 구독에 신규 가입 혜택이 있다면, 코드 오퍼 전에 그 혜택을 먼저 받게 할지, 코드 오퍼만 받게 할지 정해요.
- 국가를 고르고, 무료, 선불 결제, 기간별 결제 중에서 기간과 가격을 정해요.
만든 오퍼는 수정할 수 없어요. 대상자를 바꾸려면 새 오퍼를 만들어야 해요.
2. 코드. 오퍼 페이지에서 두 종류를 생성할 수 있어요.
- 고유 코드: 한 사람당 코드 하나, 500개에서 25,000개 단위로 만들어요. 생성 후 최대 6개월 안에 만료돼요. 코드와 링크가 담긴 파일을 내려받아요.
- 커스텀 코드: 내가 정한 단어로, 특수 문자 없이 최대 64자예요. 예를 들면 BACKTOSCHOOL(가상의 예시)이요. 몇 명이 쓸 수 있는지 정하고(배치당 최대 25,000명), 종료일은 선택이에요.
공통 제한: 앱당 분기별 코드 100만 개, 구독당 활성 오퍼 10개, 오퍼당 한 사람에 코드 하나예요. 코드가 사용 가능해지기까지 최대 1시간이 걸릴 수 있어요. 그리고 무엇보다, 코드를 사용하려면 앱이 판매 중이어야 해요. 출시 전에는 구독을 선물할 수 없어요.
테스트용으로 Apple은 샌드박스 코드를 제공해요. 배치당 10개에서 10,000개이고, iOS 16.3 이상에서 샌드박스 계정 설정에서 사용해요.
일회성 구매나 크레딧용 오퍼 코드
인앱 구입 오퍼 코드 페이지도 같은 방식이에요. In-App Purchases에서 해당 구입 항목을 열고, Offer Codes 섹션에서 Create Offer를 눌러요. 대상자는 앱 내 구매 이력으로 정해요: 구매한 적 없음, 최근 30일 안에 구매, 30일보다 전에 구매. 오퍼는 무료 또는 유료예요.
코드를 생성하려면 앱이 판매 중이고 구입 항목이 승인돼 있어야 해요. 앱 하나에 활성 오퍼는 동시에 최대 10개예요. 앱 안에서 사용하려면 iOS 16.3 이상이 필요해요.
사용자가 코드를 사용하는 방법
StoreKit 문서에는 세 가지 경로가 나와요.
- 사용 링크. App Store Connect가 오퍼 페이지에서 예시 링크를 주고, 여기에 코드를 붙이면 돼요. 앱이 설치돼 있지 않으면 먼저 다운로드하라는 안내가 나와요.
- App Store. 고유 코드는 계정의 Redeem Gift Card or Code 페이지에서 입력해요. 커스텀 코드는 링크나 앱으로만 사용해요.
- 내 앱. Swift에서는 SwiftUI의
offerCodeRedemption, UIKit의presentOfferCodeRedeemSheet를 써요. Expo 앱에서 RevenueCat을 쓴다면presentCodeRedemptionSheet예요.
RevenueCat 문서에 링크 형식이 나와 있어요: https://apps.apple.com/redeem?ctx=offercodes&id={apple_app_id}&code={code}. 또 Apple의 코드 사용 시트가 출시 이후 매우 불안정했다고 경고하면서, 대안으로 링크를 제안해요. 원리는 TypeScript로 이래요.
import { Linking } from "react-native";
import Purchases from "react-native-purchases";
const PAGE_ECHANGE = "https://apps.apple.com/redeem";
export async function echangerUnCode(): Promise<void> {
try {
await Purchases.presentCodeRedemptionSheet();
} catch {
await Linking.openURL(PAGE_ECHANGE); // 시트가 실패하면 대안으로 사용
}
}
시트는 아무 결과도 돌려주지 않아요. 권한은 구매 후와 똑같이, 앱에 이미 있는 addCustomerInfoUpdateListener 리스너로 들어와요. RevenueCat이 이 코드들의 매출을 제대로 집계하려면 In-App Purchase 키가 필요해요.
이게 TradaZen 코드에 준비해 둔 구성이에요. 추천 보상을 쓸 때는 앱이 코드가 미리 채워진 링크를 열어요. 코드를 다시 입력해야 하는 시트보다 더 안정적이에요. 받은 코드를 입력할 때는 네이티브 시트를 열고, 대안으로 App Store 코드 사용 페이지를 열어요. 어디에 입력해야 할지 모르는 코드는 쓸모가 없어요. App Store 계정 페이지는 깊숙이 숨어 있고, 아무 안내도 없거든요. 앱에 "코드가 있어요" 버튼 하나만 두면 해결돼요.
프로모션 오퍼와 윈백 오퍼, 간단히
이 두 오퍼는 내가 배포하는 코드를 쓰지 않지만, 같은 목적을 가져요. 구독자를 붙잡거나 다시 돌아오게 하는 거예요.
프로모션 오퍼는 현재 또는 이전 구독자가 대상이에요. 언제 보여줄지는 앱에서 내가 정해요. 예를 들면 해지하려는 사람에게요. 프로모션 오퍼 도움말에 따르면 구독당 활성 오퍼를 10개까지 둘 수 있어요. 구독이 판매되는 모든 국가에 적용되고, 이미 신규 가입 혜택을 받은 사람도 받을 수 있어요. 오퍼에 서명하려면 In-App Purchase 키가 필요해요.
윈백 오퍼(win-back)는 이전 구독자가 대상이에요. 윈백 오퍼 도움말에 조건이 자세히 나와요: 최소 유료 구독 기간, 구독 종료 후 지난 시간, 오퍼 간 대기 기간. Apple이 구독 관리 페이지에 자동으로 표시하고, iOS 18 이상에서는 앱 안에도 표시해요. 공유용 링크도 만들어 주는데, 대상자에게만 보내야 해요. App Store에 노출되려면 승인된 구독 이미지로 프로모션해야 하고, 이 이미지에는 앱 아이콘이나 스크린샷을 쓰면 안 돼요. 자세한 건 구독 프로모션 이미지 가이드에서 다뤄요.
가이드라인 3.1.1이 금지하는 것
가이드라인 3.1.1은 기능이나 콘텐츠를 잠금 해제할 때 인앱 구입을 쓰도록 요구해요. 라이선스 키나 QR 코드 같은 자체 방식은 금지돼요. 내가 직접 만든 코드를 앱 입력란에 넣어 프리미엄을 여는 방식은, 무료로 주더라도 3.1.1 리젝 사유가 될 수 있어요. 반면 Apple 오퍼 코드는 인앱 구입을 거쳐요. 전체 규칙은 가이드라인 3.1.1 가이드에 있어요.
추천 보상과 관련해 하나 더 있어요. 가이드라인 5.1.2는 보상(코드 포함)을 받는 조건으로 알림, 위치, 추적 허용을 요구하는 걸 금지해요. 그러니까 보상이 이런 권한에 좌우되면 안 돼요. 자세한 건 가이드라인 5.1.2 가이드에 있어요.
도구를 헷갈리지 않고 구독 선물하기
출시 전에 앱을 무료로 써보게 하려면 TestFlight를 쓰세요. 거기서는 구매가 테스트 환경을 거쳐서 실제로 결제되지 않아요. 출시 후에는 오퍼 코드를 쓰세요. 구독 자체를 구성하는 방법은 iOS 구독용 RevenueCat에 있어요.
iOS & Android Kit는 제 앱들의 Starter Code에서 출발해요. 온보딩, 페이월, 구독이 이미 코딩돼 있고, 세 번째 단계인 "수익 연결하기"에서 설정 방법을 안내해요. 전체 과정은 iOS 인앱 구독 페이지에 있어요. 첫 출시를 준비 중이라면 무료 진단을 받아 보세요. 단계를 순서대로 정리해 주고, Apple 리젝 방지 체크리스트도 보내 드려요.
자주 묻는 질문
App Store Connect에서 프로모션 코드는 어떻게 만드나요?
유료 앱이라면 앱 사이드바에서 Promo Codes를 열어요. 버전당 최대 100개, 4주 동안 유효해요. 구독이나 인앱 구입이라면 상품에 Create Offer Codes 또는 Create Offer로 오퍼를 만들고, 고유 코드나 커스텀 코드를 생성해요.
프로모션 코드와 오퍼 코드는 뭐가 다른가요?
프로모션 코드는 유료 앱 다운로드를 선물해요. 오퍼 코드는 구독이나 인앱 구입을 정해진 기간 동안 무료 또는 할인가로 줘요. 2026년 3월 26일부터 인앱 구입용으로는 오퍼 코드만 만들 수 있어요.
오퍼 코드는 몇 개까지 만들 수 있나요?
모든 상품을 합쳐 앱당 분기별 최대 100만 개예요. 고유 코드는 500개에서 25,000개 단위로 만들고, 커스텀 코드는 배치당 최대 25,000번 사용할 수 있어요. 구독 하나에 활성 오퍼는 동시에 최대 10개예요.
앱 출시 전에 오퍼 코드를 쓸 수 있나요?
아니요. 코드를 사용하려면 앱이 판매 중이어야 해요. 출시 전에는 테스터에게 TestFlight를 쓰고, 앱 안에서 코드 사용을 테스트할 때는 샌드박스 코드를 쓰세요.
현재 구독자도 오퍼 코드를 쓸 수 있나요?
네, 오퍼 대상자에 현재 구독자를 체크했다면요. Apple 구독 페이지에 따르면, 현재 구독과 같거나 더 높은 등급의 코드만 사용할 수 있어요.
사용자는 오퍼 코드를 어디에 입력하나요?
사용 링크로 하거나, 고유 코드라면 App Store 계정의 Redeem Gift Card or Code 페이지에서, 또는 앱에 코드 사용 시트를 넣었다면 앱 안에서 입력해요. 커스텀 코드는 링크나 앱으로 사용해요.

