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 informasi umum tentang penelusuran dan rekomendasi media, lihat Pengantar penelusuran dan rekomendasi media.

Untuk mendapatkan bantuan dalam 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 situs Anda:

Nama peristiwa pengguna Tindakan pengguna
view-category-page Melihat halaman kategori, seperti Beranda > TV > Drama, Beranda > Film > Action.
view-item Melihat detail dokumen.
view-home-page Melihat halaman beranda.
search Menelusuri penyimpanan data.
media-play Klik memutar item media.
media-complete Menghentikan pemutaran item media, yang menandakan akhir menonton.

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

Persyaratan peristiwa untuk penelusuran dan rekomendasi media

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

Jenis peristiwa pengguna yang Anda perlukan ditentukan oleh apakah aplikasi Anda adalah aplikasi penelusuran atau aplikasi rekomendasi, berdasarkan tujuan (rasio klik-tayang, rasio konversi, atau durasi tonton), dan, khusus untuk aplikasi rekomendasi, berdasarkan jenis model yang telah Anda pilih. Untuk 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
Diperlukan untuk konteks halaman beranda

Tidak diperlukan untuk konteks umum
Tidak
diperlukan
Wajib Wajib Sangat
direkomendasikan

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

Tidak diperlukan untuk konteks umum
Tidak
diperlukan
Wajib Wajib Wajib
Durasi tonton Tidak
diperlukan
Diperlukan untuk konteks halaman beranda

Tidak diperlukan untuk konteks umum
Tidak
diperlukan
Wajib Wajib Wajib
Jenis model Produk Lainnya yang Mungkin Anda Sukai, menurut tujuan
CTR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Wajib Wajib Sangat
direkomendasikan

Wajib jika penurunan histori diaktifkan
CVR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Wajib Wajib Wajib
Durasi tonton Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Wajib Wajib Wajib
Jenis model Serupa Ini, menurut tujuan
CTR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Wajib Wajib Wajib jika penurunan histori diaktifkan
CVR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Wajib Wajib Wajib
Durasi tonton Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Wajib Wajib Wajib
Jenis model yang Paling Populer, menurut tujuan
CTR Tidak
diperlukan
Tidak
diperlukan
Tidak
diperlukan
Wajib Wajib 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 minimal 100 ID pseudo pengguna unik untuk setiap jenis peristiwa yang ditransfer.

Hal ini memastikan aplikasi rekomendasi media memiliki cukup data untuk menghasilkan hasil berkualitas.

ID pseudo pengguna harus diformat sama persis 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 bergabung 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 pseudo-ID pengguna yang sama.

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

view-item

Sertakan tepat satu dokumen per peristiwa.

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

media-play

Sertakan tepat satu dokumen per peristiwa.

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

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.

Perhatikan bahwa:

  • Kolom tagIds hanya diperlukan jika Anda menjalankan eksperimen A/B.

  • Kolom attributionToken bersifat opsional; kolom ini digunakan untuk mengukur performa. Peristiwa search dan view-item yang dihasilkan dari klik aplikasi media harus memiliki token atribusi untuk menautkan peristiwa kembali ke rekomendasi yang menghasilkannya.

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

view-category-page

Berikut adalah format peristiwa pengguna view-category-page.

Objek halaman kategori tampilan minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari 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 adalah format data peristiwa pengguna view-item.

Objek item tampilan minimum yang diperlukan

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

Pada umumnya, 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 adalah format peristiwa pengguna view-home-page.

Objek lihat halaman beranda minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari 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 adalah format peristiwa pengguna search.

Objek penelusuran minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari format peristiwa pengguna search.

Setidaknya salah satu kolom searchQuery atau pageCategory harus ada:

  • Berikan searchQuery untuk peristiwa penelusuran saat pengguna memasukkan kueri teks.

  • Berikan pageCategory saat pengguna membuka item yang menarik dengan menjelajah, yaitu dengan mengklik kategori, bukan dengan memasukkan kueri teks.

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

media-play

Berikut adalah format peristiwa pengguna media-play.

Objek pemutaran media minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan 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 adalah format peristiwa pengguna media-complete.

Objek media-complete minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari 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": 1.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 diserap, sebaiknya sertakan juga atribut tersebut dalam peristiwa pengguna yang Anda kaitkan dengan rekomendasi dan permintaan penelusuran. Format atribut kustom harus konsisten antara peristiwa yang diimpor dan peristiwa yang disediakan dengan permintaan. Hal ini memungkinkan aplikasi media 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 ini menunjukkan bagian attributes dari permintaan untuk mencatat 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 mencatat 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 mencatat 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 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 dicatat secara otomatis untuk peristiwa yang dikumpulkan menggunakan Piksel JavaScript. Saat mengimpor peristiwa, Anda harus memberikan stempel waktu di kolom eventTime dalam format yang ditentukan oleh RFC 3339.

Langkah berikutnya