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.
Untuk mendapatkan bantuan terkait perekaman 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 |
---|---|
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 > Aksi. |
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 API UserEvent
.
Contoh dan skema jenis peristiwa pengguna
Bagian ini menyediakan format data untuk setiap jenis peristiwa yang didukung oleh aplikasi kustom. Contoh untuk Pixel JavaScript disediakan. Untuk BigQuery, skema tabel lengkap untuk setiap jenis disediakan.
Untuk semua jenis peristiwa pengguna, userId
bersifat opsional.
Kolom
tagIds
hanya diperlukan jika Anda menjalankan eksperimen A/B.Kolom
attributionToken
bersifat opsional; kolom ini digunakan untuk mengukur performa. Peristiwasearch
danview-item
yang dihasilkan dari klik rekomendasi harus memiliki token atribusi untuk menautkan kembali peristiwa ke rekomendasi yang menghasilkannya.
Untuk mengetahui detail selengkapnya tentang objek peristiwa pengguna, lihat
dokumentasi referensi API UserEvent
.
view-category-page
Berikut format peristiwa pengguna view-category-page
.
Objek view-category-page minimum yang diperlukan
Contoh berikut hanya menampilkan kolom wajib di 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 ini menunjukkan format data peristiwa pengguna view-item
.
Objek lihat item minimum yang diperlukan
Contoh berikut hanya menampilkan kolom wajib di format peristiwa pengguna view-item
.
Dalam sebagian besar kasus, 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 format peristiwa pengguna view-home-page
.
Objek view-home-page minimum yang diperlukan
Contoh berikut hanya menampilkan kolom wajib di 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" } ] } ] } ]
search
Berikut format peristiwa pengguna search
.
Objek penelusuran minimum yang diperlukan
Contoh berikut hanya menampilkan kolom wajib diisi dari format
peristiwa pengguna search
.
Setidaknya salah satu kolom searchQuery
atau pageCategory
harus diisi:
Berikan
searchQuery
untuk peristiwa penelusuran saat pengguna memasukkan kueri teks.Berikan
pageCategory
saat pengguna membuka item yang diminati dengan menjelajah, yaitu dengan mengklik kategori, bukan dengan memasukkan kueri teks.
attributionToken
ditampilkan dengan kueri penelusuran atau hasil penjelajahan.
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 merekam peristiwa pengguna.
Informasi pengguna (UserInfo
) yang disertakan saat Anda mencatat peristiwa pengguna berisi nilai userPseudoId
dan, jika tersedia, nilai userId
.
userId
bersifat opsional dan dapat digunakan sebagai ID unik dan persisten untuk
pengguna di berbagai 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 merekam peristiwa pengguna, pastikan untuk menyertakan stempel waktu yang akurat tentang kapan peristiwa terjadi. Stempel waktu yang akurat memastikan bahwa peristiwa Anda disimpan dalam urutan yang benar. Stempel waktu direkam secara otomatis untuk peristiwa yang dikumpulkan menggunakan JavaScript Pixel. Saat mengimpor peristiwa, Anda harus memberikan
stempel waktu di kolom eventTime
dalam format yang ditentukan oleh RFC
3339.
Langkah berikutnya
- Pelajari cara mencatat peristiwa pengguna.