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

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

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.

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

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

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

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

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

Wajib jika penurunan histori diaktifkan
CVR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
view-item atau media-play harus ada Wajib
Durasi tonton Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
view-item atau media-play harus ada Wajib
Jenis model Lebih Seperti Ini, menurut tujuan
CTR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
view-item atau media-play harus ada Wajib jika penurunan kualitas histori diaktifkan
CVR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
view-item atau media-play harus ada Wajib
Durasi tonton Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
view-item atau media-play harus ada Wajib
Jenis model Paling Populer, menurut tujuan
CTR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Salah satu dari view-item atau media-play harus ada Tidak
diperlukan
CVR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
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.

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

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.

Langkah berikutnya