Analitik

Semua endpoint analitik profil dengan contoh cURL, Python, dan Node: metrik harian Google dan Facebook serta tayangan mingguan Bing per lokasi.

Analitik profil menunjukkan seberapa sering suatu lokasi dilihat dan menerima tindakan di setiap platform publikasi: tayangan, kunjungan halaman, permintaan petunjuk arah, panggilan, dan klik situs web. Ada tiga endpoint, satu untuk setiap platform publikasi, dan ketiganya merupakan operasi baca, sehingga kunci Read (baca) sudah cukup. Setiap metrik merupakan deret waktu yang terdiri atas titik-titik { startTime, value }; API tidak mengembalikan total skalar, sehingga total yang Anda tampilkan harus Anda hitung sendiri.

Sekilas tentang endpoint

MetodePathFungsiReferensi
GET/locations/{locationId}/google-analyticsSembilan deret harian Google Business Profile.Analitik Google
GET/locations/{locationId}/facebook-analyticsLima deret harian Halaman Facebook.Analitik Facebook
GET/locations/{locationId}/bing-analyticsSatu deret mingguan Bing Places.Analitik Bing

Ketiganya menggunakan parameter yang sama. fromDate dan toDate bertipe YYYY-MM-DD dan keduanya opsional; jika Anda tidak menyertakannya, rentang waktu terbaru bawaan platform publikasi akan digunakan. Path menerima id Relay base64 atau angka biasa. Nilai yang bukan salah satunya menghasilkan respons 200 dengan objek insights bernilai null dan array errors, yang tampak seperti profil yang tidak terhubung, jadi periksa errors terlebih dahulu.

Baca metrik Google untuk rentang tanggal

GET /locations/{locationId}/google-analytics mengembalikan data.googleInsights dengan satu deret harian untuk setiap metrik. total adalah tayangan profil, yaitu search ditambah maps; metrik ini tidak mencakup metrik tindakan. Gunakan metrik ini untuk laporan visibilitas sebelum dan sesudah perubahan data.

NamaLetakWajibCatatan
locationIdpathYaid Relay base64 atau databaseId numerik.
fromDatequeryTidakAwal rentang, YYYY-MM-DD. Secara default menggunakan rentang waktu terbaru.
toDatequeryTidakAkhir rentang, YYYY-MM-DD.
Google
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/google-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "data": {    "googleInsights": {      "total": [        { "startTime": "2026-08-01T00:00:00+00:00", "value": 412 },        { "startTime": "2026-08-02T00:00:00+00:00", "value": 388 }      ],      "search": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 300 }],      "maps": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 112 }],      "directionsAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 24 }],      "phoneAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 8 }],      "websiteAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 41 }],      "businessBookings": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 0 }],      "businessFoodOrders": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 0 }],      "businessFoodMenuClicks": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 0 }]    }  }}

startTime pada setiap titik adalah hari yang digunakan untuk mengelompokkan jumlah tersebut. Dalam contoh, total pada hari pertama adalah 412, yaitu 300 search ditambah 112 maps.

DeretArti
totalTayangan profil, search ditambah maps.
searchTayangan di hasil Google Search, gabungan desktop dan perangkat seluler.
mapsTayangan di hasil Google Maps, gabungan desktop dan perangkat seluler.
directionsActionPermintaan petunjuk arah ke lokasi.
phoneActionKlik pada tombol panggilan.
websiteActionKlik menuju situs web.
businessBookingsPemesanan yang dimulai dari profil.
businessFoodOrdersPesanan makanan yang dibuat dari profil.
businessFoodMenuClicksKlik pada tautan menu makanan.

Metrik bernilai null, bukan array kosong, jika lokasi tidak memiliki data Google untuk rentang waktu tersebut atau profil Google-nya tidak terhubung. Tangani null dan [] dengan cara yang sama saat Anda melakukan agregasi.

Baca metrik Facebook untuk rentang tanggal

GET /locations/{locationId}/facebook-analytics memiliki struktur yang sama di dalam data.facebookInsights dengan lima deret harian. Endpoint ini mengharuskan Halaman Facebook lokasi tersebut terhubung. ctaAction digunakan untuk mengukur tombol "Pesan sekarang" atau "Telepon sekarang" selama rentang waktu kampanye.

NamaLetakWajibCatatan
locationIdpathYaid Relay base64 atau databaseId numerik.
fromDatequeryTidakAwal rentang, YYYY-MM-DD. Secara default menggunakan rentang waktu terbaru.
toDatequeryTidakAkhir rentang, YYYY-MM-DD.
Facebook
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/facebook-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "data": {    "facebookInsights": {      "views": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 120 }],      "ctaAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 5 }],      "directionsAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 3 }],      "phoneAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 2 }],      "websiteAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 9 }]    }  }}
DeretArti
viewsTotal kunjungan Halaman.
ctaActionKlik pada tombol ajakan bertindak di Halaman.
directionsActionPermintaan petunjuk arah melalui Halaman.
phoneActionPanggilan yang dimulai dari Halaman.
websiteActionKlik menuju situs web dari Halaman.

Tidak ada metrik jumlah suka Halaman. Setiap deret dikembalikan sebagai null jika Halaman tidak memiliki data untuk rentang tersebut atau tidak terhubung, jadi periksa apakah nilainya null sebelum melakukan iterasi.

Baca jumlah tayangan Bing untuk rentang tanggal

GET /locations/{locationId}/bing-analytics mengembalikan satu seri, data.bingInsights.views, yang dikelompokkan per minggu, bukan per hari. Setiap titik menunjukkan jumlah tayangan selama satu minggu yang dimulai pada startTime. Data diperbarui setiap Senin untuk minggu sebelumnya, sehingga data terbaru yang akan Anda lihat adalah data dari minggu penuh terakhir. Ambil data untuk rentang beberapa bulan guna membuat garis tren; data ini tidak cocok untuk atribusi tingkat harian.

NamaDiWajibCatatan
locationIdpathYaID Relay base64 atau databaseId numerik.
fromDatequeryTidakAwal rentang, YYYY-MM-DD. Secara default menggunakan periode terbaru.
toDatequeryTidakAkhir rentang, YYYY-MM-DD.
Bing
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/bing-analytics?fromDate=2026-06-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "data": {    "bingInsights": {      "views": [        { "startTime": "2026-06-01T00:00:00+00:00", "value": 73 },        { "startTime": "2026-06-08T00:00:00+00:00", "value": 58 }      ]    }  }}
SeriArti
viewsTayangan profil Bing Places, satu titik per minggu.

Berbeda dengan Google dan Facebook, Bing melaporkan ketiadaan data sebagai array views kosong dengan 200, bukan sebagai null. Perlakukan keduanya sebagai "tidak ada yang dapat ditampilkan", dan periksa length == 0 jika Anda menginginkan label "tidak ada data", karena penjumlahan array kosong menghasilkan 0.

Error yang akan Anda temui

Halaman referensi tidak mencantumkan kode error khusus resource untuk analitik. Kasus yang akan Anda temui:

KodeArtiSolusi
401 dengan SY90001Kunci API tidak disertakan atau tidak valid.Kirim Authorization: API $LISTINGSAPI_KEY.
200 dengan googleInsights, facebookInsights atau bingInsights diatur ke null dan array errorslocationId bukan angka maupun ID Relay yang dapat didekode.Sertakan ID base64 yang dikembalikan oleh endpoint pembacaan. Jangan lakukan URL-encoding pada ID tersebut.
200 dengan metrik null (Google, Facebook) atau array views kosong (Bing), dan tanpa errorsTidak ada data untuk periode tersebut, atau platform publikasi belum terhubung.Tampilkan "tidak tersedia", bukan nol. Hubungkan akun.
429Batas laju permintaan.Tunggu sesuai Retry-After. Lihat Batas laju permintaan.

Daftar lengkapnya ada di Kode error.

Langkah berikutnya

  • Ambil analitik profil: jumlahkan sebuah seri menjadi total bulanan dan bandingkan dua periode, dengan pemeriksaan pengaman null.
  • Analitik ulasan: rating, volume, dan tingkat respons untuk lokasi yang sama, dengan selisih antarperiode yang sudah disertakan.
  • Ulasan: endpoint analitik ulasan beserta bagian lain dari resource ulasan.
  • Halaman utama referensi: Analitik. SDK: Analitik Python, Analitik Node.