Tentang peristiwa pengguna

Halaman ini menjelaskan peristiwa pengguna untuk aplikasi penelusuran dan rekomendasi umum, termasuk jenis peristiwa pengguna, persyaratan, dan contoh untuk jenis peristiwa pengguna.

Meskipun tidak diperlukan untuk aplikasi umum, peristiwa pengguna sangat direkomendasikan.

Untuk mendapatkan bantuan dalam merekam peristiwa pengguna, lihat Merekam peristiwa pengguna real-time. Untuk mengimpor peristiwa pengguna sebelumnya secara massal, lihat Mengimpor peristiwa pengguna historis.

Jenis peristiwa pengguna

Anda dapat merekam jenis peristiwa pengguna berikut saat pengguna akhir menjelajahi situs Anda:

Nama peristiwa pengguna Tindakan pengguna
add-feedback Menambahkan masukan pengguna.
view-item-list Melihat panel atau daftar dokumen yang diurutkan.
view-category-page Melihat halaman kategori, seperti Beranda > TV > Drama, Beranda > Film > Action.
view-item Melihat detail dokumen.
view-home-page Melihat halaman beranda.
search Menelusuri penyimpanan data.

Untuk mengetahui detail tentang objek peristiwa pengguna, lihat dokumentasi referensi UserEvent API.

Contoh dan skema jenis peristiwa pengguna

Bagian ini menyediakan format data untuk setiap jenis peristiwa yang didukung oleh aplikasi generik.

Contoh untuk Pixel JavaScript disediakan. Untuk BigQuery, skema tabel lengkap untuk setiap jenis disediakan.

Untuk semua jenis peristiwa pengguna, userId bersifat opsional.

Perhatikan bahwa:

  • Kolom tagIds hanya diperlukan jika Anda menjalankan eksperimen A/B.

  • Kolom attributionToken bersifat opsional; kolom ini digunakan untuk mengukur performa. Peristiwa search dan view-item yang dihasilkan dari klik rekomendasi harus memiliki token atribusi untuk menautkan peristiwa kembali ke rekomendasi yang menghasilkannya.

Untuk mengetahui detail selengkapnya tentang objek peristiwa pengguna, lihat dokumentasi referensi UserEvent API.

view-category-page

Berikut adalah format peristiwa pengguna view-category-page.

Objek halaman kategori tampilan minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari format peristiwa pengguna view-category-page.

Meskipun biasanya hanya ada satu kategori yang terkait dengan halaman, kolom pageCategories juga mendukung hierarki kategori, yang dapat Anda berikan sebagai daftar.

Piksel JavaScript

var user_event = {
  "eventType": "view-category-page",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "pageInfo": {
    "pageCategory": "category1 > category2"
  }
};

BigQuery

Ini adalah skema JSON lengkap untuk jenis peristiwa pengguna ini. Tentukan skema ini saat membuat tabel untuk jenis peristiwa pengguna ini di BigQuery.

Mode untuk kolom wajib diisi ditetapkan ke REQUIRED atau REPEATED. Mode untuk kolom opsional ditetapkan ke NULLABLE.

Perhatikan bahwa eventTime diperlukan untuk mengimpor peristiwa dengan BigQuery. eventTime adalah string dengan format Stempel Waktu.

[
  {
    "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": "pageCategory",
        "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-item

Berikut adalah format data peristiwa pengguna view-item.

Objek item tampilan minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari format peristiwa pengguna view-item.

Pada umumnya, documents berisi detail untuk dokumen terkait.

Piksel JavaScript

var user_event = {
  "eventType": "view-item",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "documents": [{
    "id": "document-id"
  }]
};

BigQuery

Ini adalah skema JSON lengkap untuk jenis peristiwa pengguna ini. Tentukan skema ini saat membuat tabel untuk jenis peristiwa pengguna ini di BigQuery.

Mode untuk kolom wajib diisi ditetapkan ke REQUIRED atau REPEATED. Mode untuk kolom opsional ditetapkan ke NULLABLE.

Perhatikan bahwa eventTime diperlukan untuk mengimpor peristiwa dengan BigQuery. eventTime adalah string dengan format Stempel Waktu.

[
  {
    "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

Berikut adalah format peristiwa pengguna view-home-page.

Objek lihat halaman beranda minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari format peristiwa pengguna view-home-page.

Piksel JavaScript

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

BigQuery

Ini adalah skema JSON lengkap untuk jenis peristiwa pengguna ini. Tentukan skema ini saat membuat tabel untuk jenis peristiwa pengguna ini di BigQuery.

Mode untuk kolom wajib diisi ditetapkan ke REQUIRED atau REPEATED. Mode untuk kolom opsional ditetapkan ke NULLABLE.

Perhatikan bahwa eventTime diperlukan untuk mengimpor peristiwa dengan BigQuery. eventTime adalah string dengan format Stempel Waktu.

[
  {
    "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"
          }
        ]
      }
    ]
  }
]

Berikut adalah format peristiwa pengguna search.

Objek penelusuran minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari format peristiwa pengguna search.

Setidaknya salah satu kolom searchQuery atau pageCategory harus ada:

  • Berikan searchQuery untuk peristiwa penelusuran saat pengguna memasukkan kueri teks.

  • Berikan pageCategory saat pengguna membuka item yang menarik dengan menjelajah, yaitu dengan mengklik kategori, bukan dengan memasukkan kueri teks.

documents harus menyertakan daftar ID dokumen yang ditampilkan kepada pengguna akhir di halaman hasil penelusuran.

Piksel JavaScript

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

Ini adalah skema JSON lengkap untuk jenis peristiwa pengguna ini. Tentukan skema ini saat membuat tabel untuk jenis peristiwa pengguna ini di BigQuery.

Mode untuk kolom wajib diisi ditetapkan ke REQUIRED atau REPEATED. Mode untuk kolom opsional ditetapkan ke NULLABLE.

Perhatikan bahwa eventTime diperlukan untuk mengimpor peristiwa dengan BigQuery. eventTime adalah string dengan format Stempel Waktu.

[
  {
    "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"
      }
    ]
  }
]

Tentang informasi pengguna

userPseudoId mewakili ID pengguna unik dan diperlukan saat Anda mencatat peristiwa pengguna.

Informasi pengguna (UserInfo) yang disertakan saat Anda merekam peristiwa pengguna berisi nilai userPseudoId dan, jika tersedia, nilai userId. userId bersifat opsional dan dapat digunakan sebagai ID unik dan persisten untuk pengguna di seluruh perangkat setiap kali pengguna login ke situs Anda. Saat Anda mencatat userId untuk pengguna, aplikasi penelusuran dan rekomendasi dapat menghasilkan hasil yang lebih dipersonalisasi untuk satu pengguna di beberapa perangkat, seperti perangkat seluler dan browser web.

Tentang stempel waktu

Saat Anda merekam peristiwa pengguna, pastikan untuk menyertakan stempel waktu yang akurat saat peristiwa terjadi. Stempel waktu yang akurat memastikan peristiwa Anda disimpan dalam urutan yang benar. Stempel waktu dicatat secara otomatis untuk peristiwa yang dikumpulkan menggunakan Piksel JavaScript. Saat mengimpor peristiwa, Anda harus memberikan stempel waktu di kolom eventTime dalam format yang ditentukan oleh RFC 3339.

Langkah berikutnya