Halaman ini menjelaskan peristiwa pengguna untuk aplikasi penelusuran dan rekomendasi kustom, termasuk jenis peristiwa pengguna, persyaratan, dan contoh untuk jenis peristiwa pengguna.
Meskipun peristiwa pengguna tidak diperlukan untuk aplikasi kustom, peristiwa pengguna sangat direkomendasikan.
Google merekomendasikan untuk mengupload peristiwa setidaknya setiap hari guna mempertahankan kualitas data yang baik. Selama impor peristiwa historis, pastikan distribusi data condong ke stempel waktu terbaru. Jumlah peristiwa pada hari stempel waktu terakhir harus sama dengan atau lebih besar dari jumlah peristiwa harian rata-rata.
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-list |
Melihat panel atau daftar dokumen yang diurutkan. |
view-item |
Melihat detail dokumen. |
view-home-page |
Melihat halaman beranda. |
search |
Menelusuri aplikasi. |
Untuk mengetahui detail tentang objek peristiwa pengguna, lihat
UserEvent dokumentasi referensi API.
Contoh dan skema jenis peristiwa pengguna
Bagian ini menyediakan format data untuk setiap jenis peristiwa yang didukung oleh aplikasi kustom. Contoh untuk JavaScript Pixel disediakan. Untuk BigQuery, skema tabel lengkap untuk setiap jenis disediakan.
Untuk semua jenis peristiwa pengguna, userId bersifat opsional.
Kolom
tagIdshanya diperlukan jika Anda menjalankan eksperimen A/B.Kolom
attributionTokenbersifat opsional; kolom ini digunakan untuk mengukur performa. Peristiwasearchdanview-itemyang dihasilkan dari klik rekomendasi harus memiliki token atribusi agar dapat menautkan peristiwa kembali ke rekomendasi yang menghasilkannya.
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 resource menunjukkan jalur lengkap dokumen dan merujuk ke penyimpanan data tempat dokumen berada. Anda dapat memberikan ID dokumen sebagai informasi tambahan opsional.
JavaScript Pixel
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" } ] } ] } ]
view-home-page
Berikut ini format peristiwa pengguna view-home-page.
Objek view-home-page minimum yang diperlukan
Contoh berikut hanya menampilkan kolom wajib dari format peristiwa pengguna view-home-page.
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 resource menunjukkan jalur lengkap dokumen dan merujuk ke penyimpanan data tempat dokumen berada. Anda dapat memberikan ID dokumen sebagai informasi tambahan opsional.
JavaScript Pixel
var user_event = {
"eventType": "view-home-page",
"userPseudoId": "USER_PSEUDO_ID",
"engine": "APP_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 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": "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
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.
Setidaknya salah satu kolom searchQuery atau pageCategory harus ada:
Berikan
searchQueryuntuk peristiwa penelusuran saat pengguna memasukkan kueri teks.Berikan
pageCategorysaat pengguna membuka item yang diminati dengan menjelajahi, yaitu dengan mengklik kategori, bukan dengan memasukkan kueri teks.
attributionToken ditampilkan bersama kueri penelusuran atau hasil penjelajahan.
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 resource menunjukkan jalur lengkap dokumen dan merujuk ke penyimpanan data tempat dokumen berada. Anda dapat memberikan ID dokumen sebagai informasi tambahan opsional.
JavaScript Pixel
var user_event = {
"eventType": "search",
"userPseudoId": "USER_PSEUDO_ID",
"engine": "APP_ID",
"eventTime": "2020-01-01T03:33:33.000001Z",
"searchInfo": {
"searchQuery": "SEARCH_QUERY",
},
"pageInfo": {
"pageCategory": "CATEGORY_1 > CATEGORY_2",
},
"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
userId untuk pengguna,
aplikasi penelusuran dan rekomendasi Anda
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 JavaScript Pixel. Saat Anda mengimpor peristiwa, Anda harus memberikan
stempel waktu di kolom eventTime dalam format yang ditentukan oleh RFC
3339.