App Store Bewertungen in BigQuery

Jede App Store Bewertung als Zeile in Ihrem eigenen Projekt, mit Store-Land und der Sprache, in der sie geschrieben wurde. Die zwei Fragen, die App Store Connect nicht beantwortet, werden zu gewöhnlichem SQL.

In unter fünf Minuten eingerichtet • Keine Demo nötig

App Store BigQuery 128,412 rows

Destination table

fjord-analytics.reviews.app_store_reviews

review_date score country review_text
2026-09-07 5.0 Australia Lost signal above the treeline, map kept working.
2026-09-07 1.0 Japan 検索に日本語が入力できません
2026-09-06 4.0 Canada Route planning is quick. Water refills next?
2026-09-06 5.0 Germany Höhenlinien sind gut lesbar, auch bei Sonne.
Synced 12 minutes ago
  • chewy
  • qonto
  • brevo
  • jins
  • filmin
  • lugg

Die Frage, die App Store Connect nicht beantwortet

App Store Connect gibt Ihnen eine Bewertung und eine Liste. Es wird Ihnen nie sagen, dass sieben Stores zwischen 4,4 und 4,7 liegen, während Japan bei 1,6 steht, denn es hat keine Möglichkeit, diese Zahlen nebeneinanderzustellen. In BigQuery ist das ein GROUP BY auf eine Spalte, die Sie schon haben, fünf Zeilen SQL.

Apple ordnet jede App Store Bewertung einem Store zu, und Reviewflowz schreibt diesen Store als Land in jede Zeile. Das Land ist damit echte Daten statt eine Vermutung aus der Sprache, und ein marktförmiges Problem bekommt eine Form, nach der Sie abfragen können.

Diese Form ist die Diagnose. Ein Absturz zeigt sich darin, dass jedes Land gemeinsam einbricht. Ein übersetzter String, der nicht mehr auf seinen Button passt, oder ein Suchfeld, das keine japanische Eingabe mehr annimmt, zeigt sich darin, dass ein Land einbricht, während sich der Rest nicht bewegt. Welches Land sagt Ihnen, welches Team Sie anrufen müssen.

Die Nachfrage ist eine WHERE-Klausel, denn der vollständige Bewertungstext ist eine gewöhnliche Spalte. Zählen Sie die Bewertungen, die seit dem Monatsersten die Suche erwähnen, aufgeteilt nach Land, und Sie haben den Bugreport, bevor ihn jemand einreicht.

BigQuery Query editor
-- rating by storefront since 4.2 shipped
SELECT country,
       ROUND(AVG(score), 1) AS rating,
       COUNT(*) AS reviews
FROM `fjord-analytics.reviews.app_store_reviews`
WHERE review_date >= '2026-09-01'
GROUP BY country
ORDER BY rating
Results 5 rows in 0.4s
country rating reviews
Japan 1.6 214
Spain 4.4 96
United States 4.6 1,240
Germany 4.6 331
Australia 4.7 188

Eine Tabelle, kein Bericht

Was ankommt, ist eine Tabelle, kein Dashboard, das jemand anderes entworfen hat. Eine Zeile pro App Store Bewertung: Bewertungs-ID, Zeitstempel, Score, Titel, vollständiger Text, Land, Sprache, Tags und ein Link zurück zur Bewertung. Gewöhnliche Spalten, nichts zum Zurückentwickeln.

Der Bewertungstext ist eine STRING-Spalte wie jede andere, also ist der Begriff, der Sie interessiert, eine WHERE-Klausel statt eines Nachmittags Lesearbeit. Reviewflowz erkennt die Sprache direkt aus dem Text, weshalb eine deutsche Bewertung, die im Schweizer Store hinterlassen wurde, trotzdem so gruppiert, wie Sie es erwarten.

Tags kommen bereits gefüllt an. Reviewflowz liest jede Bewertung in der Sprache, in der sie geschrieben wurde, und ordnet sie den Themen zu, die Ihre Nutzer ansprechen, sodass ein japanischer Ein-Stern über die Suche und ein englischer zum selben Thema denselben Tag tragen und als eine Zahl zählen.

Eine Spalte, die Sie nicht finden werden, und das sollte man aussprechen: Apple heftet keine App-Version an eine Bewertung, also kann nichts, was darauf aufbaut, eine tragen. Wer Ihnen Bewertungsqualität pro Build aus einem App-Store-Feed verkauft, verkauft ein Feld, das Apple nicht veröffentlicht.

BigQuery fjord-analytics.reviews.app_store_reviews Schema
review_id STRING One row per review, stable
review_date TIMESTAMP When it was posted
score FLOAT64 1.0 to 5.0
title STRING The review headline
review_text STRING The full text, queryable
country STRING Apple’s storefront territory
language STRING Detected from the text, ISO 639-1
tags ARRAY Themes, filled as reviews arrive
review_url STRING Back to the review on the store

Wie die Zeilen tatsächlich nach BigQuery kommen

Es gibt kein verwaltetes BigQuery-Ziel zum Anklicken, und diese Seite tut nicht so, als gäbe es eins. Was Reviewflowz Ihnen gibt, ist ein Google Sheet in Ihrem eigenen Drive, das es aktuell hält: Eine neue App Store Bewertung ist innerhalb einer halben Stunde eine neue Zeile, eine bearbeitete Bewertung aktualisiert ihre Zeile, und eine Bewertung, die Apple entfernt, verliert ihre Zeile.

BigQuery liest ein Drive-basiertes Google Sheet als externe Tabelle. Ein CREATE EXTERNAL TABLE auf die Sheet-URL, und app_store_reviews existiert in Ihrem Dataset, lässt sich abfragen wie jede andere Tabelle und ist zum Abfragezeitpunkt korrekt, weil es das Sheet liest, keine Kopie. Nichts zu planen, nichts am Leben zu halten.

Wenn Sie stattdessen eine native, partitionierte Tabelle wollen, ist die Review API der andere Weg. Pollen Sie sie oder nehmen Sie den Webhook, und laden Sie dann mit demselben Job, den Sie für jede andere Quelle schon ausführen. Das ist Arbeit, die Ihr Datenteam einmal schreibt, und genau darum geht es: ein Job, keine Checkbox.

So oder so kommt die Historie mit. In einem bezahlten Plan lädt ein Klick jede vergangene App Store Bewertung, sodass die Trendlinie von Anfang an voll ist, statt sich erst über das nächste Quartal zu füllen. Verbinden Sie den Eintrag am Dienstagmorgen, und am Nachmittag können Sie drei Jahre Bewertungen abfragen.

every 30 min at query time
App Store R Google Sheets BigQuery
App Store
reviews
Reviewflowz Sheet in
your Drive
External
table
BigQuery Run once
CREATE EXTERNAL TABLE
  reviews.app_store_reviews
OPTIONS (
  format = 'GOOGLE_SHEETS',
  uris = ['https://docs.google.com/...'],
  sheet_range = 'Reviews'
)

Prefer a native partitioned table? The other road is the Review API and a load job you run on your own schedule.

Der Build, den Apple nie an die Bewertung geheftet hat

Weil Apple die App-Version bei einer Bewertung weglässt, kann kein Bewertungstool Ihnen sagen, welchen Build ein Ein-Stern meint. Ihr Data Warehouse kann es, und zwar mit Daten, die Sie schon besitzen: einer Releases-Tabelle mit Version und Auslieferungsdatum, genau dem, was bei Apple fehlt.

Verknüpfen Sie beide über das Datum, und die Bewertungsqualität pro Version kommt zurück. 4.1 liegt bei 4,6 über zweitausend Bewertungen, 4.2 fällt auf 2,9 über vierhundert, und der Hotfix 4.2.1 erholt sich auf 4,5. Das ist das Release-Postmortem, und es ist ein Join, kein Projekt.

Derselbe Trick funktioniert bei allem anderen, das Sie führen. Abos, Ticketvolumen, absturzfreie Sessions, Umsatz nach Store: Verknüpfen Sie über den Schlüssel oder den Zeitraum, den Sie schon nutzen, und ob Leute, die einen Stern hinterlassen, schneller abwandern, hört auf, eine Vermutung zu sein, und wird zu einer Zahl.

Das ist der ganze Grund, Bewertungen in ein Data Warehouse zu bringen, statt sie in einem Tool zu lesen. Ein Bewertungstool kann Ihnen immer nur etwas über Bewertungen sagen. Im Data Warehouse steht eine Bewertung neben dem Release, dem Absturz und der Rückerstattung, die sie erklären.

App Store app_store_reviews
review_date
score
country
releases your data
version
shipped_at
JOIN ON r.review_date >= x.shipped_at
version avg rating reviews
4.1 4.6 2,104
4.2 2.9 488
4.2.1 4.5 301

Ihr Projekt, Ihre Regeln

Die Tabelle liegt in Ihrem Google Cloud Projekt, in der Region, die Sie gewählt haben, unter dem IAM, das Sie schon betreiben, und der Aufbewahrungsrichtlinie, die Sie schon geschrieben haben. Einem Data Scientist Zugriff zu geben, sind dieselben paar Klicks wie bei jedem anderen Dataset, und ihn wieder zu entziehen, sind dieselben paar Klicks zurück.

Sie bestimmen, was herausfließt. Wählen Sie die App Store Einträge, und pro Eintrag die Stores. Lassen Sie die Länderliste leer, und jeder Markt, in dem die App verkauft wird, ist dabei, oder nennen Sie Japan und Deutschland, und nur diese Zeilen kommen an. Fügen Sie einen Score-Filter hinzu, und die Tabelle enthält nur ein bis drei Sterne.

So bekommt das Lokalisierungsteam ein Dataset nur seiner Märkte, ohne dass jemand einen Filter pflegen muss, und die Support-Leitung eines nur mit den niedrigen Scores, aus demselben Account und denselben Einträgen. Zwei Geltungsbereiche, die zwei Tabellen speisen, sind ein normales Setup, kein Workaround.

Eine Sache, die Sie wissen sollten, bevor Sie irgendetwas dimensionieren: Das App-Store-Bewertungsvolumen verteilt sich nicht gleichmäßig. Es stapelt sich in den Stunden nach einem Release und den Tagen nach einer Apple-Empfehlung, sodass eine Tabelle, die den ganzen Monat ruhig wirkt, die meisten ihrer Zeilen an zwei Nachmittagen sammelt.

BigQuery

Your Google Cloud project

fjord-analytics.reviews

Location

europe-west1

Access

your IAM

Retention

your policy

What flows in

Listings
Fjord Fjord Pro
Countries
JapanGermanyUnited States + 31 more

Leave it empty and every storefront is included.

Rating
1 to 3 stars selected

Bewertungen gehören neben das Release, das sie ausgelöst hat.

In unter fünf Minuten eingerichtet. Keine Demo nötig.

Gibt es einen nativen BigQuery-Connector?

Nein, und es wäre unehrlich, etwas anderes anzudeuten. Reviewflowz synchronisiert ein Google Sheet in Ihrem eigenen Drive, und BigQuery liest dieses Sheet mit einem einzigen CREATE EXTERNAL TABLE als externe Tabelle. Wenn Sie lieber eine native, partitionierte Tabelle hätten: Die Review API plus ein geplanter Ladejob bringt Sie dorthin. Beides ist gewöhnliche Arbeit für ein Datenteam, und keins davon braucht eine Demo.

Wie aktuell ist die Tabelle?

Reviewflowz prüft den App Store standardmäßig alle zwei Stunden, alle zehn Minuten in der Hochfrequenz-Einstellung, und synchronisiert das Sheet alle 30 Minuten. Eine externe Tabelle liest das Sheet zum Abfragezeitpunkt, sodass eine Abfrage jetzt sieht, was die letzte Synchronisierung geschrieben hat. Ein Ladejob in eine native Tabelle ist so aktuell wie sein Zeitplan.

Welche Spalten hat die Tabelle?

Bewertungs-ID, App, Plattform, Bewertungsdatum und Uhrzeit, Score, Titel, vollständiger Text, Store-Land, erkannte Sprache, Spitzname des Bewertenden, Tags und ein Link zurück zur Bewertung. Apple heftet keine App-Version an eine Bewertung, also gibt es keine Versionsspalte. Verknüpfen Sie Ihre eigene Releases-Tabelle über das Datum, um Zahlen pro Build zu bekommen.

Enthält das erste Laden unsere App Store Historie?

Ja, in einem bezahlten Plan: Ein Klick lädt jede vergangene App Store Bewertung, sodass die Trendlinie vom ersten Tag an voll ist, statt erst in drei Monaten. Während der kostenlosen Testversion kommen neue Bewertungen an, sobald sie veröffentlicht werden, und die Historie lädt, sobald Sie abonnieren.

Was passiert, wenn ein Bewertender seine Bewertung bearbeitet, nachdem wir den Fix ausgeliefert haben?

Die Zeile aktualisiert sich an Ort und Stelle mit dem neuen Score und Text, sodass eine Abfrage darüber sich mit der Korrektur mitbewegt. Entfernt Apple eine Bewertung aus dem Store, wird die Zeile bei der nächsten Synchronisierung gelöscht, sodass die Tabelle nie eine Version der Wahrheit hält, die der App Store nicht mehr hat.

Brauche ich eine Demo, um anzufangen?

Nein. Verbinden Sie Ihren App Store Eintrag und das Google Sheet selbst in unter fünf Minuten, und führen Sie dann ein CREATE EXTERNAL TABLE darauf aus. 14 Tage kostenlose Testversion, keine Kreditkarte.