- 리소스: 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 쿠키를 사용하여 이를 구현할 수 있습니다. 이 고유 식별자는 방문자가 웹사이트에 로그인/로그아웃해도 변경되지 않아야 합니다. 여러 사용자에 대해 필드를 동일한 고정 ID로 설정하지 마세요. 이렇게 하면 해당 사용자의 이벤트 기록이 혼합되어 모델 품질이 저하됩니다. 필드는 길이 제한이 128자(영문 기준)인 UTF-8로 인코딩된 문자열이어야 합니다. 그렇지 않으면 필드에 PII 또는 사용자 데이터가 포함되어서는 안 됩니다. 이 필드에는 Google 애널리틱스 클라이언트 ID를 사용하는 것이 좋습니다. |
engine |
(선택사항) |
dataStore |
(선택사항) |
eventTime |
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
userInfo |
최종 사용자에 관한 정보입니다. |
directUserRequest |
최종 사용자로부터 직접 요청이 이루어진 경우 true로 설정해야 합니다. 이 경우 이 플래그는 모바일 앱과 같은 최종 사용자로부터 직접 API 요청이 이루어진 경우에만 설정해야 합니다(게이트웨이 또는 서버가 사용자 이벤트를 처리하고 푸시하는 경우에는 설정하지 않음).
|
sessionId |
방문자 세션을 추적하는 고유 식별자로 길이 제한은 128바이트입니다. 세션은 일정 기간 동안의 최종 사용자 행동을 집계한 것입니다. sessionId를 채우기 위한 일반 가이드라인은 다음과 같습니다.
|
pageInfo |
카테고리, |
attributionToken |
이벤트를 트리거하는 사용자 작업에 API 응답을 귀속시키는 토큰입니다.
값은 다음 중 하나여야 합니다.
이 토큰을 사용하면 페이지 조회 또는 전환 완료를 이벤트 및 클릭/구매된 제품이 포함된 특정 예측 응답에 정확하게 기여도를 부여할 수 있습니다. 사용자가 추천 결과에서 제품 K를 클릭하면 |
filter |
필터 구문은 필터링되는 문서의 하나 이상의 필드에서 조건자를 구성하기 위한 표현식 언어로 구성됩니다. 한 예로 마찬가지로 값은 1,000자 길이 제한이 있는 UTF-8 인코딩 문자열이어야 합니다. 그렇지 않으면 |
documents[] |
이 사용자 이벤트와 연결된 이 필드는 다음 이벤트 유형을 제외하고 선택사항입니다.
|
panel |
이 사용자 이벤트와 연결된 패널 메타데이터입니다. |
searchInfo |
이벤트와 관련된 이 필드는 |
completionInfo |
이벤트와 관련된 이 필드는 자동 완성 기능이 사용 설정되어 있고 사용자가 검색 추천을 클릭할 때 |
transactionInfo |
이 사용자 이벤트와 연결된 거래 메타데이터입니다 (있는 경우). |
tagIds[] |
이 사용자 이벤트가 속한 독립 실험 그룹의 식별자 목록입니다. 이는 다양한 실험 설정과 관련된 사용자 이벤트를 구분하는 데 사용됩니다. |
promotionIds[] |
프로모션과 연결된 이벤트인 경우 프로모션 ID입니다. 현재 이 필드는 ID가 최대 1개로 제한됩니다. |
attributes |
추천 모델에 포함할 추가 사용자 이벤트 기능입니다. 이러한 속성에는 JSON이나 기타 인코딩과 같이 추가로 파싱하거나 처리해야 하는 데이터가 포함되어서는 안 됩니다(NOT). 수집된 사용자 이벤트에 대해 맞춤 속성을 제공할 경우 예측 요청과 연결된 사용자 이벤트에도 해당 속성을 포함해야 합니다. 맞춤 속성의 형식은 가져온 이벤트와 예측 요청으로 제공된 이벤트 간에 일관되어야 합니다. 이렇게 하면 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 헤더에 포함된 사용자 에이전트입니다. 필드는 UTF-8로 인코딩된 문자열이어야 하며 길이 제한은 1,000자(영문 기준)입니다. 그렇지 않으면
|
timeZone |
(선택사항) IANA 시간대(예: Europe/Budapest) |
PageInfo
자세한 페이지 정보입니다.
JSON 표현 |
---|
{ "pageviewId": string, "pageCategory": string, "uri": string, "referrerUri": string } |
필드 | |
---|---|
pageviewId |
웹페이지 조회의 고유 ID입니다. 동일한 페이지 조회에서 트리거된 모든 사용자 이벤트에 대해 동일하게 유지해야 합니다. 예를 들어 사용자가 페이지를 탐색할 때 항목 세부정보 페이지 조회가 여러 이벤트를 트리거할 수 있습니다. 이러한 이벤트를 올바르게 그룹화할 수 있도록 JavaScript 픽셀 및 Google 태그 관리자를 사용하여 클라이언트 측 이벤트 보고를 사용하는 경우 이 값이 자동으로 채워집니다. |
pageCategory |
카테고리 페이지와 연결된 가장 구체적인 카테고리입니다. 카테고리의 전체 경로를 나타내려면 '>' 기호를 사용하여 다양한 계층 구조를 구분합니다. '>'가 카테고리 이름에 포함된 경우 다른 문자로 바꿉니다. 카테고리 페이지에는 할인이나 프로모션과 같은 특별 페이지가 포함됩니다. 예를 들어 특별 할인 페이지의 카테고리 계층 구조는 다음과 같습니다.
|
uri |
사용자의 현재 페이지의 전체 URL (window.location.href)입니다. JavaScript 픽셀 및 Google 태그 관리자를 사용하여 클라이언트 측 이벤트 보고를 사용하는 경우 이 값이 자동으로 채워집니다. 최대 길이는 5,000자입니다. |
referrerUri |
현재 페이지의 리퍼러 URL입니다. JavaScript 픽셀 및 Google 태그 관리자를 사용하여 클라이언트 측 이벤트 보고를 사용하는 경우 이 값이 자동으로 채워집니다. 하지만 일부 브라우저 개인 정보 보호 제한으로 인해 이 필드가 비어 있을 수 있습니다. |
DocumentInfo
사용자 이벤트와 연결된 세부적인 문서 정보입니다.
JSON 표현 |
---|
{ "promotionIds": [ string ], "joined": boolean, // Union field |
필드 | |
---|---|
promotionIds[] |
이 문서와 연결된 프로모션 ID입니다. 현재 이 필드는 ID가 최대 1개로 제한됩니다. |
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 |
사용자의 검색어입니다. 정의는 값은 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 |
필수 항목입니다. 거래와 관련된 0이 아닌 총 값입니다. 이 값에는 배송비, 세금 또는 포함하려는 총 가치에 대한 기타 조정 금액이 포함될 수 있습니다. |
tax |
거래와 관련된 모든 세금입니다. |
cost |
제품과 관련된 모든 비용입니다. 제조 비용, 최종 사용자가 부담하지 않는 배송비 또는 기타 비용이 여기에 해당할 수 있습니다. |
discountValue |
이 거래에 적용된 총 할인 값입니다. 이 수치는 예를 들어 사용자가 즉, 할인 값과 관계없이 이익이 동일한 방식으로 계산되며 |
MediaInfo
미디어 관련 사용자 이벤트 정보입니다.
JSON 표현 |
---|
{ "mediaProgressDuration": string, "mediaProgressPercentage": number } |
필드 | |
---|---|
mediaProgressDuration |
해당하는 경우 미디어 진행 시간(초)입니다. 예를 들어 최종 사용자가 90초 길이의 재생 동영상을 시청했다면 소수점 아래가 최대 9자리까지이고 ' |
mediaProgressPercentage |
미디어 진행률은 미디어 전체 길이에 대한 이 값은 재생이 아니거나 진행률을 계산할 수 없는 경우 (예: 진행 중인 라이브 스트림) 이 필드는 설정되지 않아야 합니다. |
메서드 |
|
---|---|
|
브라우저에서 단일 사용자 이벤트를 작성합니다. |
|
사용자 이벤트를 일괄 가져옵니다. |
|
제공된 필터로 지정된 모든 사용자 이벤트를 영구적으로 삭제합니다. |
|
단일 사용자 이벤트를 작성합니다. |