사용자 이벤트 정보

이 페이지에서는 사용자 이벤트 유형, 요구사항, 사용자 이벤트 유형의 예시를 포함하여 맞춤 검색 및 추천 앱의 사용자 이벤트를 설명합니다.

사용자 이벤트는 맞춤 앱에 필수는 아니지만 적극 권장됩니다.

사용자 이벤트 기록과 관련된 도움말은 실시간 사용자 이벤트 기록을 참조하세요. 이전 사용자 이벤트를 일괄적으로 가져오려면 이전 사용자 이벤트 가져오기를 참고하세요.

사용자 이벤트 유형

최종 사용자가 사이트를 탐색하거나 검색할 때 다음 유형의 사용자 이벤트를 기록할 수 있습니다.

사용자 이벤트 이름 사용자 작업
view-item-list 문서의 패널 또는 정렬된 목록을 봅니다.
view-item 문서의 세부정보를 봅니다.
view-home-page 홈페이지를 조회합니다.
search 데이터 스토어를 검색합니다.

사용자 이벤트 객체에 대한 자세한 내용은 UserEvent API 참고 문서를 확인하세요.

사용자 이벤트 유형 예시 및 스키마

이 섹션에서는 맞춤 앱에서 지원하는 각 이벤트 유형의 데이터 형식을 제공합니다. JavaScript Pixel의 예시가 제공됩니다. BigQuery에는 각 유형의 전체 테이블 스키마가 제공됩니다.

모든 사용자 이벤트 유형에서 userId는 선택사항입니다.

다음 사항을 참고하세요.

  • tagIds 필드는 A/B 실험을 실행하는 경우에만 필수입니다.

  • attributionToken 필드는 선택사항이며 성능 측정에 사용됩니다. 추천 클릭에서 생성된 searchview-item 이벤트에는 이벤트를 생성한 추천에 다시 연결하려면 기여 분석 토큰이 있어야 합니다.

사용자 이벤트 객체에 대한 자세한 내용은 UserEvent API 참고 문서를 확인하세요.

view-item

다음은 view-item 사용자 이벤트 데이터 형식을 보여줍니다.

최소 필수 view-item 객체

다음 예시는 view-item 사용자 이벤트 형식의 필수 입력란만 보여줍니다.

대부분의 경우 documents에는 연결된 문서의 세부정보가 포함됩니다.

자바스크립트 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"
          }
        ]
      }
    ]
  }
]

view-home-page

다음은 view-home-page 사용자 이벤트 형식을 보여줍니다.

최소 필수 view-home-page 객체

다음 예시는 view-home-page 사용자 이벤트 형식의 필수 입력란만 보여줍니다.

자바스크립트 Pixel

var user_event = {
  "eventType": "view-home-page",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
};

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": "quantity",
        "type": "INT64",
        "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 또는 pageCategory 필드 중 하나 이상이 필요합니다.

  • 사용자가 텍스트 쿼리를 입력한 검색 이벤트에는 searchQuery를 제공합니다.

  • 사용자가 텍스트 쿼리를 입력하는 대신 둘러보기를 통해 관심분야 항목으로 이동한 경우(즉, 카테고리를 클릭하여 이동한 경우) pageCategory를 제공합니다.

attributionToken는 검색어 또는 탐색 결과와 함께 반환됩니다.

documents는 검색 결과 페이지에 최종 사용자에게 표시되는 문서 ID 목록을 포함해야 합니다.

자바스크립트 Pixel

var user_event = {
  eventType: "search",
  userPseudoId: "user-pseudo-id",
  eventTime: "2020-01-01T03:33:33.000001Z",
  searchInfo: {
    searchQuery: "search-query",
  }, 
  pageInfo: {
    pageCategory: "category1 > category2",
  }, 
  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는 순 사용자 식별자를 나타내며 사용자 이벤트를 기록할 때 필요합니다.

사용자 이벤트를 기록할 때 포함되는 사용자 정보(UserInfo)에는 userPseudoId 값과 userId 값(있는 경우)이 포함됩니다. userId는 선택사항이며 사용자가 사이트에 로그인할 때마다 여러 기기에서 사용자의 고유한 영구 식별자로 사용할 수 있습니다. 사용자의 userId를 기록할 때 검색 및 추천 앱은 휴대기기와 웹브라우저 등 여러 기기에서 사용자 한 명에 대해 더욱 맞춤설정된 결과를 생성할 수 있습니다.

타임스탬프 정보

사용자 이벤트를 기록할 때는 이벤트가 발생한 시점의 정확한 타임스탬프를 포함해야 합니다. 정확한 타임스탬프를 사용하면 이벤트가 올바른 순서로 저장될 수 있습니다. JavaScript Pixel을 사용하여 수집된 이벤트의 타임스탬프는 자동으로 기록됩니다. 이벤트를 가져올 때는 eventTime 필드에 RFC 3339로 지정된 형식으로 타임스탬프를 제공해야 합니다.

다음 단계