원격 구성 맞춤설정
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Remote Config 맞춤설정을 사용하면 각 사용자에 대해 Remote Config 파라미터를 자동으로 선택해 목표에 맞게 최적화할 수 있습니다.
매개변수 맞춤설정은 자동으로 개별화되어 지속적으로 개선되는 영구적 A/B 테스트가 실행되는 것과 같습니다.
앱에서 Remote Config 맞춤설정을 사용하면 원하는 목표에 맞게 최적화하는 여러 대체 사용자 환경 중 하나를 자동으로 제공하여 각 사용자에 대해 보다 흥미로운 환경을 구축할 수 있습니다. Remote Config 타겟팅 조건을 사용하여 특정 사용자 그룹에 맞춤설정된 Remote Config 파라미터를 타겟팅할 수 있습니다.
Google Analytics를 사용하여 측정 가능한 목표를 최적화하고, 이벤트 수 또는 이벤트 파라미터의 집계된 값(합계)을 기준으로 최적화할 수 있습니다. 여기에는 다음과 같은 기본 제공 측정항목이 포함됩니다.
- 사용자 참여가 발생한 시간을 기준으로 최적화되는 사용자 참여 발생 시간
- 총 광고 클릭 이벤트 수를 기준으로 최적화되는 광고 클릭수
- 광고 노출 수를 기준으로 최적화되는 광고 노출
또는 Analytics 이벤트를 기반으로 커스텀 측정항목을 최적화할 수 있습니다. 몇 가지 활용 예는 다음과 같습니다.
- Play 스토어 또는 App Store 평점 제출
- 게임 레벨 달성과 같은 특정 작업의 사용자 성공률
- 인앱 구매 이벤트
- 장바구니에 상품 추가 또는 결제 시작 또는 완료와 같은 전자상거래 이벤트
- 인앱 구매 및 광고 수익
- 가상 화폐 지출
- 링크 및 콘텐츠 공유와 소셜 네트워킹 활동
가능한 맞춤설정 사용 사례에 대한 자세한 내용은 Remote Config 맞춤설정으로 무엇을 할 수 있나요?를 참조하세요.
시작하기
기본 원리
맞춤설정에서는 머신러닝을 사용해 각 사용자에게 최적화된 환경을 결정합니다. 이 알고리즘은 다양한 유형의 사용자를 위한 최상의 환경을 학습하는 것과 해당 지식을 활용하여 목표 측정항목을 최대화하는 것 사이에서 효과적으로 균형을 유지합니다. 맞춤설정된 결과는 제공된 대체 환경 중에서 지속적으로 무작위 선정된 환경을 수신하는 홀드아웃 사용자 그룹과 자동으로 비교되며 이 비교를 통해 맞춤설정 시스템에서 생성되는 '상승도'(증분 값)가 얼마나 되는지 파악합니다.
원격 구성 맞춤설정 알고리즘 및 개념에 대한 자세한 내용은 원격 구성 맞춤설정 정보를 참조하세요.
구현 경로
- 일부 사용자에게만 최적일 것으로 예상되는 대체 사용자 환경을 두 개 이상 구현합니다.
- Remote Config 파라미터를 사용해 이러한 대체 환경을 원격으로 구성할 수 있습니다. Remote Config 시작하기 및 Remote Config 로딩 전략을 참조하세요.
- 매개변수 맞춤설정을 사용 설정합니다. Remote Config은 각 사용자에게 최적화된 실험 환경을 부여합니다. 시작하기 가이드를 참조하세요.
맞춤설정 및 A/B 테스트
성능이 가장 뛰어난 단일 사용자 환경을 찾도록 설계된 A/B 테스트와 달리 맞춤설정에서는 각 사용자를 위한 최적의 사용자 환경을 동적으로 선택하여 목표의 극대화를 시도합니다. 대부분의 문제 유형에 맞춤설정을 사용하면 최상의 결과를 얻을 수 있지만 다음과 같은 사례에는 A/B 테스트를 사용합니다.
맞춤설정 권장 |
A/B 테스트 권장 |
각 사용자가 맞춤설정된 사용자 환경을 통해 이점을 누릴 수 있는 경우
|
모든 사용자 또는 정의된 사용자 하위 집합을 위한 최적의 단일 환경을 원하는 경우 |
맞춤설정 모델을 지속적으로 최적화하려는 경우 |
고정된 기간 동안 테스트를 수행하려는 경우 |
최적화 목표를 애널리틱스 이벤트의 가중합으로 단순하게 표현할 수 있는 경우
|
최적화 목표를 여러 다른 경쟁 측정항목을 통해 신중하게 평가해야 하는 경우 |
단점에도 불구하고 목표의 최적화를 원하는 경우
|
출시하기 전에 한 변수가 다른 변수보다 통계적으로 유의미한 개선을 보이는지 파악하고 싶은 경우 |
결과를 직접 검토할 필요가 없거나 원하지 않는 경우 |
결과를 직접 검토하는 것이 바람직한 경우 |
예를 들어 Play 스토어에서 사용자에게 앱을 평가하는 메시지를 표시할 때 평가하는 사용자 수를 최대화하려는 경우를 가정해 보겠습니다. 성공할 수 있는 한 가지 요인은 메시지를 표시하는 시기입니다. 사용자가 앱을 처음으로, 두 번째로, 세 번째로 실행할 때 메시지를 표시하나요? 아니면 특정 작업을 성공적으로 완료할 때 메시지를 표시하나요? 이상적인 시기는 사용자 개인마다 다를 수 있습니다. 어떤 사용자는 바로 앱을 평가할 준비가 된 반면 어떤 사용자는 시간이 더 필요할 수 있습니다.
의견을 받는 메시지를 표시하는 시기를 최적화하는 것은 맞춤설정에 대한 이상적인 사용 사례입니다.
- 최적의 설정은 사용자마다 다를 수 있습니다.
- Analytics를 사용하면 성공 여부를 쉽게 측정할 수 있습니다.
- 문제가 되는 UX 변경으로 인한 위험은 충분히 낮기 때문에 단점을 고려하거나 직접 검토를 수행할 필요가 없습니다.
사용해 보기
시작하기
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-14(UTC)
[null,null,["최종 업데이트: 2025-08-14(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)"]]