매출과 구독

Firebase 매출과 App Store Connect 매출이 다른 이유

업데이트 2026-09-143 분 분량

짧은 답

두 시스템은 서로 다른 금액을 서로 다른 시점에 잽니다. GA4의 in_app_purchase는 앱이 관측한 구매를 속성 통화로 환산해 기록합니다. App Store Connect는 고객에게 청구된 판매액(Sales)과, 세금과 Apple 수수료를 뺀 수익금(Proceeds)을 보고하며 환불도 Apple 쪽에서 반영됩니다. 차이는 당연히 생기므로, 먼저 거래 건수를 맞춰 보고 금액은 그다음에 비교하세요.

구독 앱의 월말 마감입니다. GA4에는 구매 수익 $9,400, App Store Connect에는 판매액 $8,700과 수익금 $6,900이 나오고, 대표는 투자자 보고용 숫자 하나를 원합니다. 정직한 답은 숫자가 세 개이고, 각각 서로 다른 것에 대해 맞다는 것입니다.

각 시스템이 세는 것

GA4 (Firebase)App Store Connect
기록 출처구매 이벤트가 기록될 때의 앱Apple의 거래 기록
금액앱이 관측한 구매 가격 (속성 통화로 환산)판매액: 고객에게 청구된 금액. 수익금: 고객 가격에서 세금과 Apple 수수료를 뺀 금액
세금스토어 가격에 포함된 만큼App Store 가격에 세금이 포함된 경우에만 판매액에 포함
환불App Store 구매는 자동으로 차감되지 않음Apple 보고서에 반영됨
갱신app_store_subscription_renew로 수집된 경우에만Apple 보고서에 포함됨
샌드박스·테스트 구매in_app_purchase에서 제외포함되지 않음

합계가 벌어지는 이유

  • 수수료와 세금: 수익금은 고객 가격에서 해당 세금과 Apple 수수료를 뺀 금액이며, 수수료율은 가입한 프로그램과, 구독이라면 구독자가 결제를 이어온 기간에 따라 달라집니다
  • StoreKit 2: Firebase는 StoreKit 1 구매를 자동으로 기록하지만, StoreKit 2로 이루어진 구매는 Analytics.logTransaction()으로 직접 기록해야 합니다. 이 호출이 없으면 해당 구매는 GA4에 도달하지 않습니다
  • 중복 집계: GA4의 구매 지표에는 purchase와 in_app_purchase 이벤트가 모두 포함되므로, 같은 거래에 대해 앱이 purchase 이벤트를 따로 기록하면 매출이 두 번 잡힙니다
  • 환불: Apple 보고서는 환불을 반영하지만, GA4에는 원래의 iOS 구매가 그대로 남습니다
  • 같은 속성의 다른 플랫폼: Android 스트림의 Google Play 구매가 같은 GA4 합계에 더해집니다
  • 통화와 날짜: GA4는 금액을 속성 통화로 환산하고 속성 시간대로 날짜를 매기지만, Apple 보고서는 자체 날짜와 환율을 사용합니다

조사할 때는 순서가 중요합니다. 수수료, 세금, 통화는 금액의 차이를 설명합니다. StoreKit 2, 중복 집계, 환불, 다른 플랫폼은 거래 건수의 차이를 설명하며, 이쪽이 분석 데이터가 틀렸다는 뜻입니다.

맞춰 보는 방법

  1. GA4를 iOS 스트림으로 필터링하기

    App Store Connect와 비교하기 전에 구매 지표를 iOS 앱으로 제한하세요.

  2. 금액보다 거래 건수를 먼저 비교하기

    같은 날짜의 in_app_purchase 이벤트 수를 App Store Connect의 인앱 구매·구독 단위와 비교하세요. 건수는 맞는데 금액이 다르면 가격, 세금, 통화, 수수료의 차이입니다. 건수가 다르면 기록 방식의 차이입니다.

  3. StoreKit 버전 확인하기

    앱이 StoreKit 2를 쓰는데 Analytics.logTransaction()을 호출하지 않는다면, GA4에는 그 구매들이 빠져 있습니다. 대개는 전부 빠져 있습니다.

  4. 두 번째 매출 이벤트 찾기

    거래 성공 후 purchase 이벤트를 기록하는 코드가 있는지 찾고, GA4 매출을 이벤트 이름별로 나눠 보세요. 같은 판매에 purchase와 in_app_purchase가 나란히 있다면 중복 집계입니다.

  5. 수익금이 아니라 판매액과 비교하기

    GA4는 구매 가격을 기록하므로 고객에게 청구된 금액과 맞춰 보는 것이 맞습니다. 수익금은 실제로 받는 돈이라 항상 더 낮습니다.

주의: GA4 매출에 비율을 곱해 Apple 숫자에 맞추는 식으로 차이를 "고치지" 마세요. 돈은 App Store Connect로 보고, GA4는 어떤 페이월·위치·코호트가 구매로 이어졌는지 같은 행동을 보는 데 쓰세요.

잘못 해석하면 생기는 문제

  • GA4 매출을 수입으로 보고하면 수수료, 세금, 환불만큼 실제 수입이 과장됩니다
  • StoreKit 2로 옮긴 뒤 기록만 멈춘 것이 매출 급감처럼 보입니다
  • 중복된 구매 이벤트 때문에 모든 페이월 분석의 전환율이 두 배로 나옵니다
  • iOS와 Android가 합쳐진 GA4 합계를 App Store Connect와 비교하면 iOS 성과가 실제보다 좋아 보입니다

각 숫자를 어디에 쓸까

질문사용할 숫자
얼마를 벌었나?App Store Connect 수익금, 실제 지급액은 Payments and Financial Reports
고객이 얼마를 썼나?App Store Connect 판매액
어떤 페이월·위치·코호트가 전환되나?세그먼트로 나눈 GA4 구매 이벤트
구매 기록이 제대로 되고 있나?플랫폼별 GA4 거래 건수와 App Store Connect 단위 비교

Appnaly에서는 어떻게 보이나요

Appnaly는 App Store 데이터와 Google Analytics 데이터를 하나의 매출 숫자로 섞지 않고 별도의 출처로 유지합니다. 위에서 본 것처럼 둘은 서로 다른 것을 세기 때문입니다. 돈은 스토어에서 읽고, Analytics는 어떤 사용자와 화면이 그 매출을 만들었는지 이해하는 데 쓰세요.

App Store·Google Play 가이드

함께 읽을 글