このページでは、ユーザー イベントの種類、要件、ユーザー イベントの種類の例など、Gemini Enterprise アプリのユーザー イベントについて説明します。
独自のアプリで Gemini Enterprise API を使用する場合は、アプリで検索を設定してユーザー イベントを取得し、そのユーザー イベント データを Gemini Enterprise アプリに追加する必要があります。
Google Cloud コンソールでアプリを作成する場合は、ユーザー イベントを手動でインポートする必要はありません(このページを読む必要もありません)。
ユーザー イベントの記録については、リアルタイム ユーザー イベントの記録をご覧ください。過去のユーザー イベントを一括でインポートするには、過去のユーザー イベントをインポートするをご覧ください。
ユーザー イベントタイプ
エンドユーザーがサイトを閲覧または検索する際に、次の種類のユーザー イベントを記録できます。
ユーザー イベント名 | ユーザーの操作 |
---|---|
view-item |
ドキュメントの詳細を表示します。 |
search |
Gemini Enterprise アプリのデータを検索します。 |
ユーザー イベント オブジェクトの詳細については、UserEvent
API リファレンス ドキュメントをご覧ください。
ユーザー イベントタイプの例とスキーマ
このセクションでは、Gemini Enterprise アプリでサポートされる各イベントタイプのデータ形式について説明します。JavaScript Pixel の例が用意されています。BigQuery の場合、各タイプのテーブル スキーマ全体が用意されています。
すべてのユーザー イベントタイプでは、userId
は省略可能です。
ユーザー イベント オブジェクトの詳細については、UserEvent
API リファレンス ドキュメントをご覧ください。
view-item
view-item
ユーザー イベントのデータ形式は、次のとおりです。
最低限必要な view-item オブジェクト
次の例は、view-item
ユーザー イベント形式の必須項目のみを示しています。
ほとんどの場合、documents
には関連付けられたドキュメントの詳細が含まれます。
JavaScript Pixel
var user_event = {
"eventType": "view-item",
"userPseudoId": "user-pseudo-id",
"eventTime": "2020-01-01T03:33:33.000001Z",
"documents": [{
"id": "document-id"
}]
};
BigQuery
このユーザー イベントタイプの完全な JSON スキーマです。BigQuery でこのユーザー イベント タイプのテーブルを作成する場合、このスキーマを指定します。
必須項目のモードが REQUIRED
または REPEATED
に設定されています。省略可能な項目のモードは NULLABLE
に設定されています。
BigQuery でイベントをインポートするには、eventTime
が必要です。eventTime
は、タイムスタンプ形式の文字列です。
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageviewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "tagIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "example_text_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "example_number_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "numbers", "type": "NUMERIC", "mode": "REPEATED" } ] } ] } ]
検索
search
ユーザー イベントの形式は、次のとおりです。
最低限必要な search オブジェクト
次の例は、search
ユーザー イベント形式の必須項目のみを示しています。
searchQuery
を指定します。
attributionToken
は検索クエリの結果とともに返されます。
documents
には、検索結果ページ内でエンドユーザーに表示されるドキュメント ID のリストを含める必要があります。
JavaScript Pixel
var user_event = {
eventType: "search",
userPseudoId: "user-pseudo-id",
eventTime: "2020-01-01T03:33:33.000001Z",
searchInfo: {
searchQuery: "search-query",
},
attributionToken: "attribution-token",
documents: [
{
id: "document-id1",
},
{
id: "document-id2",
},
]
};
BigQuery
このユーザー イベントタイプの完全な JSON スキーマです。BigQuery でこのユーザー イベント タイプのテーブルを作成する場合、このスキーマを指定します。
必須項目のモードが REQUIRED
または REPEATED
に設定されています。省略可能な項目のモードは NULLABLE
に設定されています。
BigQuery でイベントをインポートするには、eventTime
が必要です。eventTime
は、タイムスタンプ形式の文字列です。
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "searchInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "searchQuery", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageCategory", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] } ]
ユーザー情報について
userPseudoId
は一意のユーザー ID を表し、ユーザー イベントを記録する際に必要です。
ユーザー イベントを記録するときに表示されるユーザー情報(UserInfo
)には、userPseudoId
の値と userId
の値(使用可能な場合)が含まれます。userId
は省略可能で、ユーザーがサイトにログインするたびに、デバイス間で一意の永続的な識別子として使用できます。ユーザーの userId
を記録すると、Gemini Enterprise アプリは、モバイル デバイスやウェブブラウザなど、ユーザーが複数のデバイスで 1 人のユーザーに対してカスタマイズされた結果を生成できます。
タイムスタンプについて
ユーザー イベントを記録する際は、イベントが発生した正確なタイムスタンプを必ず含めるようにしてください。正確なタイムスタンプにより、イベントが正しい順序で保存されます。タイムスタンプは、JavaScript Pixel を使用して収集されたイベントに対して自動的に記録されます。イベントをインポートする際は、RFC 3339 で指定されている形式で eventTime
フィールドにタイムスタンプを指定する必要があります。