Remote Config のパーソナライズ
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Remote Config のパーソナライズを使用すると、各ユーザー向けに Remote Config パラメータを自動的に選択して、目標に向けた最適化を行うことができます。パラメータのパーソナライズは、自動化され、個別化され、継続的に改善される、永久的な A/B テストを行うようなものです。
Remote Config のパーソナライズをアプリで使用すると、複数のユーザー エクスペリエンスの選択肢の中からいずれか 1 つをユーザーに自動的に提供することで、個々のユーザーに対してエンゲージメントが高いエクスペリエンスが作成されます。選んだ目標の最適化に向けて選択肢が提供されます。Remote Config ターゲティング条件を使用して、特定のユーザー グループを、パーソナライズされた Remote Config パラメータのターゲットに設定できます。
Google Analytics を使用して、測定可能な任意の目標に向けて最適化を行うことができます。また、イベント数やイベント パラメータの集計値(合計)によって最適化を行うこともできます。次の組み込みの指標が含まれています。
- ユーザー エンゲージメント時間(ユーザー エンゲージメント時間による最適化)
- 広告クリック(広告クリック イベントの合計数による最適化)
- 広告のインプレッション(広告のインプレッション数による最適化)
または、Analytics イベントに基づいてカスタム指標を最適化することもできます。これには次のようなものがあります。
- Play ストアまたは App Store での評価の送信
- ユーザーによる特定のタスクの成功(ゲームでのレベル到達など)
- アプリ内購入イベント
- e コマース イベント(カートへの商品の追加、購入手続きの開始や完了など)
- アプリ内購入と広告収入
- 仮想通貨の使用
- リンクとコンテンツの共有とソーシャル ネットワークのアクティビティ
考えられるパーソナライズ ユースケースの詳細については、Remote Config のパーソナライズでできることをご覧ください。
スタートガイド
仕組み
パーソナライズでは、機械学習を使用して各ユーザーに最適なエクスペリエンスを決定します。このアルゴリズムでは、さまざまなタイプのユーザーにとって最適なエクスペリエンスを知ることと、その知識を活用して目標の指標の最大化を行うことの間のトレードオフを効率的に行います。パーソナライズの結果は、ユーザーのホールドアウト グループと自動的に比較されます。このグループのユーザーは、指定した選択肢からランダムに選ばれたエクスペリエンスを一貫して使用します。この比較によって、パーソナライズ システムでどの程度の「リフト」(値の上昇)が生成されたかが示されます。
Remote Config のパーソナライズのアルゴリズムとコンセプトの詳細については、Remote Config のパーソナライズについてをご覧ください。
実装パス
- あるユーザーにとっては最適だが、他のユーザーにはそうではないと思われる複数のユーザー エクスペリエンスの選択肢を実装します。
- Remote Config パラメータを使用して、これらの選択肢をリモートで構成できるようにします。Remote Config を使ってみると Remote Config の読み込み方法をご覧ください。
- パラメータのパーソナライズを有効にします。Remote Config は、ユーザーごとに最適なエクスペリエンスを割り当てます。スタートガイドをご覧ください。
パーソナライズと A/B テスト
A/B テストは、最適なパフォーマンスを発揮するユーザー エクスペリエンスを 1 つだけ特定することを目的にしています。パーソナライズは、ユーザーごとに最適なユーザー エクスペリエンスを動的に選択することで、目標の最大化を目指します。パーソナライズは多くの問題で最良の結果を生成しますが、A/B テストにも独自の有用性があります。
パーソナライズが適している場合 |
A/B テストが適している場合 |
各ユーザーが、パーソナライズされたユーザー エクスペリエンスのメリットを享受できる場合 |
すべてのユーザーまたは特定のユーザーのサブセット向けの 1 つの最適なエクスペリエンスを求める場合 |
パーソナライズ モデルを継続的に最適化する場合 |
特定の期間内にテストを行う場合 |
最適化の目標を、アナリティクス イベントの加重合計としてシンプルに表すことができる場合 |
最適化の目標を設定する際に、複数の競合する指標について慎重に評価する必要がある場合 |
トレードオフにかかわらず目標に対して最適化したい場合 |
あるバリアントが別のバリアントと比較して統計的に有意な改善をもたらすかどうかをロールアウトの前に判断したい場合 |
結果を手動で確認する必要がない場合、または手動の確認を望まない場合 |
結果を手動で確認したい場合 |
たとえば、Play ストアでアプリの評価を入力するようにユーザーに促したときに、実際に評価を入力するユーザーの数を最大化したいと考えます。この数を左右する要因の 1 つにプロンプトの表示タイミングがあります。ユーザーがアプリを初めて起動したときに表示するのがいいでしょうか。または 2 回目、あるいは 3 回目の起動時に表示するのがいいでしょうか。それとも、特定のタスクを完了したときに表示するのがいいでしょうか。理想的なタイミングは個々のユーザーによって異なります。アプリをすぐに評価するユーザーもいれば、時間がかかるユーザーもいます。
評価の入力を促すタイミングの最適化は、パーソナライズの理想的なユースケースの一つです。
- 最適な設定はユーザーごとに異なることがある。
- 成功は Analytics を使用して簡単に測定できます。
- この UX の変更によるリスクは十分低いため、トレードオフを考慮したり、手動で確認したりする必要はありません。
試してみる
スタートガイド
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-13 UTC。
[null,null,["最終更新日 2025-08-13 UTC。"],[],[],null,["\u003cbr /\u003e\n\nWith Remote Config personalization, you can automatically select\nRemote Config parameters for each user to optimize for an objective.\nPersonalizing a parameter is like performing an automatic, individualized,\ncontinuously-improving, and perpetual A/B test.\n\nWhen you use Remote Config personalization in your apps, you create more\nengaging experiences for each of your users by automatically providing them with\none of several alternative user experiences---the alternative that optimizes\nfor the objective you choose. You can target your personalized Remote Config\nparameters to specific user groups using\n[Remote Config targeting conditions](/docs/remote-config/parameters#conditions_rules_and_conditional_values).\n\nYou can optimize for any objective that's measurable using\nGoogle Analytics, and optimize by number of events or by the aggregated\nvalue (sum) of an event parameter. This includes the following built-in metrics:\n\n- User engagement time, which optimizes by user engagement time\n- Ad clicks, which optimizes by total number of ad click events\n- Ad impressions, which optimizes by the number of ad impressions\n\nOr, you can optimize for custom metrics based on any Analytics event. Some\npossibilities include:\n\n- Play Store or App Store rating submissions\n- User success at particular tasks, like completing game levels\n- In-app purchase events\n- E-commerce events, like adding items to a cart, or beginning or completing checkout\n- In-app purchase and ad revenue\n- Virtual currency spend\n- Link and content sharing and social networking activity\n\nFor more information about potential personalization use cases, see\n[What can I do with Remote Config personalization?](/docs/remote-config/personalization/use-cases)\n\n[Get started](/docs/remote-config/personalization/get-started)\n\nHow does it work?\n\nPersonalization uses machine learning to determine the optimal experience for\neach of your users. The algorithm efficiently trades off between learning the\nbest experience for different types of users and making use of that knowledge to\nmaximize your objective metric. Personalization results are automatically\ncompared to a holdout group of users who receive a persistent random experience\ndrawn from your provided alternatives---this comparison shows how much\n\"lift\" (incremental value) is generated by the personalization system.\n\nFor more information about Remote Config personalization algorithm and concepts,\nsee\n[About Remote Config personalization](/docs/remote-config/personalization/about).\n\nImplementation path\n\n1. Implement two or more alternative user experiences that you expect will be optimal for some users but not others.\n2. Make these alternatives remotely configurable with a Remote Config parameter. See [Get started with Remote Config](/docs/remote-config/get-started) and [Remote Config loading strategies](/docs/remote-config/loading).\n3. Enable personalization for the parameter. Remote Config will assign each of your users the experience that's optimal for them. See the [Getting started](/docs/remote-config/personalization/get-started) guide.\n\nPersonalization vs. A/B testing\n\nUnlike A/B tests, which are designed to find a single best performing user\nexperience, personalization attempts to maximize an objective by dynamically\nchoosing an optimal user experience for each user. For many types of problems,\npersonalization produces the best results, but A/B testing still has its uses:\n\n| Personalization preferred | A/B testing preferred |\n|-------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|\n| When each user could benefit from a personalized user experience | When you want a single optimum experience for all users or a defined subset of users |\n| When you want to continuously optimize the personalization model | When you want to conduct tests during a fixed time window |\n| When your optimization goal can be expressed simply as a weighted sum of analytics events | When your optimization goal requires thoughtful evaluation of several different competing metrics |\n| When you want to optimize for an objective regardless of any trade-offs | When you want to determine if one variant shows a statistically significant improvement over another before rolling it out |\n| When manual review of results is not required or desired | When manual review of results is desirable |\n\nFor example, suppose you want to maximize the number of users who rate your app\nin the Play Store when you prompt them to. One factor that might contribute to\nsuccess is the timing of your prompt: do you show it when the user opens your\napp for the first, second, or third time? Or do you prompt them when they\nsuccessfully complete certain tasks? The ideal timing likely depends on the\nindividual user: some users might be ready to rate your app right away, while\nothers might need more time.\n\nOptimizing the timing of your feedback prompt is an ideal use case for\npersonalization:\n\n- The optimal setting is likely different for each user.\n- Success is easily measurable using Analytics.\n- The UX change in question is low risk enough that you probably don't need to consider trade-offs or conduct a manual review.\n\nTry it\n\n[Get started](/docs/remote-config/personalization/get-started)"]]