目標の追跡

目標の追跡

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

PageSenseのtrackGoal() メソッドは、目標コンバージョンをフルスタックA/Bテストで記録するために使用します。PageSenseでは、テストの対象となるユーザーのコンバージョンイベントのみが記録されます。
このAPIは、テストのオーディエンスターゲティングルールの設定に応じて、ユーザー属性を指定して、または指定せずに呼び出すことができます。

メソッドの呼び出し

  1. // フルスタックA/Bテストの目標コンバージョンを追跡
  2. $pageSenseClient->trackGoal($experimentName, $userId, $goalName, $userAttributes);

メソッドのパラメーター

パラメーター

種類

説明

experimentName

文字列

目標が設定されているテスト名。

userId

文字列

ユーザーを識別する一意のID。

goalName

文字列

追跡する目標の名前。

userAttributes

配列

(任意)オーディエンスのターゲティングとセグメント化に使用するユーザー属性の連想配列。


前提条件  

APIメソッドを呼び出す際は、以下を確認してください。

  • 目標を追跡するWebページで、テストが有効になっていること。

  • 目標に関連付けられたコンバージョン条件を満たした場合にのみ、メソッドを呼び出すこと。

実行時の動作  

  • ユーザーがテストの対象となる場合、目標コンバージョンが記録され、PageSenseサーバーに送信されます。

  • ユーザーがテストの対象外である場合、またはテストのトラフィックの割り当て対象外である場合、APIはコンバージョン要求を通知せずに無視します。

これにより、A/Bテストに参加しているユーザーのコンバージョンのみが追跡されます。
 

サンプルコード

  1. use Zoho\PageSense\PageSenseClient;
  2. // ユーザー属性を設定
  3. $userAttributes= [
  4. 'ブラウザー' => 'Chrome',
  5. 'デバイス' => 'デスクトップ',
  6. 'OS' => 'Windows 10'];
  7. // フルスタックテストの目標コンバージョンを追跡
  8. $pageSenseClient->trackGoal($experimentName, $userId, $goalName, $userAttributes);

APIの仕組み  

trackGoal()メソッドを呼び出すと、PageSenseに目標コンバージョンを記録する前に、一連の検証処理が実行されます。

1. オーディエンスのターゲティング  

PageSenseで定義されたオーディエンスターゲティング条件に基づき、ユーザーがテストの対象となるかどうかをAPIが確認します。

  • これらの条件には通常、ブラウザー、デバイスの種類、OS、またはユーザー属性で渡された個別指定の項目が含まれます

  • ユーザー属性がオーディエンスターゲティング条件に一致する場合、評価が続行されます。

  • ユーザー属性がオーディエンスターゲティング条件に一致しない場合、目標コンバージョンの詳細はPageSenseに送信されません。

2. ユーザーの対象判定  

次にAPIは、ユーザーがテストのトラフィックの割り当て範囲内に該当するかどうかを確認します

  • ユーザーストレージサービスが有効な場合、SDKはユーザーに以前割り当てられたバリエーションを取得します(セッションをまたいで一貫したトラッキングを行うためです)。

  • 保存されたバリエーションがない場合、決定論的バケット割り当て(ハッシュに基づく)を使用して新規バリエーションが割り当てられます。

  • その後、SDKはMurmurHashアルゴリズムをユーザーID(userId)に適用し、0~9,999の数値ハッシュを生成します。

  • テスト内の各バリエーションには、そのトラフィックの割合(%)に対応する固有のハッシュ範囲が割り当てられます。

例。

バリエーション

ハッシュ範囲

オリジナル

0 – 2,000

バリエーション1

2,001 – 4,000

バリエーション2

4,001 – 6,000

ユーザーのハッシュ値がこれらの範囲のいずれか1つに該当する場合、そのユーザーは対象となり、目標イベントが追跡されます。一方、ハッシュ値がいずれの範囲にも該当しない場合、イベントは送信されません。

3. 追跡と分析  

対象条件を満たし、目標条件がトリガーされると、次の処理が行われます。

  • SDKは、テスト名、ユーザーID、目標名、バリエーションIDをパッケージ化します。

  • このコンバージョンイベントを、安全なHTTPS要求を使用してPageSenseのバックエンドに送信します。

  • このデータは、テストのダッシュボードに表示されるコンバージョン指標、勝率、信頼度レポートに使用されます。

4. 実行時の動作  

条件

SDKの動作

ユーザーが対象条件を満たし、目標が達成済み

目標イベントをPageSenseに送信

ユーザーが対象条件を満たしていない

通知せずに呼び出しを無視

ネットワークエラー/無効なSDKキー

エラーをログに記録し(ログが有効な場合)、自動的には再試行しない

 

ユーザー属性なしでのtrackGoal()の使用  

ユーザー属性を指定せずにAPIを呼び出すこともできます。

メソッドの呼び出し

  1. // ユーザー属性なしで目標コンバージョンを追跡
  2. $pageSenseClient->trackGoal($experimentName, $userId, $goalName);

仕組み  

  • 必要なのは、テスト名ユーザーID目標名のみです。

  • オーディエンスのターゲティングは引き続き実行されますが、ユーザーがテストの対象となるのは、オーディエンスのターゲティング条件が「すべての訪問者」の場合のみです。特定のオーディエンスターゲティングルール(例:デバイス=モバイル)が設定されたテストでは、ユーザー属性が渡されないため、ユーザーはテストの対象になりません

  • ユーザーがテストの対象となる場合、APIはMurmurHashアルゴリズムを使用してバリエーションを決定し、割り当てられたバリエーションに対して目標を記録します。

  • ユーザーがテストの対象とならない場合、コンバージョンイベントは発生しません。

ベストプラクティス  

  • コンバージョンイベントの直後に、必ずtrackGoal()APIを呼び出します。

  • 決定論的な動作を確保するため、すべてのSDKメソッドで同じユーザーID値を使用します。

  • バックエンドでジョブやキューを使用してコンバージョンを非同期に処理する場合は、後処理の段階にSDKの呼び出しを含めてください。

  • 何も処理されない場合でも、適切に対応してください。すべてのユーザーが追跡の対象になるとは限りません。

処理量の多いアプリでは、APIのオーバーヘッドを減らすため、可能な限りコンバージョンを一括処理してください。

このドキュメントが、手順を円滑に進めるためにお役に立てば幸いです。さらに詳しい説明が必要な場合や質問がある場合は、いつでもsupport@zohopagesense.comにメールでお問い合わせください。