Ambil analitik profil Google, Facebook, dan Bing
Ambil metrik profil harian Google dan Facebook serta tayangan mingguan Bing per lokasi, jumlahkan data bulanan, dan bandingkan dua periode.
Analitik profil menunjukkan seberapa sering suatu lokasi dilihat dan ditindaklanjuti di setiap platform publikasi: tayangan, permintaan petunjuk arah, panggilan, dan klik situs web. Setiap metrik berupa deret waktu yang terdiri dari titik data { startTime, value }, sehingga total yang Anda tampilkan merupakan hasil perhitungan Anda sendiri.
1. Baca metrik Google untuk rentang tanggal
GET /locations/{locationId}/google-analytics?fromDate=&toDate= mengembalikan data.googleInsights dengan satu deret harian per metrik. total adalah tayangan profil, yaitu search ditambah maps; metrik ini tidak mencakup metrik tindakan.
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/google-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"{ "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": null, "businessFoodOrders": null, "businessFoodMenuClicks": null } }}ID lokasi dengan format yang salah menghasilkan respons 200 dengan googleInsights: null dan array errors, yang terlihat seperti profil yang tidak terhubung. Periksa errors terlebih dahulu.
2. Baca metrik Facebook
GET .../facebook-analytics memiliki struktur yang sama di dalam data.facebookInsights dengan lima deret harian: views, ctaAction, directionsAction, phoneAction, dan websiteAction.
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/facebook-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"{ "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 }] } }}ctaAction menghitung klik pada tombol ajakan bertindak di Halaman, yang Anda gunakan untuk mengukur kampanye "Pesan sekarang" atau "Telepon sekarang". Tidak ada metrik suka halaman.
3. Baca tayangan Bing
GET .../bing-analytics mengembalikan satu deret, data.bingInsights.views, yang dikelompokkan per minggu, bukan per hari. Data diperbarui setiap Senin untuk minggu sebelumnya, jadi ambil rentang beberapa bulan untuk membuat garis tren.
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/bing-analytics?fromDate=2026-06-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "bingInsights": { "views": [ { "startTime": "2026-06-01T00:00:00+00:00", "value": 73 }, { "startTime": "2026-06-08T00:00:00+00:00", "value": 58 } ] } }}Berbeda dengan Google dan Facebook, Bing melaporkan ketiadaan data sebagai array views kosong, bukan null. Perlakukan keduanya sebagai "tidak ada yang dapat ditampilkan".
4. Jumlahkan deret menjadi total bulanan
Ambil data untuk bulan tersebut, lalu jumlahkan value dari setiap titik data. Bedakan null dari nol: profil yang tidak terhubung harus ditampilkan sebagai "tidak tersedia", bukan sebagai bulan tanpa trafik. Halaman analitik Node SDK memiliki fungsi bantu sumSeries yang sama.
# jq: null when the metric is null, otherwise the sum of valuescurl -s "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/google-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY" \| jq '.data.googleInsights | { search: (if .search == null then null else ([.search[].value] | add) end), maps: (if .maps == null then null else ([.maps[].value] | add) end) }'Bing memerlukan satu pemeriksaan tambahan: penjumlahan array views kosong menghasilkan 0, jadi periksa kondisi length == 0 jika Anda juga ingin menampilkan "tidak ada data" untuk kasus tersebut.
5. Bandingkan dua periode
Ambil metrik yang sama untuk dua rentang dengan durasi yang sama dan hitung perubahan dari kedua total tersebut. API tidak memiliki perbandingan bawaan untuk analitik profil; field delta hanya tersedia pada analitik ulasan.
curl -s "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/google-analytics?fromDate=2026-07-01&toDate=2026-07-31" \-H "Authorization: API $LISTINGSAPI_KEY" | jq '[.data.googleInsights.total[].value] | add' curl -s "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/google-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY" | jq '[.data.googleInsights.total[].value] | add'Tangani tiga kasus: salah satu periode bernilai null (tidak terhubung), periode sebelumnya bernilai 0 (pembagian dengan nol), dan rentang yang masih berlangsung, karena bulan yang belum lengkap selalu tampak mengalami penurunan jika dibandingkan dengan bulan penuh. Setiap panggilan diperhitungkan dalam batas laju Anda, jadi simpan data periode sebelumnya dalam cache alih-alih mengambilnya kembali setiap kali tampilan dirender.
Langkah berikutnya
- Analitik ulasan: peringkat, jumlah ulasan, dan tingkat respons untuk lokasi yang sama, dengan selisih antarperiode bawaan.
- Perbarui lokasi: ubah jam operasional atau kategori yang dampaknya sedang Anda ukur.
- Referensi: Analitik Google, Analitik Facebook, Analitik Bing.
- SDK: Analitik Python, Analitik Node.