このページでは

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

イベントトラッキング

Experimentのエンドツーエンドプラットフォームは、2つのイベントに依存しています:

これら 2 つのイベントは、各実験の実験ユーザープロパティとともに、実験の分析、モニタリング、およびデバッグを可能にします。

Amplitudeが露出を取り込む際に正しい実験ユーザープロパティを設定できるように、Amplitudeが定義した露出イベントまたは割り当てイベントを実験の露出イベントとして使用します。 Amplitudeは実験ユーザープロパティを設定する前にカスタム露出イベントを取り込む可能性があるため、これらのイベントは実験分析にカウントされません。

  • 課題:
    • 実験は、リモート評価 (fetch()) またはサーバー側のローカル評価 (evaluate()) を使用してユーザーを割り当てる際に、割り当てイベントを追跡します。
    • 1つ以上のフラグと実験に対する割り当て情報が含まれています。
    • 監視やデバッグに役立ちます。また、サーバー側の実験のための公開ヒューリスティックとしても役立ちます。
  • エクスポージャー:
    • 実験はユーザーがバリアントに遭遇したときに発生するエクスポージャーイベントを追跡します。通常、クライアント側でコードが SDK からバリアントにアクセスする場合 (variant())。
    • 単一のフラグまたは実験の露出情報が含まれています。
    • クライアント側の実験のエクスポージャーイベントとして機能します。
    • 公開されたフラグまたは実験の実験ユーザープロパティを設定します。

イベントボリュームの課金とプロパティの制限

Exposure ([Experiment] Exposure) イベントと Assignment ([Experiment] Assignment) イベントは、組織のイベントボリュームや月間追跡ユーザー数 (MTU) にはカウントされません。

[Experiment] Exposureまたは [Experiment] Assignmentの代わりに他のイベントを使用する場合、これらのイベントはイベントボリュームと MTU にカウントされます。

実験のユーザープロパティ

実験は各フラグと実験にユーザープロパティを使用し、露出イベントはこのプロパティを設定または解除します。ユーザープロパティを使用すると、実験はユーザーが実験分析のどのバリアントに属しているかを判断できます。Amplitudeは、プロジェクトごとに最大1500の実験ユーザープロパティをサポートしています。

ユーザープロパティの形式は [Experiment] <flag_key> で、値はユーザーが割り当てられた、または公開されたバリアントキーである実験です。このユーザープロパティは、実験がプロパティをフラグまたは実験バリアント別にセグメント化するように設定した後に発生した、実験以外のイベントのクエリに使用します。

割り当てイベント

Amplitudeの評価サーバーまたはSDKは、自動割り当て追跡用に設定されたサーバー側のSDKを使用して、リモート評価またはローカル評価を通じて割り当てイベントを追跡します。 割り当てイベントをサーバー側の実験のためのヒューリスティックな公開イベントとして使用し、アクティブなフラグや実験をモニターしたり、問題をデバッグしたりできます。クライアント側の露出追跡が不可能なサーバー側の実験の場合、実験を設定する際に露出イベントとして Amplitude Assignment イベントを選択してください。

割り当てイベントを手動で追跡する必要はありません。

割り当てイベント定義

割り当てイベント [Experiment] Assignment には、評価されたフラグまたは実験ごとにイベントプロパティ [Experiment] <flag_key>.variant が含まれています。 プロパティ値は割り当てられたバリアントキー、または実験がバリアントを割り当てない場合は off です。

割り当てイベントには、内部デバッグをサポートする [Experiment] Environment Nameや [Experiment] <flag_key>.detailsなどのプロパティも含まれています。

イベント JSON の例

この例では、ユーザー 123456789 に対する割り当てイベントを示しています。これは、1 つのフラグ my-flag と 1 つの実験 my-experiment について評価されます。

json
{
    "user_id": "123456789",
    "event_type": "[Experiment] Assignment",
    "event_properties": {
        "[Experiment] my-flag.variant": "off",
        "[Experiment] my-experiment.variant": "treatment"
    }
}

自動割り当て追跡

実験はデフォルトでリモート評価のための自動割り当て追跡をサポートしています。CDNキャッシュを逃し、有効なユーザーまたはデバイスIDが含まれているリモート評価リクエストは、評価後に非同期割り当てイベントをトリガーします。

サーバー側のローカル評価の場合、evaluate() での割り当てイベントを追跡するように初期化時にローカル評価 SDK を構成します。 Amplitudeは、ユーザーID、デバイスID、割り当てられたフラグとバリアントの正規化されたリストのハッシュ値、および日付スタンプを含む識別子を使用して、各ユーザーのサーバー側ローカル評価SDKから割り当てイベントを重複排除しますinsert_id。

評価対象ユーザーごと、一意の評価結果ごとに 1 日あたり 1 つの割り当てが想定されます。

露出イベント

露出イベントは厳密に定義されたアナリティクスイベントであり、ユーザーが実験またはフィーチャーフラグの変種に遭遇したことをExperimentに伝えます。エクスポージャーイベントのプロパティには、ユーザーが遭遇したフラグキーとバリアントが含まれています。

Amplitudeは露出イベントを取り込む際、フラグキーとバリアントを使用して、関連付けられたユーザーのユーザープロパティを設定または設定解除します。これらのユーザープロパティは、一次および二次成功指標に関する実験分析クエリを強化します。

露出イベントの定義

ユーザープロパティを操作することなく、あらゆるアナリティクス実装やカスタマーデータプラットフォームを通じてエクスポージャーイベントを送信できます。

イベント JSON の例

この例は、実験 my-experiment の treatment バリアントに遭遇したユーザー 123456789 の露出イベントを示しています。

json
{
    "user_id": "123456789",
    "event_type": "$exposure",
    "event_properties": {
        "flag_key": "my-experiment",
        "variant": "treatment"
    }
}

露出変換

Amplitudeが$exposureイベントを取り込むと、Amplitudeはそれを変換します。 Amplitudeは、他のAmplitudeプロパティとの整合性を保つためにイベントタイプとイベントプロパティの名前を変更し、正確な実験分析のために実験ユーザープロパティを設定または設定解除します。

自動エクスポージャー追跡

クライアント側の実験用SDKは、露出追跡プロバイダの実装を通じて自動露出追跡をサポートしています。 連携やカスタム実装がない場合、実験はエクスポージャーイベントを自動的に追跡しません。

エクスポージャー追跡の例

Exposure tracking example

POST · /2/httpapiHTTP V2 API
Request parameters
Find it in Settings → Projects. 32-character hex string.
Provide at least one of User ID or Device ID.
Not sent
cURLPOST · /2/httpapi
curl --request POST \
--url 'https://api2.amplitude.com/2/httpapi' \
--data '{"api_key":"","events":[{"event_type":"$exposure","user_id":"","event_properties":{"flag_key":"","variant":""},"device_id":""}]}'
$ awaiting send…

プロキシの露出イベント

プロキシ露出イベントは、実験を実行する前にトラフィックとベースラインコンバージョンをモデル化するために選択する、通常のアナリティクスイベントです。プロキシ露出イベントは、持続時間推定ツールと関連する計算を強化します。プロキシ露出イベントは、実験が開始された後の分析中にAmplitudeが使用する実際の露出イベントまたは割り当てイベントとは異なります。

ユーザーが実験体験に遭遇する可能性のある時期を最もよく表すプロキシ露出イベントを選択してください。 Amplitudeは過去のトラフィックを使用して実験期間を推定し、フラグが非アクティブな場合のベースラインを設定します。 期間推定ツールは、プロキシ露出イベントの最近のトラフィックに依存します。Amplitudeは、実験開始前の7日間以内にプロキシエクスポージャーイベントを完了したユーザーから「コントロール平均」ベースラインを計算します。

アクティビティログにはプロキシ露出の変更が記録されるため、設定の変更はフラグ履歴に表示されます。

Amplitudeは、プロキシ露出イベントを分析パラメータに単一のオブジェクトとして保存します。これは実際の露出イベントの配列とは異なりますExposureEvent。

実験SDKを使用したプロキシイベント

実験SDKを使用し、.variant()を呼び出すかExposureTrackingProviderを設定すると、Amplitudeは露出イベントを自動的に追跡できます。あるいは、キャッシュされたバリアントを使用して、露出を明示的に記録するように呼び出します。exposure() 呼び出しによって自動的にプロキシ露出が作成または設定されることはexposure()ありません。通常の分析イベントをプロキシとして選択する必要があります。

これは役に立ちましたか?