Tentang peristiwa pengguna

Halaman ini menjelaskan peristiwa pengguna untuk aplikasi media, termasuk jenis peristiwa pengguna, persyaratan, dan contoh untuk jenis peristiwa pengguna.

Merekam peristiwa pengguna diperlukan untuk aplikasi rekomendasi media. Aplikasi rekomendasi media menggunakan peristiwa pengguna real-time untuk membuat rekomendasi. Jenis aplikasi lainnya tidak memerlukan peristiwa pengguna.

Tabel berikut mencantumkan jenis aplikasi yang peristiwa penggunanya akan diupload:

Jenis aplikasi Apakah peristiwa pengguna diperlukan?
Rekomendasi media Ya
Penelusuran media Tidak, tetapi sangat direkomendasikan
Rekomendasi umum Tidak
Penelusuran umum Tidak, tetapi sangat direkomendasikan

Untuk mendapatkan bantuan dalam merekam peristiwa pengguna, lihat Merekam peristiwa pengguna real-time.

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 halaman 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 informasi mendetail tentang objek UserEvent, lihat referensi API UserEvent.

Persyaratan peristiwa pengguna dan praktik terbaik untuk aplikasi media

Tabel berikut mencantumkan persyaratan dan praktik terbaik untuk jenis peristiwa pengguna yang digunakan aplikasi rekomendasi media. Pastikan peristiwa pengguna Anda memenuhi persyaratan ini sehingga aplikasi Anda dapat menghasilkan hasil yang berkualitas.

Lihat juga Tentang jenis rekomendasi aplikasi media, yang mencantumkan jenis peristiwa pengguna yang diperlukan, bergantung pada jenis rekomendasi dan tujuan pengoptimalan yang ingin Anda gunakan.

Prioritas jenis peristiwa untuk rekomendasi media

Tabel berikut menjelaskan prioritas jenis peristiwa pengguna untuk rekomendasi media. Beberapa peristiwa pengguna diperlukan untuk menggunakan rekomendasi media. Atribut lainnya direkomendasikan untuk meningkatkan hasil Anda, tetapi tidak wajib.

Prioritas Peristiwa Pengguna
Wajib untuk eksperimen live awal dengan rekomendasi media

view-item

view-home-page

media-play

media-complete

Penting untuk meningkatkan kualitas hasil rekomendasi media dari waktu ke waktu

view-category-page

Persyaratan rekomendasi media

Pastikan peristiwa pengguna Anda memenuhi persyaratan berikut sehingga aplikasi rekomendasi media Anda dapat menghasilkan hasil 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 rekomendasi 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 ini menunjukkan 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.

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

Pixel 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 ini menunjukkan 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.

Pixel 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 ini menunjukkan 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 diminati 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.

Pixel 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",
  },
  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": "documents",
    "type": "RECORD",
    "mode": "REPEATED",
    "fields": [
      {
        "name": "id",
        "type": "STRING",
        "mode": "NULLABLE"
      }
    ]
  }
]

media-play

Berikut ini menunjukkan format peristiwa pengguna media-play.

Objek pemutaran media minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari format peristiwa pengguna media-play.

Pixel 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 ini menunjukkan format peristiwa pengguna media-complete.

Objek media-complete minimum yang diperlukan

Contoh berikut hanya menampilkan kolom yang diperlukan dari format peristiwa pengguna media-complete.

Pixel 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 rekomendasi yang lebih baik dan lebih spesifik bagi pengguna saat Anda menggunakan rekomendasi media. Untuk menambahkan atribut kustom, gunakan attributes saat Anda mencatat peristiwa pengguna.

Jika Anda memberikan atribut kustom untuk peristiwa pengguna yang diserap, Anda juga harus menyertakannya dalam peristiwa pengguna yang dikaitkan dengan permintaan rekomendasi. Format atribut kustom harus konsisten antara peristiwa yang diimpor dan peristiwa yang diberikan dengan permintaan rekomendasi. Hal ini memungkinkan aplikasi rekomendasi 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 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 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 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 selanjutnya