目標の追跡

目標の追跡

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

The trackGoal() methodは、PageSense のフルスタック A/B テスト実験でゴールコンバージョンを記録するために使用します。実験の対象となるユーザーに対してのみ、PageSense 内でコンバージョンを処理します。
この API は、実験のオーディエンスターゲティングルールの設定に応じて、ユーザー属性の有無にかかわらず呼び出すことができます。

メソッドの呼び出し

  1. // フルスタック A/B テスト実験のゴールコンバージョンをトラッキングする
  2. $pageSenseClient->trackGoal($experimentName, $userId, $goalName, $userAttributes);

メソッドパラメーター

Parameter

種類

説明

experimentName

string

ゴールが定義されている実験の名前。

userId

string

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

goalName

string

トラッキングするゴールの名前。

userAttributes

array

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


前提条件  

この method を呼び出す際は、次の点を確認してください。

  • ゴールをトラッキングする Web ページで、対象の実験が有効になっていること。

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

返却時の動作  

  • ユーザーが実験の対象条件を満たしている場合、ゴールコンバージョンが記録され、PageSense サーバーに送信されます。

  • ユーザーが対象条件を満たしていない、または実験のトラフィック配分外である場合、API はコンバージョンリクエストを無視します(何も処理しません)。

これにより、A/B テスト実験の対象ユーザーに対してのみコンバージョンがトラッキングされます。
 

コード例

  1. use Zoho\PageSense\PageSenseClient;
  2. // ユーザー属性を定義
  3. $userAttributes= [
  4. 'Browser' => 'Chrome',
  5. 'Device' => 'Desktop',
  6. 'OS' => 'Windows 10'];
  7. // フルスタック実験のゴールコンバージョンをトラッキング
  8. $pageSenseClient->trackGoal($experimentName, $userId, $goalName, $userAttributes);

API の動作  

trackGoal() メソッドが呼び出されると、PageSense にゴールコンバージョンを記録する前に、次のような構造化された検証プロセスを実行します。

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

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

  • これらの条件には通常、ブラウザー、デバイスの種類、OS、またはユーザー属性で渡される任意のカスタム項目などのユーザー属性が含まれます。

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

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

2. ユーザーの適格性判定  

次に API は、ユーザーが実験のトラフィック割り当て範囲内に含まれているかどうかを検証します。

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

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

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

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

例:

バリエーション

ハッシュ範囲

元の内容

0 – 2000

バリエーション 1

2001 – 4000

バリエーション 2

4001 – 6000

ユーザーのハッシュ値がこれらのいずれかの範囲内に収まる場合、ユーザーは適格とみなされ、目標イベントがトラッキングされます。範囲外にある場合は、イベントは送信されません。

3. トラッキングと分析  

ユーザーが条件を満たし、ゴール条件が達成されると:

  • SDK は、実験名、ユーザー ID、ゴール名、バリエーション ID をパッケージ化します。

  • このコンバージョンイベントを、安全な HTTPS リクエストで PageSense のバックエンドに送信します。

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

4. 戻り動作  

条件

SDK の動作

ユーザーが条件を満たし、ゴールを達成した場合

ゴールイベントを PageSense に送信します

ユーザーが条件を満たさない場合

呼び出しを無視し、何も行いません

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

エラーをログに記録します(ログが有効な場合)。自動で再試行は行いません

 

trackGoal() をユーザー属性なしで使用する  

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

メソッドの呼び出し

  1. // ユーザー属性なしでゴールコンバージョンをトラッキング
  2. $pageSenseClient->trackGoal($experimentName, $userId, $goalName);

動作方法  

  • 必須なのは、実験名ユーザー ID、および ゴール名のみです。

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

  • ユーザーが実験の対象として判定された場合、API は MurmurHash アルゴリズムを使用してバリエーションを決定し、そのバリエーションに対してゴールデータを記録します。

  • ユーザーが実験の対象として判定されない場合、コンバージョンイベントは発生しません。

ベストプラクティス  

  • コンバージョンイベントが発生した直後に、必ず trackGoal() API を呼び出してください。

  • 決定的な動作を得るため、すべての SDK メソッドで一貫した ユーザー ID を使用してください。

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

  • 何も行わない(no-op)ケースも想定して、問題なく処理できるようにしてください。すべてのユーザーがトラッキング対象になるわけではありません。

高スループットなアプリでは、可能な場合はコンバージョンをバッチ処理して、API のオーバーヘッドを削減してください。

このドキュメントが手順の理解に役立てば幸いです。追加の説明が必要な場合やご不明な点がありましたら、いつでも support@zohopagesense.com までメールでお気軽にお問い合わせください。