Google Analytics Management API memungkinkan Anda membuat laporan tanpa sampel secara terprogram.
Pengantar
Laporan tanpa sampel adalah laporan Google Analytics yang telah dibuat menggunakan data tanpa sampel. Laporan tanpa sampel saat ini hanya tersedia untuk pengguna Google Analytics 360.
Dengan API ini, Anda dapat:
- Mengambil informasi konfigurasi tentang semua laporan tanpa sampel yang ada. Buat laporan tanpa sampel satu kali.
- Periksa status pemrosesan laporan tanpa sampel.
- Dapatkan link ke file data untuk laporan tanpa sampel setelah pemrosesan selesai.
- Hapus laporan tanpa sampel.
Mengambil data untuk laporan tanpa sampel
Saat Anda membuat laporan tanpa sampel, perlu waktu beberapa saat sebelum laporan
tersedia untuk didownload. Kolom status
untuk laporan tanpa sampel menunjukkan apakah pemrosesan untuk laporan tersebut selesai. Setelah statusnya ditandai
sebagai COMPLETED
, Anda dapat menggunakan downloadType
dan kolom detail download
yang sesuai untuk mengambil file yang berisi data laporan. Contoh:
- Jika nilai
downloadType
adalahGOOGLE_DRIVE
, gunakan kolomdriveDownloadDetails
. - Jika nilai
downloadType
adalahGOOGLE_CLOUD_STORAGE
, gunakan kolomcloudStorageDownloadDetails
.
Jangan gunakan polling berkelanjutan dan bertarif tinggi untuk memeriksa status laporan ini, karena Anda cenderung akan cepat kehabisan kuota harian. Anda akan mengalami penundaan waktu antarpermintaan saat memeriksa status laporan tanpa sampel.
Menggunakan Google Drive / Google Cloud Storage API
Bergantung pada lokasi pengiriman file (Google Drive atau Google Cloud Storage), Anda akan mendapatkan link yang sesuai untuk file tersebut. Anda dapat menggunakan Drive API atau Cloud Storage API untuk mendownload file menggunakan link ini. Untuk detail selengkapnya tentang cara mengambil file, lihat dokumentasi Google Drive API atau Google Cloud Storage API.
Misalnya, jika laporan tanpa sampel disimpan di Google Drive, Anda dapat membuat permintaan GET HTTP resmi ke URL resource file dan menyertakan parameter kueri alt=media
.
GET /drive/v2/files/XXXXXX?alt=media
Host: www.googleapis.com
Content-length: 0
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs
Dengan XXXXXX
adalah laporan tanpa sampel driveDownloadDetails.documentId
Autentikasi
Jika Anda berencana menggunakan Laporan Tanpa Sampel bersama dengan API Drive atau Cloud Storage untuk download file, Anda harus menyertakan cakupan autentikasi yang sesuai untuk API tersebut (selain cakupan autentikasi Analytics API) saat meminta token OAuth 2.0. Ini akan memungkinkan Anda menggunakan token autentikasi yang sama untuk kedua API.
Menghapus Laporan yang Tidak Dicontohkan
Anda dapat menghapus laporan tanpa sampel terjadwal atau yang telah diselesaikan, tetapi memanggil delete
selama jangka waktu singkat saat laporan sedang dibuat akan menghasilkan error. Menghapus laporan tanpa sampel hanya akan menghapus resource dari tampilan GA (profil), data yang diekspor di Google Drive atau Google Cloud Storage akan tetap ada.
Batasan
Batasan berikut berlaku untuk pembuatan laporan tanpa sampel:
- Anda hanya dapat menentukan maksimal 4 dimensi.
- Beberapa jenis data pelaporan tidak didukung, misalnya, Data Google Ads.
- Kueri yang dianggap terlalu mahal tidak didukung.
- Jika Anda sudah membuat terlalu banyak laporan tanpa sampel dan mencapai batas, Anda dapat menghapus resource laporan tanpa sampel dengan aman, sehingga data laporan yang dihasilkan di Google Drive atau Google Cloud tidak akan berubah.
Jika permintaan Anda dianggap terlalu mahal, operasi pembuatan akan mengembalikan kesalahan dengan pesan yang sesuai. Jika hal ini terjadi, Anda dapat:
- Minta lebih sedikit dimensi.
- Pisah kueri menjadi beberapa kueri dengan rentang tanggal yang lebih kecil dan gabungkan laporan yang dihasilkan.
Kasus Penggunaan
Laporan Tanpa Sampel dan Core Reporting API
Jika menggunakan Core Reporting API untuk mengambil data laporan dan berisi data sampel, Anda dapat membuat laporan tanpa sampel untuk kueri yang sama sebagai berikut:
- Buat permintaan Core Reporting API.
- Dalam responsnya, periksa properti containSampledData untuk melihat apakah data tersebut diambil sampelnya atau tidak.
- Jika properti ini disetel ke benar (true), Anda dapat menggunakan kolom kueri dan profileInfo dari respons yang sama untuk membuat permintaan laporan tanpa sampel.
Contoh kolom kueri dari respons Core Reporting API:
"query": {
"start-date": "2011-01-01",
"end-date": "2011-01-31",
"ids": "ga:1234",
"dimensions": "ga:browser",
"metrics": [
"ga:visits"
],
"filters": "ga:country==US",
"start-index": 1,
"max-results": 1000
}
Contoh kolom profileInfo
dari respons Core Reporting API:
"profileInfo": {
"profileId": "1234",
"accountId": "12345",
"webPropertyId": "UA-12345-1",
"internalWebPropertyId": "11254",
"profileName": "Name of the profile",
"tableId": "ga:1234"
}
Berikut adalah contoh cara membuat laporan tanpa sampel dari respons Core Reporting API:
Java
// Make a Core Reporting API call.
GaData reportingApiData = v3.data().ga().get(...).execute();
// Check if the response is sampled.
if (reportingApiData.getContainsSampledData()) {
// Use the “query” object to construct an unsampled report object.
Query query = reportingApiData.getQuery();
UnsampledReport report = new UnsampledReport()
.setDimensions(query.getDimensions())
.setMetrics(Joiner.on(',').join(query.getMetrics()))
.setStartDate(startDate)
.setEndDate(endDate)
.setSegment(query.getSegment())
.setFilters(query.getFilters())
.setTitle(“My unsampled report”);
// Use “profileInfo” to create an InsertRequest for creating an
// unsampled report.
ProfileInfo profileInfo = reportingApiData.getProfileInfo();
Insert insertRequest = analytics.management().unsampledReports()
.insert(profileInfo.getAccountId(),
profileInfo.getWebPropertyId(),
profileInfo.getProfileId(),
report);
UnsampledReport createdReport = insertRequest.execute();
}
Penggabungan Data Tanpa Sampel untuk Beberapa Hari
Anda dapat menggabungkan atau menggabungkan laporan selama beberapa hari untuk mendapatkan data tanpa sampel selama rentang tanggal tertentu. Hal ini berguna saat permintaan data tanpa sampel terlalu besar. Dalam kasus tersebut, Anda dapat membagi permintaan menjadi beberapa permintaan dengan rentang tanggal yang lebih singkat, lalu menggabungkan hasilnya.
Kebijakan Kuota
Lihat Batas dan Kuota Configuration dan Reporting API untuk mengetahui daftar lengkap batas dan kuota yang berlaku saat membuat laporan tanpa sampel.