- リソース: UserEvent
- UserInfo
- PageInfo
- DocumentInfo
- PanelInfo
- SearchInfo
- CompletionInfo
- TransactionInfo
- MediaInfo
- メソッド
リソース: UserEvent
UserEvent は、エンドユーザーがウェブサイトをどのように操作したかについて、Discovery Engine API が把握する必要があるすべてのメタデータ情報をキャプチャします。
| JSON 表現 | 
|---|
| { "eventType": string, "conversionType": string, "userPseudoId": string, "engine": string, "dataStore": string, "eventTime": string, "userInfo": { object ( | 
| フィールド | |
|---|---|
| eventType | 
 必須。ユーザー イベントタイプ。指定できる値は次のとおりです。 一般的な値: 
 小売関連の値: 
 メディア関連の値: 
 カスタム コンバージョン値: 
 | 
| conversionType | 
 省略可。コンバージョンの種類。 
 
 | 
| userPseudoId | 
 必須。訪問者をトラッキングするための一意の識別子。 たとえば、これは HTTP Cookie で実装できます。これにより、1 台のデバイス上の訪問者を一意に識別できます。この一意の識別子は、訪問者がウェブサイトに対してログインまたはログアウトしても変更されません。 異なるユーザーに対して同じ固定 ID を設定しないでください。これにより、これらのユーザーのイベント履歴が混在し、モデルの品質が低下します。 このフィールドは、長さの上限が 128 文字の UTF-8 でエンコードされた文字列にする必要があります。それ以外の場合は、 このフィールドに PII やユーザーデータを含めることはできません。このフィールドには、Google アナリティクスのクライアント ID を使用することをおすすめします。 | 
| engine | 
 
 省略可。 | 
| dataStore | 
 
 省略可。 | 
| eventTime | 
 
 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:  | 
| userInfo | 
 エンドユーザーに関する情報。 | 
| directUserRequest | 
 リクエストがエンドユーザーから直接行われた場合は true に設定する必要があります。この場合、 このフラグは、API リクエストがエンドユーザー(モバイルアプリなど)から直接行われた場合にのみ設定する必要があります(ゲートウェイまたはサーバーがユーザー イベントを処理して push している場合は設定しないでください)。 
 | 
| sessionId | 
 訪問者セッションをトラッキングするための一意の識別子。長さの上限は 128 バイトです。セッションとは、一定期間内のエンドユーザーの行動をまとめたものです。 sessionId を入力するための一般的なガイドラインは次のとおりです。 
 | 
| pageInfo | 
 
 | 
| attributionToken | 
 イベントをトリガーするユーザー アクションに API レスポンスを関連付けるためのトークン。 
 値は次のいずれかにする必要があります。 
 このトークンにより、ページビューやコンバージョンの完了を、イベントとクリックまたは購入された商品を含む特定の予測レスポンスへと正確に関連付けることができます。ユーザーがレコメンデーション結果の商品 K をクリックした場合は、 | 
| filter | 
 フィルタ構文は、フィルタ対象となるドキュメントの 1 つ以上のフィールドから述語を生成するための式言語で構成されます。 たとえば、 同様に、 値は UTF-8 でエンコードされた文字列で、長さの上限は 1,000 文字です。それ以外の場合は、 | 
| documents[] | 
 このユーザー イベントに関連付けられた  このフィールドは、次のイベントタイプを除き、省略可能です。 
 
 | 
| panel | 
 このユーザー イベントに関連付けられたパネルのメタデータ。 | 
| searchInfo | 
 イベントに関連する  このフィールドは  | 
| completionInfo | 
 イベントに関連する  このフィールドは、予測入力機能が有効で、ユーザーが検索候補をクリックしたときに、 | 
| transactionInfo | 
 このユーザー イベントに関連付けられているトランザクション メタデータ(ある場合)。 | 
| tagIds[] | 
 このユーザー イベントが属する独立したテストグループの ID リスト。これは、異なるテスト設定に関連付けられたユーザー イベントを区別するために使用されます。 | 
| promotionIds[] | 
 プロモーションに関連付けられたイベントの場合のプロモーション ID。現在、このフィールドは最大 1 つの ID に制限されています。 | 
| attributes | 
 レコメンデーション モデルに含める追加のユーザー イベントの特徴。これらの属性には、JSON などの解析や処理が必要なデータを含めてはなりません。 取り込まれたユーザー イベントのカスタム属性を指定する場合は、予測リクエストに関連付けるユーザー イベントにも含めます。カスタム属性の形式は、インポートされたイベントと、予測リクエストで指定されたイベントの間で一貫している必要があります。これにより、Discovery Engine API はモデルのトレーニング時や予測の提供時にこれらのカスタム属性を使用できるため、レコメンデーションの品質向上に役立ちます。 このフィールドは、以下のすべての条件を満たしている必要があります。満たしていない場合、 
 商品のおすすめの場合、ユーザーがサイトにアクセスした経路を示す  | 
| attributes.text[] | 
 このカスタム属性のテキスト値。たとえば、キーが「color」の場合は  空の文字列は使用できません。それ以外の場合は、 
 | 
| attributes.numbers[] | 
 このカスタム属性の数値。たとえば、キーが「lengths_cm」の場合は  
 | 
| mediaInfo | 
 メディア固有の情報。 | 
| panels[] | 
 省略可。このイベントに関連付けられているパネルのリスト。ページ単位のインプレッション データに使用されます。 | 
UserInfo
エンドユーザーの情報。
| JSON 表現 | 
|---|
| { "userId": string, "userAgent": string, "timeZone": string } | 
| フィールド | |
|---|---|
| userId | 
 ログインしているユーザーに強く推奨されます。ログイン中のユーザーの一意の識別子(ユーザー名など)。匿名ユーザーには設定しないでください。 この ID には常にハッシュ値を使用します。 異なるユーザーに対して同じ固定 ID を設定しないでください。これにより、これらのユーザーのイベント履歴が混在し、モデルの品質が低下します。 このフィールドは、長さの上限が 128 文字の UTF-8 でエンコードされた文字列にする必要があります。それ以外の場合は、 | 
| userAgent | 
 HTTP ヘッダーに含まれるユーザー エージェント。 このフィールドは、長さの上限が 1,000 文字の UTF-8 でエンコードされた文字列にする必要があります。それ以外の場合は、 GTM または JavaScript タグでクライアントサイドのイベント レポートを使用している場合( | 
| timeZone | 
 省略可。IANA タイムゾーン(例: Europe/Budapest)。 | 
PageInfo
詳細なページ情報。
| JSON 表現 | 
|---|
| { "pageviewId": string, "pageCategory": string, "uri": string, "referrerUri": string } | 
| フィールド | |
|---|---|
| pageviewId | 
 ウェブページ ビューの一意の ID。 同じページビューからトリガーされたすべてのユーザー イベントで同じ値にする必要があります。たとえば、アイテムの詳細ページビューでは、ユーザーがページをブラウジングする際に複数のイベントがトリガーされる可能性があります。これらのイベントが適切にグループ化されるように、 JavaScript Pixel と Google タグ マネージャーでクライアントサイドのイベント レポートを使用する場合、この値は自動的に入力されます。 | 
| pageCategory | 
 カテゴリページに関連付けられている最も具体的なカテゴリ。 カテゴリのフルパスを表すには、異なる階層を区切るために「>」記号を使用します。'>' がカテゴリ名の一部である場合は、別の文字に置き換えます。 カテゴリページには、セールやプロモーションなどの特別なページが含まれます。たとえば、特別セールページには、 
 | 
| uri | 
 ユーザーの現在のページの完全な URL(window.location.href)。 JavaScript Pixel と Google タグ マネージャーでクライアントサイドのイベント レポートを使用する場合、この値は自動的に入力されます。最大文字数は 5,000 文字です。 | 
| referrerUri | 
 現在のページの参照元 URL。 JavaScript Pixel と Google タグ マネージャーでクライアントサイドのイベント レポートを使用する場合、この値は自動的に入力されます。ただし、ブラウザのプライバシー制限により、このフィールドが空になることがあります。 | 
DocumentInfo
ユーザー イベントに関連付けられたドキュメントの詳細情報。
| JSON 表現 | 
|---|
| { "promotionIds": [ string ], "joined": boolean, // Union field | 
| フィールド | |
|---|---|
| promotionIds[] | 
 このドキュメントに関連付けられているプロモーション ID。現在、このフィールドは最大 1 つの ID に制限されています。 | 
| joined | 
 出力専用。参照されたドキュメントがデータストアで見つかるかどうか。 | 
| 共用体フィールド  | |
| id | 
 
 | 
| name | 
 
 | 
| uri | 
 
 | 
| quantity | 
 ユーザー イベントに関連付けられたドキュメントの数量。デフォルトは 1 です。 たとえば、同じドキュメントの数量が 2 つ  次のイベントタイプのイベントで必須です。 
 | 
| conversionValue | 
 省略可。このドキュメントに関連付けられているコンバージョン値。 たとえば、値 1000 は、 | 
PanelInfo
ユーザー イベントに関連付けられた詳細パネル情報。
| JSON 表現 | 
|---|
| {
  "panelId": string,
  "displayName": string,
  "documents": [
    {
      object ( | 
| フィールド | |
|---|---|
| panelId | 
 必須。パネル ID。 | 
| displayName | 
 パネルの表示名。 | 
| documents[] | 
 省略可。このパネルに関連付けられているドキュメント ID。 | 
| panelPosition | 
 他のパネルとともにユーザーに表示される場合の、パネルの順序付き位置。設定する場合は、 | 
| totalPanels | 
 ユーザーに表示されたパネルの合計数(このパネルを含む)。 | 
SearchInfo
検索の詳細情報。
| JSON 表現 | 
|---|
| { "searchQuery": string, "orderBy": string, "offset": integer } | 
| フィールド | |
|---|---|
| searchQuery | 
 ユーザーの検索クエリ。 定義については、 値は UTF-8 でエンコードされた文字列で、長さの上限は 5,000 文字です。それ以外の場合は、 
 | 
| orderBy | 
 商品が返される順序(該当する場合)。 定義と構文については、 値は UTF-8 でエンコードされた文字列で、長さの上限は 1,000 文字です。それ以外の場合は、 これは  | 
| offset | 
 ページネーションの現在のオフセット(API で関連すると見なされるプロダクトにおける 0 から始まる開始位置)を指定する整数。 定義については、 このフィールドが負の数の場合、 これは  | 
CompletionInfo
完了アトリビューション トークンやクリックされた完了情報などの詳細な完了情報。
| JSON 表現 | 
|---|
| { "selectedSuggestion": string, "selectedPosition": integer } | 
| フィールド | |
|---|---|
| selectedSuggestion | 
 エンドユーザーが  | 
| selectedPosition | 
 エンドユーザーが選択した  | 
TransactionInfo
トランザクションは購入トランザクション全体を表します。
| JSON 表現 | 
|---|
| { "currency": string, "transactionId": string, "value": number, "tax": number, "cost": number, "discountValue": number } | 
| フィールド | |
|---|---|
| currency | 
 必須。通貨コード。3 文字の ISO-4217 コードを使用します。 | 
| transactionId | 
 長さの上限が 128 文字の取引 ID。 | 
| value | 
 必須。トランザクションに関連付けられたゼロ以外の合計値。この値には、合計値に含める送料、税金、その他の調整額を含めることができます。 | 
| tax | 
 トランザクションに関連付けられたすべての税金。 | 
| cost | 
 商品に関連付けられたすべての費用。たとえば、製造費や、エンドユーザーが負担しない配送費用などが該当します。 | 
| discountValue | 
 この取引に適用された割引の合計額。この数値は  たとえば、ユーザーが  つまり、割引額に関係なく利益は同じ方法で計算され、 | 
MediaInfo
メディア固有のユーザー イベント情報。
| JSON 表現 | 
|---|
| { "mediaProgressDuration": string, "mediaProgressPercentage": number } | 
| フィールド | |
|---|---|
| mediaProgressDuration | 
 メディアの進行状況(秒単位、該当する場合)。たとえば、エンドユーザーが再生動画の 90 秒を視聴した場合、 
 | 
| mediaProgressPercentage | 
 メディアの進行状況は、メディアの合計長に対する  この値は  再生ではない場合や、進行状況を計算できない場合(ライブ配信中など)は、このフィールドを未設定にする必要があります。 | 
| メソッド | |
|---|---|
| 
 | ブラウザから 1 つのユーザー イベントを書き込みます。 | 
| 
 | ユーザー イベントを一括インポートします。 | 
| 
 | 特定のフィルタで指定されたすべてのユーザー イベントを完全に削除します。 | 
| 
 | 1 つのユーザー イベントを書き込みます。 |