Tentang peristiwa pengguna

Halaman ini menjelaskan peristiwa pengguna untuk aplikasi Gemini Enterprise, termasuk jenis peristiwa pengguna, persyaratan, dan contoh untuk jenis peristiwa pengguna.

Jika Anda menggunakan Gemini Enterprise API di aplikasi Anda sendiri, Anda harus mengonfigurasi penelusuran di aplikasi Anda untuk mendapatkan peristiwa pengguna, lalu menambahkan data peristiwa pengguna ke aplikasi Gemini Enterprise Anda.

Jika Anda membuat aplikasi melalui Google Cloud konsol, Anda tidak perlu mengimpor peristiwa pengguna secara manual (dan Anda tidak perlu membaca halaman ini).

Untuk mendapatkan bantuan terkait cara 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 atau menelusuri situs Anda:

Nama peristiwa pengguna Tindakan pengguna
view-item Melihat detail dokumen.
search Menelusuri data di aplikasi Gemini Enterprise.

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 Gemini Enterprise. Contoh untuk Piksel JavaScript disediakan. Untuk BigQuery, skema tabel lengkap untuk setiap jenis disediakan.

Untuk semua jenis peristiwa pengguna, userId bersifat opsional.

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

view-item

Berikut ini format data peristiwa pengguna view-item.

Persyaratan pengoptimalan penelusuran untuk peristiwa view-item

Agar penelusuran dapat mengoptimalkan pengalaman penelusuran secara otomatis berdasarkan tren pengguna secara keseluruhan, upload data berikut.

Peristiwa harus diupload setidaknya setiap hari dengan penundaan maksimum 24 jam.

Metrik peristiwa Volume/frekuensi peristiwa Deskripsi
Volume peristiwa view-item 250 ribu item yang dilihat

Setidaknya 250.000 item yang dilihat diperlukan untuk mengoptimalkan pengalaman penelusuran berdasarkan peristiwa yang di-ingest.

Objek view-item minimum yang diperlukan

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

Objek documents berisi ID dokumen (id) dan nama resource-nya (name).

  • Saat Anda meng-ingest atau merekam peristiwa pengguna di tingkat penyimpanan data, Anda dapat memberikan ID dokumen (id) atau nama resource (name).
  • Saat Anda meng-ingest atau merekam peristiwa di tingkat lokasi, Anda harus memberikan nama resource dokumen (name) karena nama tersebut menunjukkan jalur lengkap dokumen dan merujuk ke penyimpanan data tempat dokumen berada. Anda dapat memberikan ID dokumen sebagai informasi tambahan opsional.

Piksel JavaScript

var user_event = {
  "eventType": "view-item",
  "userPseudoId": "USER_PSEUDO_ID",
  "engine": "APP_ID",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "documents": [{
    "name": "DOCUMENT_NAME"
  }]
};

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 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": "engine",
    "type": "STRING",
    "mode": "NULLABLE"
  },
  {
    "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"
          }
        ]
      }
    ]
  }
]

Berikut ini format peristiwa pengguna search.

Persyaratan pengoptimalan penelusuran untuk peristiwa penelusuran

Agar penelusuran dapat mengoptimalkan pengalaman penelusuran secara otomatis berdasarkan tren pengguna secara keseluruhan, upload data berikut.

Peristiwa harus diupload setidaknya setiap hari dengan penundaan maksimum 24 jam.

Metrik peristiwa Volume/frekuensi peristiwa Deskripsi
Volume peristiwa search 100 ribu penelusuran

Setidaknya 100.000 penelusuran diperlukan untuk mengoptimalkan pengalaman penelusuran berdasarkan peristiwa yang di-ingest.

Objek penelusuran minimum yang diperlukan

Contoh berikut hanya menampilkan kolom wajib dari format peristiwa pengguna search.

Berikan searchQuery untuk peristiwa penelusuran saat pengguna memasukkan kueri teks.

attributionToken ditampilkan bersama hasil kueri penelusuran.

Objek documents berisi ID dokumen (id) dan nama resource-nya (name).

  • Saat Anda meng-ingest atau merekam peristiwa pengguna di tingkat penyimpanan data, Anda dapat memberikan ID dokumen (id) atau nama resource (name).
  • Saat Anda meng-ingest atau merekam peristiwa di tingkat lokasi, Anda harus memberikan nama resource dokumen (name) karena nama tersebut menunjukkan jalur lengkap dokumen dan merujuk ke penyimpanan data tempat dokumen berada. Anda dapat memberikan ID dokumen sebagai informasi tambahan opsional.

Piksel JavaScript

var user_event = {
  "eventType": "search",
  "userPseudoId": "USER_PSEUDO_ID",
  "engine": "APP_ID",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "searchInfo": {
    "searchQuery": "SEARCH_QUERY",
  }, 
  "attributionToken": "ATTRIBUTION_TOKEN",
  "documents": [
    {
      "name": "DOCUMENT_NAME_1",
    },
    {
      "name": "DOCUMENT_NAME_2",
    },
  ]
};

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 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": "engine",
    "type": "STRING",
    "mode": "NULLABLE"
  },
  {
    "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 merekam 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 merekam the userId untuk pengguna, aplikasi Gemini Enterprise 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 direkam secara otomatis untuk peristiwa yang dikumpulkan menggunakan Piksel JavaScript. Saat Anda mengimpor peristiwa, Anda harus memberikan stempel waktu di kolom eventTime dalam format yang ditentukan oleh RFC 3339.