Analysen
Rufen Sie mit dem listingsapi-js SDK Profilanalysen von Google, Bing und Facebook ab.
Die Analysemethoden rufen Kennzahlen auf Plattformebene wie Suchimpressionen, Klicks, Routenanfragen und Telefonanrufe aus Google Business Profile, Bing Places und Facebook Pages ab. Alle Analysemethoden sind direkt auf der Clientinstanz ListingsAPI verfügbar und auf eine Standort-ID beschränkt. Numerische Standort-IDs werden automatisch kodiert, sodass 16808 und 'TG9jYXRpb246MTY4MDg=' austauschbar sind.
Alle drei Methoden haben dieselbe Signatur: eine Standort-ID und einen optionalen Zeitraum { fromDate, toDate }. Beide Datumsangaben sind sowohl einzeln als auch gemeinsam optional; lassen Sie sie weg, um den Standardberichtszeitraum der Plattform zu verwenden.
Jede Kennzahl ist eine Zeitreihe
Diese Nutzdaten enthalten keine skalaren Gesamtwerte. Jede Kennzahl ist ein Array aus { startTime, value }-Datenpunkten, einem pro Tag (bei Bing pro Woche), und eine Kennzahl, für die Ihnen keine Daten vorliegen, ist null statt 0 oder []. Summieren Sie die Zeitreihe daher selbst und unterscheiden Sie zwischen „keine Daten“ und „null“:
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
Rufen Sie Kennzahlen aus Google Business Profile für einen Standort ab.
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);Optionen
Die Nutzdaten bestehen aus dem Objekt googleInsights, und jeder seiner Schlüssel enthält eine { startTime, value }[]-Zeitreihe: total, search, maps, websiteAction, directionsAction, phoneAction, businessBookings, businessFoodOrders und businessFoodMenuClicks. total entspricht den Profilimpressionen, also search plus maps; die Aktionskennzahlen sind darin nicht enthalten. Jede Zeitreihe, für die Google keine Daten hat, wird als null zurückgegeben. Die vollständige Feldreferenz finden Sie unter Google-Analysedaten für einen Standort abrufen.
fetchBingAnalytics
Rufen Sie Kennzahlen aus Bing Places für einen Standort ab.
const bing = await client.fetchBingAnalytics(16808, {fromDate: '2024-01-01',toDate: '2024-12-31',}); show('Bing views', bing.views);Bing meldet eine einzige Kennzahl, views, die wochenweise statt tageweise zusammengefasst wird.
Optionen
fetchFacebookAnalytics
Rufen Sie Kennzahlen einer Facebook-Seite für einen Standort ab.
const facebook = await client.fetchFacebookAnalytics(16808, {fromDate: '2024-01-01',toDate: '2024-12-31',}); show('Page views', facebook.views);show('CTA clicks', facebook.ctaAction);Die Facebook-Nutzdaten enthalten views, ctaAction, websiteAction, directionsAction und phoneAction. pageLikes ist nicht vorhanden.
Optionen
Bericht über mehrere Plattformen
Rufen Sie die Daten aller drei Plattformen parallel mit Promise.all ab:
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);Wenn für eine bestimmte Plattform kein Profil verbunden ist, wird das Promise der Methode mit einem leeren Objekt erfüllt statt zurückgewiesen, und eine einzelne Zeitreihe wird als null zurückgegeben. Stellen Sie dies als „nicht verfügbar“ dar, statt es mit ?? in 0 umzuwandeln, da ein nicht verbundenes Profil sonst in Ihrem Dashboard als tatsächlicher Nullwert erscheint. Bei fehlgeschlagenen Anfragen werden weiterhin die typisierten Fehler des SDK ausgelöst.
Weiterführende Ressourcen
- Standorte: Standort-IDs nachschlagen
- Bewertungen: Bewertungsanalysen (overview, timeline, sites-stats)
- Anwendungsfälle: Anleitung für einen Analysebericht