Analitik
Ambil data analitik profil Google, Bing, dan Facebook dengan SDK listingsapi-js.
Metode analitik mengambil statistik tingkat platform, seperti tayangan penelusuran, klik, permintaan petunjuk arah, dan panggilan telepon, dari Google Business Profile, Bing Places, dan Facebook Pages. Semua metode analitik tersedia langsung pada instans klien ListingsAPI dan cakupannya dibatasi oleh ID lokasi. ID lokasi numerik dikodekan secara otomatis, sehingga 16808 dan 'TG9jYXRpb246MTY4MDg=' dapat digunakan secara bergantian.
Ketiga metode memiliki signature yang sama: ID lokasi serta rentang { fromDate, toDate } opsional. Kedua tanggal bersifat opsional, baik masing-masing maupun keduanya; hilangkan keduanya untuk menggunakan periode pelaporan default platform.
Setiap metrik berupa deret waktu
Tidak ada total skalar dalam payload ini. Setiap metrik berupa array titik data { startTime, value }, satu per hari (per minggu untuk Bing), dan metrik yang datanya tidak tersedia bernilai null, bukan 0 atau []. Karena itu, jumlahkan sendiri deret tersebut, dan bedakan "tidak ada data" dari "nol":
type Point = { startTime: string; value: number | null }; // null when the metric is absent, so an empty profile never reads as 0.function sumSeries(series: Point[] | null | undefined): number | null {if (!Array.isArray(series)) return null;return series.reduce((acc, p) => acc + (p.value ?? 0), 0);} function show(label: string, series: Point[] | null | undefined) {const total = sumSeries(series);console.log(label, total === null ? 'unavailable' : total);}fetchGoogleAnalytics
Ambil statistik Google Business Profile untuk suatu lokasi.
const google = await client.fetchGoogleAnalytics(16808, {fromDate: '2024-01-01',toDate: '2024-12-31',}); show('Impressions (total)', google.total);show('Search impressions', google.search);show('Maps impressions', google.maps);show('Website clicks', google.websiteAction);Opsi
Payload berupa objek googleInsights, dan setiap kunci di dalamnya berupa deret { startTime, value }[]: total, search, maps, websiteAction, directionsAction, phoneAction, businessBookings, businessFoodOrders, dan businessFoodMenuClicks. total adalah tayangan profil, yaitu search ditambah maps; metrik ini tidak mencakup metrik tindakan. Setiap deret yang datanya tidak tersedia di Google dikembalikan sebagai null. Lihat Ambil analitik Google untuk suatu lokasi untuk referensi lengkap mengenai field.
fetchBingAnalytics
Ambil statistik Bing Places untuk suatu lokasi.
const bing = await client.fetchBingAnalytics(16808, {fromDate: '2024-01-01',toDate: '2024-12-31',}); show('Bing views', bing.views);Bing melaporkan satu metrik, views, yang dikelompokkan per minggu, bukan per hari.
Opsi
fetchFacebookAnalytics
Ambil statistik halaman Facebook untuk suatu lokasi.
const facebook = await client.fetchFacebookAnalytics(16808, {fromDate: '2024-01-01',toDate: '2024-12-31',}); show('Page views', facebook.views);show('CTA clicks', facebook.ctaAction);Payload Facebook berisi views, ctaAction, websiteAction, directionsAction, dan phoneAction. Tidak ada pageLikes.
Opsi
Laporan multiplatform
Ambil data dari ketiga platform secara paralel dengan Promise.all:
import { ListingsAPI } from 'listingsapi-js'; const client = new ListingsAPI(); // reads LISTINGSAPI_KEY from envconst LOCATION_ID = 16808;const range = { fromDate: '2024-01-01', toDate: '2024-12-31' }; const [google, bing, facebook] = await Promise.all([client.fetchGoogleAnalytics(LOCATION_ID, range),client.fetchBingAnalytics(LOCATION_ID, range),client.fetchFacebookAnalytics(LOCATION_ID, range),]); show('Google impressions:', google.total);show('Bing views:', bing.views);show('Facebook views:', facebook.views);Jika profil tidak terhubung untuk platform tertentu, metode berhasil diselesaikan dengan objek kosong alih-alih ditolak, dan setiap deret dikembalikan sebagai null. Laporkan kondisi tersebut sebagai "tidak tersedia" alih-alih memaksanya menjadi 0 dengan ??, agar profil yang tidak terhubung tidak terbaca sebagai nilai nol yang sebenarnya di dasbor Anda. Kegagalan permintaan tetap melempar error bertipe dari SDK.
Referensi terkait
- Lokasi: cari ID lokasi
- Ulasan: analitik ulasan (overview, timeline, sites-stats)
- Kasus penggunaan: panduan membuat laporan analitik