本文へスキップ
App Store Refund Management

App Storeの返金と収益漏れ:開発者が知っておくべきこと

App Storeの返金がどのように収益漏れにつながるのか、そして開発者が返金による損失を監視・管理・削減するために何ができるのかを解説します。

5 min read
App Storeの返金と収益漏れ:開発者が知っておくべきこと

私のクライアントの一人は、その漏れを偶然見つけました。自社のデータベースでは2月の収益は$11,400。App Store Connectの財務レポートでは$10,650。クラッシュは起きていません。アラートも鳴っていません。約$750が、返金という形で一件ずつ静かに出ていっただけで、彼がそれに気づいたのは発生からおよそ5週間後でした。

App Storeの返金はすべてAppleが判断します。その決定の場に、あなたの席はありません。あなたに与えられるのは、Appleに証拠を提示するための狭い窓が一つだけで、しかもその窓は、サーバーが実際に耳を傾けている場合にしか開きません。開発者向けのApple App Store返金に関する解説の多くはこの部分をさらっと流していますが、それは残念なことです。ここだけが、あなたがコントロールできる部分だからです。この窓については、こちらで個別に詳しく解説しています: AppleのCONSUMPTION_REQUESTが返金の可否を決める仕組み

主なポイント

  • Appleが決めます。返金を発行することも、阻止することも、顧客の名前を見ることさえできません。

  • あなたにできる唯一のインプットはCONSUMPTION_REQUESTへの返信で、約12時間以内に届ける必要があります。

  • App Storeの返金による収益損失は何層にも積み重なります。返金そのものは最初の一層にすぎません。

  • RevenueCatによると、サブスクリプションの返金率の中央値は3%から5%です。外れ値は9%から18%に達します。

  • 地味な対策が、最も安上がりな対策でもあります。通知を受け取り、自動で返答し、お金が戻ったらアクセスを止めることです。

開発者側から見たApp Storeの返金

誰かが reportaproblem.apple.comを開き、サインインし、過去90日間の購入から一つを選び、理由を選択して送信します。Appleがそれを読み、Appleが裁定します。

聞く準備をしていない限り、あなたには何も聞こえてきません。App Store Connectには返金ボタンも、保留中のリクエスト一覧も、返信先となる顧客のメールアドレスもありません。App Store Server Notifications V2を有効にしていれば、リクエストが提出された瞬間にCONSUMPTION_REQUESTがエンドポイントに届き、そこにはトランザクション、プロダクト、顧客が選んだ理由が含まれています。そこから約12時間以内に、Send Consumption Informationエンドポイントへ5つの項目を送る必要があります。同意の有無、購入が配信されたか、サンプルがあったか、どれだけ使用したか、そして希望する結果です。

実際の利用データを添えて返答すれば、根拠の弱い申し立てはかなりの頻度で却下されます。何も返答しなければ、Appleは顧客側の言い分と、そのアカウント履歴から推測されることに基づいて判断します。ここでは沈黙も一つの回答であり、それはほとんどのチームが選んでいる回答です。

返金が実際に通ると、失効日が付いたREFUND通知が届きます。それがユーザーのアクセスを止める合図です。ここから、コストのかかる話になります。

App Storeの返金が収益損失を引き起こす仕組み

数字は一つではありません。四つあり、そのうち三つは返金レポートに一切表示されません。

返金そのもの。次回の支払いから価格分が差し引かれます。AppleのPaid Applications Agreementには、返金された売上についてもAppleが手数料を保持できると確かに書かれており、この条項は長年多くの人を不安にさせてきました。実際に支払いレポートを細かく調べた開発者によれば、Appleが差し引くのは手数料控除後の取り分であり、定価全額ではありません。失うのはあなたの取り分です。通常、Appleの取り分ではありません。

誰も止めないアクセス。Apple側では、お金が出ていくこととエンタイトルメントが終了することは別々のイベントで、自動的に起きるのは片方だけです。REFUND通知を見逃すと、ユーザーはPro機能を使い続けます。無料で。$59.99の年間プランで、誰かが気づくまで4か月続いたケースを見たことがあります。この厄介な問題については 返金後にアクセスを取り消す方法で詳しく取り上げました。

レポーティング。返金は購入から数週間後、場合によっては請求期間を過ぎてから現れます。収益を獲得した週に計上し、後で返金された分を差し引かなければ、LTVは知らないうちに水増しされます。そして払えないはずのCACでトラフィックを買い、なぜコホートが回収できないのかと首をかしげることになります。

広告費。そのユーザーを獲得するためにお金を払いました。それでも返金されました。そのお金は消え、ダッシュボードの数字はそれを教えてくれません。

正常な返金率とは

ベンチマークが役立つのは一つの点です。本当に問題があるのか、それとも単に普通の範囲なのかを知ることです。RevenueCatの State of Subscription Appsは75,000以上のアプリを対象としており、有料サブスクリプションの初回請求期間における返金率の中央値を約3%から5%としています。外れ値は9%から18%に達します。

興味深いのは価格帯別の切り口です。低価格プランの中央値は2.7%前後、高価格プランは4.5%前後です。価格帯が一段上がるごとに、およそ1ポイント増える計算です。年間プランは週間プランより返金が多く、これも納得できます。$79の請求は、$4.99の請求にはない期待を生みます。

新しいクライアントの数字を算出する際、私はこうしています。

  1. 返金履歴から過去90日間の返金トランザクションを取得します。

  2. それぞれを、返金された月ではなく、元の購入が発生した月に戻します。

  3. 同じ月の有料トランザクション数で割ります。

  4. プロダクト別に分けます。健全な平均値の中には、必ず一つは問題のあるペイウォールが隠れています。

2%未満なら良好です。2%から5%は正常です。5%を超えたら調べ始めてください。10%を超えたら、マーケティングのせいにするのをやめて、ペイウォールの文言を声に出して読んでみてください。

App Storeの返金防止:返金を減らす方法

一つのスイッチで済む話ではありません。小さな判断の積み重ねであり、その中には他よりはるかに重要なものがあります。

すべてのCONSUMPTION_REQUESTに返答する。最大のレバーであり、ほぼ全員が飛ばしている部分です。買い切りのアンロックを90%使い切ってから「動かなかった」と主張する人には、利用状況を示して拒否してください。子どもが誤って$29.99のパックを購入してしまった親には、通してあげてください。どちらの判断にも、記録に残る返答が必要です。

最初のセッションで何かを届ける。返金は早い段階に集中します。新規ユーザーがペイウォールに到達する前に実際の成果を一つも得られなければ、売ったのは約束だけです。

更新をはっきり伝える。価格、期間、更新日を、購入ボタンと同じ画面に表示してください。返金理由の多くは突き詰めれば「驚き」であり、驚きは設計上の選択です。

トライアルかサンプルを用意する。Appleの消費情報フォームは、まさにそれが存在したかを尋ねています。「はい」と答えられれば有利になり、迷っているユーザーにはより気軽な入口を提供できます。

サポートへの入口を用意する。目に見える連絡先リンクと、アプリ内の 返金リクエストシートがあれば、不満を持った人はAppleに行く前にあなたのところに来ます。このシートはiOS 15から存在しています。返金を承認することはできず、リクエストを開始するだけです。

お金が戻ったらアクセスを止める。REFUNDとREFUND_REVERSEDを処理し、取り消しの場合はアクセスを戻してください。Appleが判断を覆したせいで、誠実な顧客が罰を受けることがないようにするためです。

常習者に注意する。AppleのGet Refund Historyエンドポイントは、ユーザーに紐づくすべての返金済みトランザクションを一覧表示します。同じアカウントに2回目のトライアルや割引を提供する前に確認してください。

12時間の問題

通知は土曜日の午前3時に届きます。適切に返答するには、AppleのJWS署名チェーンをルート証明書に対して検証し、トランザクションを自社データベース内の人物と照合し、消費率をミリユニット単位で計算し、In-App Purchaseキーで短期有効のJWTを発行し、送信する必要があります。制限時間が切れる前に。毎回、例外なく。

Sandboxでは12時間ではなく5分しか与えられません。これはAppleがあなたに何を期待しているかについての、かなり率直なヒントに読めます。サーバーです。ラップトップを持った人間ではありません。

そのパイプラインを自前で構築したくないチームは Refund Sensorを使っています。すでに持っているストアのキーで動作し、各リクエストに対してトランザクションの証拠を添えて期限内に余裕を持って返答し、守り切った収益を継続的に集計します。セットアップは約5分、SDK不要、コード変更不要、アプリの再提出も不要です。

他の選択肢も比較検討したい場合は、 開発者向けApple返金管理ソフトウェアの選び方で比較すべき点を解説しています。

参考資料

よくある質問

いいえ。請求関係はAppleが所有しているため、お金を戻せるのはAppleだけです。あなたにできるのは二つ、証拠を添えて返金リクエストに返答すること、またはStoreKitの返金リクエストシートを通じてAppleの返金フォームを顧客に直接提示することです。

顧客には48時間以内に回答があると案内されます。あなた自身の猶予はもっと短く、CONSUMPTION_REQUESTから約12時間です。

契約上はその権利があるとされています。実際には、App Store Connectの支払いレポートを確認した開発者によると、差し引かれるのは手数料控除後の取り分であり、価格全額ではなく、あなたが得た分を失うことになります。

あなたが何もしなければ、何も起きません。Appleは失効日付きのREFUND通知を送り、エンタイトルメントを終了させるのはあなたのサーバーの役目です。見逃せば、そのユーザーは無料でProを使い続けます。

RevenueCatが75,000以上のアプリから集めたデータによると、サブスクリプションアプリでは有料トランザクションの2%から5%です。ヘルス、フィットネス、教育はこれより高くなります。10%を超えたら、何よりもまず価格設定とペイウォールの文言を見直してください。

はい、Appleが返金を取り消した場合です。REFUND_REVERSED通知が届くので、取り上げたものを返してください。

たいていの場合、あります。$2.99の消耗型アイテムのために人が10分を費やす価値はありません。しかしサーバーの2秒分の価値はあり、取引量の多いアプリでは、そうした小さな金額がすぐに積み上がります。

#Apple CONSUMPTION_REQUEST#App Store refund requests#Apple App Store refunds#Refund request response#App Store developer guide#Apple refund process
Refund SensorRefund Sensor TeamRefund defense for App Store and Google Play developers