Tentang peristiwa pengguna media

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

Untuk mengetahui informasi umum tentang penelusuran dan rekomendasi media, lihat Pengantar penelusuran dan rekomendasi media.

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
view-item Melihat detail dokumen.
view-home-page Melihat halaman beranda.
search Menelusuri penyimpanan data.
media-play Mengklik putar pada item media.
media-complete Menghentikan pemutaran item media, menandakan akhir dari menonton.

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

Persyaratan acara untuk penelusuran dan rekomendasi media

Jenis peristiwa pengguna yang Anda butuhkan ditentukan oleh apakah aplikasi Anda adalah aplikasi penelusuran atau aplikasi rekomendasi, berdasarkan tujuan (rasio klik-tayang, rasio konversi, atau durasi tonton), dan, hanya untuk aplikasi rekomendasi, berdasarkan jenis model yang telah Anda pilih. Untuk mengetahui informasi selengkapnya tentang jenis model rekomendasi dan tujuan pengoptimalan, lihat Tentang jenis rekomendasi aplikasi media.

Untuk menentukan peristiwa pengguna yang perlu Anda kumpulkan, lihat tabel berikut.

Acara search view-home-page view-item media-play media-complete
Kasus penggunaan penelusuran
Wajib Tidak
wajib
Wajib Wajib Wajib
Jenis model Direkomendasikan untuk Anda, menurut tujuan
CTR Tidak
wajib
Wajib untuk konteks halaman beranda

Tidak wajib untuk konteks umum
view-item atau media-play harus ada Sangat
direkomendasikan

Wajib jika penurunan histori diaktifkan
CVR Tidak
wajib
Wajib untuk konteks halaman beranda

Tidak wajib untuk konteks umum
view-item atau media-play harus ada Wajib
Durasi tonton Tidak
wajib
Wajib untuk konteks halaman beranda

Tidak wajib untuk konteks umum
view-item atau media-play harus ada Wajib
Jenis model "Produk Lain yang Mungkin Anda Sukai", menurut tujuan
CTR Tidak
wajib
Tidak
wajib
view-item atau media-play harus ada Sangat
direkomendasikan

Wajib jika penurunan histori diaktifkan
CVR Tidak
wajib
Tidak
wajib
view-item atau media-play harus ada Wajib
Durasi tonton Tidak
wajib
Tidak
wajib
view-item atau media-play harus ada Wajib
Jenis model Lebih Seperti Ini, menurut tujuan
CTR Tidak
wajib
Tidak
wajib
view-item atau media-play harus ada Wajib jika penurunan kualitas histori diaktifkan
CVR Tidak
wajib
Tidak
wajib
view-item atau media-play harus ada Wajib
Durasi tonton Tidak
wajib
Tidak
wajib
view-item atau media-play harus ada Wajib
Jenis model Paling Populer, menurut tujuan
CTR Tidak
wajib
Tidak
wajib
Salah satu dari view-item atau media-play harus ada Tidak
wajib
CVR Tidak
wajib
Tidak
wajib
Tidak
wajib
Tidak
wajib
Wajib

Persyaratan untuk peristiwa pengguna media

Pastikan peristiwa pengguna Anda memenuhi persyaratan berikut agar aplikasi media Anda dapat menghasilkan hasil yang berkualitas.

Jenis peristiwa Persyaratan Dampak
Semua acara

Jangan sertakan data sintetis atau peristiwa duplikat.

Peristiwa sintetis atau duplikat berdampak negatif pada kualitas hasil dan dapat mencegah Anda men-deploy aplikasi. Peristiwa duplikat dapat menyebabkan nilai metrik yang salah.

Sertakan setidaknya 100 ID pseudo pengguna unik untuk setiap jenis peristiwa yang di-ingest.

Sertakan ID ini agar aplikasi rekomendasi media memiliki cukup data untuk menghasilkan hasil yang berkualitas.

ID pseudo pengguna harus diformat persis sama di seluruh impor peristiwa atau perekaman peristiwa dan dalam permintaan rekomendasi media.

Menggunakan format yang konsisten untuk ID pseudo pengguna membantu aplikasi rekomendasi media mengidentifikasi pola pengunjung dengan benar dan memberikan hasil yang lebih berkualitas berdasarkan perilaku pengguna.

Kolom DocumentInfo.name atau kolom DocumentInfo.id wajib diisi untuk semua dokumen.

Peristiwa yang menyertakan dokumen tanpa kolom DocumentInfo.name atau kolom DocumentInfo.id tidak dapat digunakan oleh aplikasi rekomendasi media.

Dokumen yang disertakan dalam peristiwa harus ada di penyimpanan data Anda.

Rasio peristiwa yang tidak digabungkan harus dijaga serendah mungkin. Rasio yang tinggi dapat berdampak negatif pada kualitas hasil.

Beberapa peristiwa pengguna harus memiliki ID pseudo pengguna yang sama.

Untuk membuat histori urutan perilaku yang valid, aplikasi rekomendasi media harus dapat melihat beberapa peristiwa dengan ID pseudo pengguna yang sama.

Misalnya, visitor123 telah melihat lima item dan mengklik putar pada dua item. Jika peristiwa ini memberikan ID pseudo pengguna yang diformat secara konsisten, aplikasi rekomendasi media dapat mempertimbangkan urutan perilaku tersebut dalam hasilnya.

view-item

Sertakan tepat satu dokumen per acara.

Peristiwa tidak dapat digunakan jika tidak ada dokumen. Jika beberapa dokumen disertakan, peristiwa salah bentuk dan tidak dapat digunakan.

search

Sertakan attributionToken. attributionToken ditampilkan oleh metode search bersama dengan hasil penelusuran atau penjelajahan.

attributionToken memungkinkan Vertex AI Search mengatribusikan peristiwa penelusuran secara akurat ke respons penelusuran tertentu.

media-play

Sertakan tepat satu dokumen per acara.

Jika beberapa dokumen disertakan, peristiwa salah bentuk dan tidak dapat digunakan.

Tag peristiwa pengguna untuk pengujian A/B

Jika Anda melakukan pengujian A/B, pastikan untuk menambahkan ID tag ke semua peristiwa pengguna yang Anda kumpulkan, dengan menambahkan satu tag untuk setiap grup pengujian.

Misalnya, tambahkan tag "tagIds": ["original"] ke peristiwa pengguna dari model saat ini dan tambahkan tag "tagIds": ["google"] ke peristiwa pengguna dari Vertex AI Search untuk media.

Contoh dan skema jenis peristiwa pengguna

Bagian ini memberikan format data untuk setiap jenis peristiwa yang didukung oleh rekomendasi media. Contoh untuk Pixel 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 dokumentasi referensi API UserEvent.

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"
  }]
  "panels": [
     {
       "panelId": "HOME_RFY_1",
       "documents": [
         {
           "id": "123"
         },
         {
           "id": "456"
         }
       ],
       "panelPosition": 1,
       "totalPanels": 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 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",
  "panels": [
     {
       "panelId": "HOME_RFY_1",
       "documents": [
         {
           "id": "123"
         },
         {
           "id": "456"
         }
       ],
       "panelPosition": 1,
       "totalPanels": 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 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"
          }
        ]
      }
    ]
  }
]

Untuk mengetahui informasi tentang objek panels, lihat Tentang panel.

Berikut format peristiwa pengguna search.

Objek penelusuran minimum yang diperlukan

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

Berikan searchQuery untuk peristiwa penelusuran saat pengguna memasukkan kueri teks.

attributionToken ditampilkan dengan hasil kueri penelusuran.

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",
  }, 
  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"
      }
    ]
  }
]

media-play

Berikut format peristiwa pengguna media-play.

Objek pemutaran media minimum yang diperlukan

Contoh berikut hanya menampilkan kolom wajib diisi dari format peristiwa pengguna media-play.

Piksel JavaScript

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

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

media-complete

Berikut format peristiwa pengguna media-complete.

Objek yang selesai media minimum yang diperlukan

Contoh berikut hanya menampilkan kolom wajib di format peristiwa pengguna media-complete.

Piksel JavaScript

var user_event = {
  "eventType": "media-complete",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "documents": [
    {
      "id": "document-id1"
    }
  ],
  "mediaInfo": {
    "mediaProgressDuration": "65s",
    "mediaProgressPercentage": 0.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 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"
          }
        ]
      }
    ]
  },
  {
    "name": "mediaInfo",
    "type": "RECORD",
    "mode": "NULLABLE",
    "fields": [
      {
        "name": "mediaProgressDuration",
        "type": "STRING",
        "mode": "NULLABLE"
      },
      {
        "name": "mediaProgressPercentage",
        "type": "NUMERIC",
        "mode": "NULLABLE"
      }
    ]
  }
]

Atribut khusus

Anda dapat menyertakan atribut dan fitur kustom tambahan untuk peristiwa pengguna. Hal ini dapat menghasilkan hasil yang lebih baik dan lebih spesifik bagi pengguna Anda. Untuk menambahkan atribut kustom, gunakan attributes saat Anda mencatat peristiwa pengguna.

Jika Anda memberikan atribut kustom untuk peristiwa pengguna yang di-ingest, Anda juga harus menyertakannya dalam peristiwa pengguna yang Anda kaitkan dengan permintaan rekomendasi dan penelusuran. Pemformatan atribut kustom harus konsisten antara peristiwa yang diimpor dan peristiwa yang diberikan dengan permintaan. Dengan demikian, aplikasi media dapat menggunakan atribut kustom tersebut untuk meningkatkan kualitas.

Anda dapat memberikan nilai teks kustom menggunakan kolom text atau nilai numerik kustom menggunakan kolom numbers.

Misalnya, berikut menunjukkan bagian attributes dari permintaan untuk merekam peristiwa pengguna:

  attributes: {
    user_age: {text: ["teen", "young adult"]},
    user_location: {text: ["CA"]},
    user_zip: {numbers: [90210]}
  }

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 media 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.

Tentang panel

Di halaman beranda, Anda biasanya akan memiliki satu atau beberapa panel, seperti panel "trending sekarang" dan panel "direkomendasikan untuk Anda". Di halaman detail, Anda juga dapat memiliki panel, seperti "lainnya yang mungkin Anda sukai".

Informasi panel untuk peristiwa pengguna

Informasi panel diperlukan untuk peristiwa pengguna rekomendasi jenis view-home-page dan view-item. Informasi panel diperlukan untuk halaman beranda dan halaman detail yang menampilkan konten yang direkomendasikan oleh Google.

Jika Anda melakukan pengujian A/B untuk panel, Anda harus mencatat peristiwa pengguna dengan informasi panel untuk semua konten dalam pengujian, terlepas dari sumbernya. Untuk halaman beranda dan halaman detail tanpa konten panel buatan Google, sebaiknya Anda memberikan informasi panel dalam peristiwa view-home-page dan view-item, tetapi tidak wajib. Persyaratan ini dirangkum dalam tabel berikut:

Sumber peristiwa pengguna (view-home-page dan view-item) PanelInfo wajib diisi
Mencakup konten yang direkomendasikan oleh Google Ya
Mencakup konten yang TIDAK direkomendasikan oleh Google dan digunakan dalam pengujian A/B Ya
Mencakup konten yang TIDAK direkomendasikan oleh Google dan TIDAK digunakan dalam pengujian A/B Tidak

Informasi panel (PanelInfo) adalah sekumpulan kolom yang mendeskripsikan berbagai elemen panel:

  • Nomor ID untuk panel

  • Nama tampilan

  • Posisi panel di halaman (misalnya, panel pertama (1) di halaman, atau panel ketiga (3) di halaman)

  • Jumlah total panel di halaman

  • Daftar dokumen (DocumentInfo) yang ditampilkan di setiap panel

Untuk mengetahui informasi mendetail tentang objek PanelInfo, lihat PanelInfo.

Memuat panel terlebih dahulu versus memuat panel secara lambat

Ada dua metode umum untuk menampilkan rekomendasi di halaman web atau halaman seluler. Metode yang Anda gunakan menentukan jumlah dan konten peristiwa pengguna view-home-page yang Anda rekam.

  • Pramuat: Dengan pramuat, semua item rekomendasi dibuat saat pengguna membuka halaman. Dalam hal ini, saat pengguna memuat halaman beranda, Anda mencatat satu peristiwa pengguna view-home-page (atau view-item) dengan semua panel dan dokumen.

  • Pemuatan lambat: Dengan pemuatan lambat, konten panel tidak dibuat saat pengguna membuka halaman, tetapi konten dimuat secara dinamis saat pengguna men-scroll ke bawah ke panel atau ke kanan untuk melihat lebih banyak rekomendasi. Dalam hal ini, saat pengguna memuat halaman beranda, Anda mencatat peristiwa pengguna view-home-page (atau view-item) awal, lalu terus mencatat lebih banyak peristiwa saat pengguna men-scroll untuk membuat lebih banyak konten yang direkomendasikan. Dalam peristiwa berikutnya, Anda hanya perlu menyertakan dalam array panels kenaikan dokumen yang ditampilkan.

Contoh skenario

Halaman beranda perusahaan media menampilkan dua panel rekomendasi:

  • Panel trending saat ini yang didukung oleh model Paling Populer.

  • Panel rekomendasi yang dipersonalisasi yang sedang diuji A/B. Beberapa pengguna melihat panel saran yang didukung oleh model Direkomendasikan untuk Anda (grup A), dan pengguna lainnya melihat rekomendasi dari model eksklusif perusahaan (grup B).

Saat pengguna yang ditetapkan ke grup-B melihat halaman beranda ini, peristiwa pengguna dalam format JavaScript Pixel akan terlihat seperti ini:

var user_event = {
  "eventType": "view-home-page",
  "userPseudoId": "4003345673.123451357",
  "eventTime": "2025-07-01T03:33:33.000001Z",
  "userInfo": {
    "userId": "[email protected]",
  },
  "tagIds": ["group-B"],
  "panels": [
    {
      "panelId": "panel-1",
      "displayId": "Trending Now",
      "documents": [
        {
          "id": "254722"
        },
        {
          "id": "2951"
        },
        ...
        {
          "id": "1201"
        }
      ],
      "panelPosition": 1,
      "totalPanels": 2
    },
    {
      "panelId": "panel-2",
      "displayId": "Recommended for You",
      "documents": [
        {
          "id": "79132"
        },
        {
          "id": "109487"
        },
        ...
        {
          "id": "164179"
        }
      ],
      "panelPosition": 2,
      "totalPanels": 2
    }
  ]
};

Langkah berikutnya