Dokumentasi ini ditujukan untuk Universal Analytics. Lihat Measurement Protocol (Google Analytics 4) jika Anda menggunakan Google Analytics 4.

Referensi Measurement Protocol

Dokumen ini menjelaskan cara mengirim data ke Google Analytics menggunakan Measurement Protocol.

Ringkasan

Ada 2 bagian untuk mengirim data ke Google Analytics menggunakan Measurement Protocol:

  • Transportasi – ke mana dan bagaimana Anda mengirimkan data
  • Payload – data yang Anda kirim

Dokumen ini menjelaskan cara memformat keduanya.

Transpor

Endpoint URL

Anda mengirim data menggunakan Measurement Protocol dengan membuat permintaan HTTP ke endpoint berikut:

https://www.google-analytics.com/collect

Semua data harus dikirim dengan aman menggunakan protokol HTTPS.

Anda dapat mengirim data menggunakan permintaan POST atau GET.

Menggunakan POST

Sebaiknya kirim data melalui POST karena memungkinkan payload yang lebih besar. Saat menggunakan POST, kirimkan permintaan HTTP berikut:

User-Agent: user_agent_string
POST https://www.google-analytics.com/collect
payload_data

Dalam hal ini:

  • user_agent_string – Adalah string agen pengguna yang diformat yang digunakan untuk menghitung dimensi berikut: kemampuan browser, platform, dan seluler.

    Jika nilai ini tidak ditetapkan, data di atas tidak akan dihitung.

  • payload_dataBODY dari permintaan postingan. Isi harus menyertakan 1 payload berenkode URI dan tidak boleh lebih dari 8.192 byte.
  • Alamat IP – Secara implisit dikirim dalam permintaan HTTP dan digunakan untuk menghitung semua dimensi geografis/jaringan di Google Analytics.

DAPATKAN

Untuk lingkungan tempat Anda tidak dapat mengirim data POST, Anda juga dapat mengirim permintaan HTTP GET ke endpoint yang sama:

GET /collect?payload_data HTTP/1.1
Host: https://www.google-analytics.com
User-Agent: user_agent_string

Tujuan pengiriman data payload sebagai parameter kueri yang di-escape URI. Panjang keseluruhan URL yang dienkode tidak boleh lebih dari 8.000 Byte.

Penghancur Cache

Di beberapa lingkungan, seperti browser, permintaan HTTP GET mungkin disimpan dalam cache. Saat permintaan di-cache, permintaan berikutnya mungkin diambil dari cache, dan tidak dikirim ke Google Analytics. Untuk menembus cache, Measurement Protocol menyediakan parameter khusus (z) yang dapat ditetapkan dengan angka acak. Hal ini memastikan semua permintaan Measurement Protocol bersifat unik, dan permintaan berikutnya tidak akan diambil dari cache.

Saat Anda menggunakan perusak cache, sebaiknya tambahkan parameter ini sebagai parameter terakhir dalam payload.

https://www.google-analytics.com/collect?payload_data&z=123456

Kode Respons

Measurement Protocol akan menampilkan kode status 2xx jika permintaan HTTP diterima. Measurement Protocol tidak menampilkan kode error jika format data payload salah, atau jika data dalam payload salah atau tidak diproses oleh Google Analytics.

Jika Anda tidak mendapatkan kode status 2xx, Anda sebaiknya TIDAK mencoba lagi permintaan tersebut. Sebagai gantinya, Anda harus berhenti dan memperbaiki error dalam permintaan HTTP.

Data Payload

Semua data yang dikumpulkan oleh Google Analytics menggunakan Measurement Protocol dikirim sebagai payload. Payload mirip dengan string kueri URL yang setiap parameternya memiliki kunci dan nilai, dipisahkan dengan karakter =, dan setiap pasangan dibatasi karakter &. Contoh:

key1=val1&key2=val2

Setiap payload memiliki aturan yang mengatur: nilai yang diperlukan, encoding URI, parameter yang dapat dikirim bersama, dan panjang parameter. Selain itu, setiap parameter memiliki jenis tertentu yang memerlukan format tertentu. Bagian berikut akan membahas aturan ini.

Baca Referensi Parameter untuk mengetahui daftar lengkap semua parameter yang dapat dikirim menggunakan Measurement Protocol.

Nilai yang Diperlukan untuk Semua Hit

Parameter berikut harus ada di setiap payload:

Name Parameter Contoh Deskripsi
Versi Protokol v v=1 Versi protokol. Nilainya harus 1.
ID Pelacakan tid tid=UA-123456-1 ID yang membedakan properti Google Analytics mana yang akan dikirim data.
Client-ID cid cid=xxxxx ID unik untuk pengguna tertentu.
Jenis Hit t t=pageview Jenis interaksi yang dikumpulkan untuk pengguna tertentu.

Data Client ID dan Hit Type adalah nilai yang dipetakan langsung ke model data Google Analytics. Jika ingin melacak pengguna 5555 yang mengakses /pageA, /pageB, dan /pageC, Anda akan mengirim 3 payload berikut:

v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageA
v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageB
v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageC

Perhatikan bahwa / dienkode ke %2F.

Nilai Encoding URL

Semua nilai yang dikirim ke Google Analytics harus berupa UTF-8 dan URL yang Dienkode. Untuk mengirim kunci dp dengan nilai /my page €, Anda harus memastikan terlebih dahulu bahwa kode ini dienkode dengan UTF-8, lalu dienkode dengan URL, sehingga menghasilkan string akhir:

dp=%2Fmy%20page%20%E2%82%AC

Jika salah satu karakter dienkode dengan tidak benar, karakter tersebut akan diganti dengan karakter pengganti unicode xFFFD.

Nilai yang Diperlukan untuk Jenis Hit Tertentu

Beberapa parameter hanya dapat dikirim dengan jenis hit yang spesifik. Misalnya, jenis hit pageview mengharuskan parameter Jalur Halaman (dp) juga ditetapkan. Referensi Parameter menjelaskan parameter yang diperlukan untuk jenis hit yang mana.

Panjang Maksimum

Beberapa nilai teks dalam Measurement Protocol memiliki panjang maksimum tertentu dalam byte. Misalnya, kolom perujuk dokumen dr memiliki panjang maksimum 2.048 Byte. Jika salah satu nilai lebih besar dari panjang maksimum, nilai tersebut akan otomatis dipotong. Jika karakter multi-byte melebihi panjang maksimum, seluruh karakter akan terpotong.

Jenis Data yang Didukung

Setiap kolom data dalam Measurement Protocol termasuk dalam jenis tertentu, masing-masing dengan aturan validasinya sendiri. Jika salah satu parameter value tidak sesuai dengan aturan validasi, parameter spesifik tersebut akan diabaikan dan tidak diproses oleh Google Analytics. Semua parameter lainnya akan diproses seperti biasa.

Measurement Protocol mendukung jenis data berikut:

Perhatikan bahwa kolom data individual mungkin memiliki batasannya sendiri. Buka Referensi Kolom untuk melihat daftar lengkap semua kolom data dan jenis yang diterima.

Teks

Digunakan untuk mewakili string. Pemrosesan tambahan dilakukan pada kolom teks. Semua karakter spasi kosong di awal dan akhir akan dihapus. Operasi internal yang terdiri dari dua karakter spasi kosong atau lebih (termasuk spasi, tab, baris baru, dll.) dikurangi menjadi satu karakter spasi. Transformasi ini diterapkan pada teks mentah sebelum pemotongan terjadi. Contoh:

   Hello      World

akan menjadi:

Hello World

Mata Uang

Digunakan untuk mewakili total nilai mata uang. Titik desimal digunakan sebagai pembatas antara bagian bilangan bulat dan pecahan dari mata uang. Presisinya maksimal 6 angka di belakang koma. Hal berikut valid untuk kolom mata uang:

1000.000001

Setelah nilai dikirim ke Google Analytics, semua teks dihapus hingga digit pertama, karakter - atau karakter . (desimal). Jadi:

$-55.00

akan menjadi:

-55.00

Boolean

Digunakan untuk menentukan apakah suatu nilai adalah benar atau salah. Nilai yang valid adalah:

  • 1 – Benar
  • 0 – Salah

Bilangan Bulat

Digunakan untuk mewakili bilangan bulat. Nilai disimpan sebagai int64 yang ditandatangani

Angka

Digunakan untuk mewakili bilangan bulat atau angka floating point.