- リソース: UserEvent
- 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 つ以上のフィールドから述語を生成するための式言語で構成されます。 たとえば、 同様に、 この値は、長さの上限が 1,000 文字の UTF-8 でエンコードされた文字列にする必要があります。それ以外の場合は、 |
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[] |
省略可。このイベントに関連付けられているパネルのリスト。ページ単位のインプレッション データに使用されます。 |
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 |
ユーザー イベントに関連付けられた Document の数量。デフォルトは 1 です。 たとえば、同じ Document の 2 つの数量が 次のイベントタイプのイベントで必須です。
|
conversionValue |
省略可。このドキュメントに関連付けられているコンバージョン値。 たとえば、1,000 という値は、 |
PanelInfo
ユーザー イベントに関連付けられた詳細パネル情報。
| JSON 表現 |
|---|
{
"panelId": string,
"displayName": string,
"documents": [
{
object ( |
| フィールド | |
|---|---|
panelId |
必須。パネル ID。 |
displayName |
パネルの表示名。 |
documents[] |
省略可。このパネルに関連付けられているドキュメント ID。 |
panelPosition |
他のパネルとともにユーザーに表示される場合の、パネルの順序付き位置。設定する場合は、 |
totalPanels |
ユーザーに表示されたパネルの合計数(このパネルを含む)。 |
SearchInfo
詳細な検索情報。
| JSON 表現 |
|---|
{ "searchQuery": string, "orderBy": string, "offset": integer } |
| フィールド | |
|---|---|
searchQuery |
ユーザーの検索クエリ。 定義については、 値は、長さの上限が 5,000 文字の UTF-8 でエンコードされた文字列にする必要があります。それ以外の場合は、
|
orderBy |
商品が返される順序(該当する場合)。 定義と構文については、 この値は、長さの上限が 1,000 文字の UTF-8 でエンコードされた文字列にする必要があります。それ以外の場合は、 これは、 |
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 つのユーザー イベントを書き込みます。 |