紹介プログラムの作り方:リンク、計測、特典、不正対策のルール
紹介プログラムは、既存の顧客が新しい顧客を連れてきたときに報酬を与える仕組みです。作るには、顧客ごとに固有のコードかリンクが必要で、新しい訪問者が来たときにそのコードを覚えておく方法が必要です。新しいアカウントと紹介者を結びつける記録、紹介が適格となるルール、特典(クレジット、割引、現金)、そして自分で自分を紹介することを防ぐチェックが必要です。コードを作ること自体は難しくありません。難しいのは、本当の価値を表す適格な行動を選ぶことと、紹介してくれる顧客の価値を特典が上回らないように設計することです。
作る前にルールを決める
これらを先に書き出してください。どれも、作り方を変えます。
- 誰が紹介できるか? すべての顧客か、有料の顧客だけか、一定期間利用した後だけか?
- 紹介の成功とは何か? サインアップ、初回の支払い、一定額以上の初回注文、返金やトライアルの期間を過ぎて継続したことのいずれか?
- 特典は何か、誰が受け取るか? 紹介者だけか、双方か(「10ドルあげて、10ドルもらう」という双方向の特典か)?
- 特典の形は? アカウントのクレジット、割引コード、無料の一か月、物理的なギフト、現金。
- 上限はあるか? 一人あたり月ごとの上限、クレジットの有効期限、新しい顧客一人につき一回の特典。
- 紹介リンクはどれくらい有効か? 今日クリックされて、三週間後にサインアップした場合も紹介として数えるか?
よくある単純な設定は、双方がアカウントのクレジットを受け取り、紹介は新しい顧客の初回の支払いが確定し、返金期間が過ぎた時点で適格になる、というものです。
プログラムに必要なもの
データ
| テーブル | 主な項目 |
|---|---|
| 紹介コード | 顧客、コード、作成日時、有効かどうか |
| 紹介 | 紹介者、紹介された顧客、使われたコード、ステータス(保留、適格、付与済み、却下)、作成日時、適格になった日時、却下の理由 |
| 特典 | 顧客、紹介、種類(クレジット、割引、現金)、金額、ステータス(保留、発行済み、使用済み、取り消し)、発行日時 |
| クリック(任意) | コード、日時、ランディングページ。紹介者に進捗を見せるのに役立つ |
紹介と特典は分けて保存してください。紹介は特典なしで存在することがあります(保留や却下の場合)。また、紹介された顧客が返金を求めた場合には、特典を取り消せるようにします。
ページと部品
- 「友だちを紹介する」ページ:顧客のアカウント内に置き、その人のリンク、共有ボタン、紹介の一覧(ステータスと獲得した特典を表示)を載せます。
- 紹介された訪問者向けのランディング:「Alexさんから、初回注文が10ドル割引になるご案内です」という表示。割引は、チェックアウトかサインアップ時に自動で適用されます。
- 紹介の判定ロジック:リンク経由で来た人のコードを保存し、サインアップ時にアカウントに紐付けます。
- 適格判定のロジック:適格となる出来事(多くは支払いのWebhook)が起きたときに実行されます。
- 管理画面:すべての紹介、承認待ち、フラグが立ったもの、発行した特典の合計。
- 利用規約のページ:ルールを平易に示します。
紹介の判定の仕組み
- Alexさんが
yourapp.com/?ref=ALEX42を共有します。 - Samさんがクリックします。アプリは
ALEX42を、日付付きでCookieかローカルストレージに保存します。 - Samさんは閲覧し、離れ、数日後に戻ってきてサインアップします。サインアップ時にアプリが保存されたコードを読み取り、AlexさんからSamさんへの保留中の紹介を作成します。
- Samさんが初回の注文の支払いをします。決済サービスがアプリに通知します。返金期間が過ぎた後、紹介は適格になります。
- アプリが双方に特典を発行し、Alexさんに知らせます。
口コミによる紹介に備えて、サインアップやチェックアウトの際に、利用者がコードを手入力できるようにもしてください。二つの異なるリンクから来た場合にどうするかも決めておきます。通常は「最後にクリックされたリンクが優先」というルールにします。
不正と悪用
価値のある特典は、必ず試されます。基本的な防御は次のとおりです。
- 自己紹介の禁止:紹介された顧客のアカウントが、紹介者とメールアドレス、支払いカード、電話番号、配送先住所のいずれかを共有している場合は却下します。
- サインアップではなく、価値に基づいて適格にする:返金されていない有料の注文は、メールアドレスよりもずっと偽造が難しいです。
- 待機期間:特典を使えるようになるまでの期間を設ける。
- 上限:紹介者一人あたり、月ごとの上限。
- 手動レビュー:紹介数が急に増えた人は確認する。
- 取り消し:適格とされた支払いが返金された場合、特典を取り消す。
特典と支払い
アカウントのクレジットが、最も運用しやすい特典です。顧客のアカウントにある金額で、チェックアウト時に差し引かれるだけです。割引コードは、ストアには向いています。現金の支払いは最も難しいです。支払い先の情報を集め、送金の失敗に対応し、居住地や顧客の所在地によっては税務上の報告義務もあります。地域のルールを確認するか、専門家に相談してください。StripeなどのサービスでWebhookを使っている場合は、Webhookで適格判定を進めてください。決済の追加の設定を参照してください。
最初に効くプロンプトの例
ミールキットの定期購読アプリに紹介プログラムを追加してください。サインインしている顧客は全員、固有の紹介コードと、/?ref=CODE の形式の共有リンクを持ちます。ref= 付きで訪問者が来たら、コードを30日間Cookieに保存し、サインアップ時にアカウントに紐付けてください。紹介された顧客は、最初のボックスが自動で15ドル割引になります。サインアップ時に保留の紹介を作成します。紹介された顧客の初回の支払いが成功し(既存のStripeのWebhookから)、14日間返金がなければ、紹介を適格にして、紹介者に15ドルのアカウントクレジットを追加してください。メール、カードの指紋、配送先住所のいずれかが紹介者と一致する場合は、自己紹介として却下してください。紹介者一人につき、月10件まで特典を付与する上限を設けてください。顧客のリンク、共有ボタン、紹介と状況の一覧を表示する「友だちを紹介する」ページを追加してください。保留、適格、却下、フラグ付きで絞り込める、すべての紹介の一覧を管理画面に追加してください。すべてをデータベースに保存してください。
作成のステップ
- コードと「友だちを紹介する」ページ。顧客ごとにコードを発行し、リンクを表示します。
- 紹介の判定。到着時にコードを保存し、サインアップ時に紐付け、手入力も許可します。
- 紹介された顧客向けの特典をチェックアウトかサインアップ時に適用します。
- 適格判定を支払いの出来事で行い、待機期間を設けます。
- 特典をクレジットとして発行し、チェックアウト時にクレジットを適用します。
- 不正対策と上限。
- 管理画面と通知(「Samさんがあなたのリンクから参加しました」)。
- テスト支払いで最初から最後まで確認します。紹介し、プライベートウィンドウでサインアップし、支払い、返金し、特典が取り消されることを確認します。
よくある失敗
- サインアップに特典を与える。 偽のアカウントを招きます。
- 特典が、顧客がもたらす価値より大きい。 設定する前に、新しい顧客が通常どれくらいの価値をもたらすかを計算してください。
- クリックからサインアップまでの間にコードが失われる。 クリックした後に離れ、後で戻ってくるケースをテストしてください。
- 返金時に取り消しをしない。
- プログラムを目立たなくする。 アカウントメニュー、注文確認、購入後のメールにリンクを置いてください。
- 利用規約があいまい。 ルールが不明確だと、サポートへの問い合わせや紛争につながります。
紹介ツールを選んだほうがよい場合
紹介やアフィリエイトのプラットフォームは、デバイスをまたいだ紹介の判定、不正の検出、支払い、税務書類を扱えます。また、主要なストアや請求システムとも連携しています。ホスト型のプラットフォームでオンラインストアを運営しているなら、まずそのアプリマーケットプレイスを確認してください。紹介アプリなら数分でインストールできることがあります。多くのパートナーに現金の報酬を払うつもりなら、自分で支払いを作るより、アフィリエイトのプラットフォームを使うほうが安全なことが多いです。
自作が向いているのは、製品に自分で管理しているアカウントと支払いがあるとき、特典がクレジットで現金ではないとき、またはルールが自社の事業に特有のものであるときです。ローンチ前の「友だちを招待して順番を上げる」仕組みについては、ウェイティングリストページの作り方を参照してください。紹介ではなく、リピート購入に対する特典が必要なら、ロイヤルティプログラムアプリの作り方を参照してください。
Mythexで作る
Mythexでは、作っているアプリに紹介プログラムを追加するようエージェントに頼み、ライブプレビューで全体のフローを試せます。紹介を保存する必要があれば、エージェントが専用のPostgresデータベースを追加します(または/databaseと入力してください)。Mythexは、作成したアプリに組み込みのサインインや決済を提供しません。自分の認証と自分のStripeアカウントを接続し、キーはプロジェクトのシークレットとして保存します(Stripeのレシピ)。決済のWebhookには公開URLが必要なので、エンドツーエンドで試す前に公開してください(Webhookのレシピ)。
よくある質問
紹介プログラムは、誰が誰を紹介したかをどう記録しますか?
既存の顧客ごとに、固有のコードまたはリンクを発行します。新しい訪問者がそれを経由して来ると、アプリはコードを保存します(通常はCookieかローカルストレージ)。そして、サインアップ時に新しいアカウントにそのコードを紐付けます。紹介はその時点で記録され、条件を満たしたときに特典が付与されます。
紹介はいつ特典の対象になりますか?
サインアップ時ではなく、新しい顧客が価値のある行動をした後にしてください。たとえば、初回の支払い、または返金や無料トライアルの期間を過ぎて継続したときです。サインアップだけで特典を与えると、偽のアカウントが増えてしまいます。
特典は現金にすべきですか、それともクレジットにすべきですか?
アカウントのクレジットや割引のほうが、運用が簡単で費用も抑えられ、紹介した人をサービスに戻らせる効果もあります。現金での支払いには、支払い情報の収集、国によっては税の問題、不正のリスクが伴います。現金が絶対に必要でなければ、まずはクレジットから始めてください。
紹介の不正をどう防げばよいですか?
適格な支払いと待機期間の後にだけ特典を与え、自己紹介をブロックします(同じメールアドレス、支払いカード、端末)。一人あたりの特典に上限を設け、急増している場合は支払いの前に確認してください。