Google Bewertungen in Redshift

Redshift enthält bereits die Einnahmen, den Dienstplan und die Kundenfrequenz. Das Einzige, was fehlt, ist das, was der Kunde gesagt hat, und genau diese Spalte erklärt die anderen drei.

Bewertungen synchronisieren in unter fünf Minuten • Keine Demo nötig

Amazon Redshift analytics.google_reviews
Google Business Profile 61,482 rows
profile_name Kestrel Market Bellwood
2

Two tills staffed at five on a Friday and half the self-checkouts down

profile_name Kestrel Market Severn Park
5

Marisol walked me to the thing I could not find. Twice.

profile_name Kestrel Express Ashgrove
4

Fine for a quick shop, the queue actually moves

profile_name Kestrel Market Bellwood
1

Self-checkout froze again and nobody came over

26 stores loading into one table COPY 09:34
  • chewy
  • qonto
  • brevo
  • jins
  • filmin
  • lugg

Die Frage ist, welche Filiale hinter ihresgleichen zurückbleibt

Google Business Profile gibt Ihnen eine Bewertung pro Eintrag und die Bewertungen darunter. Es wird Ihnen nie sagen, dass acht Ihrer innerstädtischen Filialen innerhalb eines Zehntels von 4,5 liegen, während die neunte bei 3,6 steht, denn es kann diese neun Zahlen nicht nebeneinanderstellen. In Redshift ist das eine CTE und eine Fensterfunktion.

Der Vergleich, der zählt, ist der mit einer Vergleichsgruppe, nicht mit der ganzen Kette. Eine 3,6 bedeutet wenig neben einem Netzdurchschnitt, der eine Innenstadtfiliale mit einer Tankstellen-Express-Filiale vermischt. Sie bedeutet sehr viel neben den sieben Filialen desselben Formats.

Die Form der Antwort ist die Diagnose. Eine Preisänderung liest sich so, als würden alle Filialen gemeinsam abdriften. Eine Lücke im Dienstplan, ein Kartenlesegerät, das ausgefallen ist, ein Manager, der im März gegangen ist, liest sich so, dass eine Filiale fällt, während ihre Nachbarn stabil bleiben.

Die Anschlussfrage ist eine WHERE-Klausel, denn der Bewertungstext ist eine gewöhnliche Spalte. Zählen Sie die Bewertungen, die seit März die Selbstbedienungskassen erwähnen, aufgeteilt nach Filiale, und Sie haben die Antwort, bevor das Regionalmeeting sie hat.

Amazon Redshift Query editor
-- every store against its own format, not the chain average
WITH by_store AS (
  SELECT s.site_key, s.format, AVG(r.score) AS rating
  FROM   analytics.google_reviews r
  JOIN   ops.stores s USING (profile_name)
  WHERE  r.review_date >= '2026-03-01'
  GROUP BY 1, 2
)
SELECT site_key, format, ROUND(rating, 1) AS rating,
       ROUND(rating - AVG(rating)
             OVER (PARTITION BY format), 1) AS vs_peers
FROM by_store ORDER BY vs_peers
Results 5 of 26 stores
site_key rating vs_peers
BELLWOOD 3.6 -0.9
ASHGROVE 4.1 -0.3
DUNMORE 4.3 -0.2
KIRKHAM 4.5 0.0
SEVERN PARK 4.6 +0.1

Die Filiale kommt als Eintragstitel an, und Sie ordnen sie einmal zu

Reviewflowz erstellt ein Bewertungsprofil pro Google Eintrag, also wird die Filiale, die eine Bewertung verdient hat, auf jede Zeile geschrieben, statt aus dem Text abgeleitet zu werden. Sie erreicht das synchronisierte Sheet als Spalte B mit der Überschrift Profile Name, und das ist der Eintragstitel, wie Google ihn führt. Ein Titel, keine Straßenadresse.

Also ordnen Sie ihn einmal zu. Deklarieren Sie ihn als VARCHAR, legen Sie eine profile_name-Spalte in Ihrer eigenen Filialtabelle daneben, und von da an ist es ein gewöhnlicher Join-Schlüssel mit einem gewöhnlichen DISTKEY darauf.

Dieser einmalige Schritt schlägt eine Standort-Spalte, die wir für Sie ausgefüllt hätten, denn die Zuordnung gehört Ihnen. Zwei Einträge, die Google getrennt hält, können auf einen einzigen Standortschlüssel zeigen. Eine Filiale, die im April umbenannt wurde, behält denselben Schlüssel auf beiden Seiten der Umbenennung.

Adressen gibt es im Produkt tatsächlich, und es wäre falsch, etwas anderes zu suggerieren. Der OData-Feed trägt einen Locations Entitätssatz mit Straße, Stadt, Postleitzahl sowie Breiten- und Längengrad. Sie stehen nicht im Sheet, also erreichen sie Redshift auf demselben Weg wie Ihre eigene Filialtabelle.

Amazon Redshift analytics.google_reviews
profile_name VARCHAR(255) Join key

Column B in the synced sheet. The Google listing title.

review_id
VARCHAR(64)
review_date
TIMESTAMP
score
SMALLINT
review_text
VARCHAR(65535)
language
VARCHAR(8)
tags
VARCHAR(1024)
link
VARCHAR(512)
DISTSTYLE KEY DISTKEY (profile_name) SORTKEY (review_date)

No reply column. The synced sheet does not carry one, so nothing downstream of it can.

Wie die Zeilen tatsächlich in Redshift ankommen

Es gibt kein Redshift-Ziel in Reviewflowz zum Anklicken, und diese Seite wird sich keins ausdenken. Was Sie auf jedem Plan bekommen, ist ein Google Sheet in Ihrem eigenen Drive, das Reviewflowz aktuell hält, jeweils um :02 und :32 jeder Stunde.

Redshift liest dieses Sheet nie dort, wo es liegt. BigQuery tut das, weshalb die BigQuery-Version dieser Seite ein einziges CREATE EXTERNAL TABLE ist und diese hier nicht. Jeder Weg nach Redshift führt über S3, und der kürzeste ist Amazon AppFlow, das Google Sheets als Quelle und Redshift als Ziel nimmt.

AppFlow fügt ein, es macht kein Upsert, und das Sheet korrigiert sich selbst, wenn ein Bewertender bearbeitet. Laden Sie die Tabelle also neu, statt anzuhängen, oder schreiben Sie den Export selbst und übergeben Sie ihn einem COPY JOB mit AUTO ON. So oder so gehört Ihnen der Bucket, und das ist ein Nachmittag, kein Quartal.

Eine Sache lässt den No-Code-Weg im Stillen funktionieren. AppFlow bindet einen Sheets-Flow an die Spaltenüberschriften, die es vorfindet, und bricht ab, wenn sie sich verschieben. Der Reviewflowz Export-Header verschiebt sich nicht: 28 Spalten, dieselbe Reihenfolge bei jeder Synchronisierung, mit Absicht.

Amazon Redshift Getting rows in No connector
A · No code runs as often as every minute
Google Sheets Sheet AppFlow Amazon Redshift Redshift

AppFlow reads the sheet and writes Redshift, staging through an S3 bucket you own. It inserts, it does not upsert, so you reload rather than append.

B · One job you write you own this step
Google Sheets Sheet export S3 Amazon Redshift Redshift

One COPY with a JOB, and each new file that lands is picked up on its own.

Amazon Redshift Run once
COPY analytics.google_reviews
FROM 's3://kestrel-lake/reviews/'
IAM_ROLE 'arn:aws:iam::4471...:role/redshift-copy'
FORMAT CSV IGNOREHEADER 1
JOB CREATE load_google_reviews AUTO ON;

BigQuery queries a Drive-backed sheet in place. Redshift never does, so every road above runs through a bucket you own.

Verknüpfen Sie sie mit dem, was Sie schon pro Filiale führen

Jeder Betreiber mit mehr als einem Standort führt eine Tabelle mit einer Zeile pro Filiale und Woche: Einnahmen, Dienstplanstunden gegen Plan, Kundenfrequenz, das Datum der letzten Renovierung. Google Bewertungen kommen genauso getaggt an, also ist das Zusammenführen ein JOIN und kein Projekt.

Genau dort hören die Zahlen auf, nur interessant zu sein, und werden nützlich. Eine Bewertung neben Umsatz pro Besuch zeigt, was ein schlechtes Quartal in einer Filiale tatsächlich kostet. Dieselbe Bewertung neben Dienstplanstunden zeigt, ob die Filiale, über die sich alle beschweren, diejenige ist, die niemand besetzt hat.

Es korrigiert den Vergleich auch dauerhaft. Verknüpfen Sie mit Ihren eigenen Segmenten, Innenstadtlage gegen Fachmarktzentrum, renoviert gegen wartend, und jede Filiale wird an den Filialen gemessen, denen sie tatsächlich ähnelt, statt an einem Durchschnitt, der keine von ihnen beschreibt.

Das ist der ganze Grund, Google Bewertungen in ein Warehouse zu bringen, statt sie in einem Tool zu lesen. Ein Bewertungstool kann Ihnen immer nur etwas über Bewertungen sagen. Es sieht die Einnahmen nicht und wird sie auch nie bekommen. Redshift hat sie bereits, weshalb die Bewertung das ist, was sich bewegen sollte.

Amazon Redshift

analytics.google_reviews

ops.store_week

ON site_key
from analytics ops
site_key rating rota_gap
BELLWOOD 3.6 -14%
ASHGROVE 4.1 -4%
DUNMORE 4.3 -1%
KIRKHAM 4.5 +2%
SEVERN PARK 4.6 +1%

site_key is yours. It reaches the reviews table through one mapping from the Google listing title, written once.

Sechs Monate Bewertungstext, ein Statement

Der vollständige Bewertungstext ist eine VARCHAR-Spalte wie jede andere, also wird der Begriff, der Sie interessiert, zu einem ILIKE und einem GROUP BY statt zu einem Nachmittag Lesearbeit. Sechs Monate Google Bewertungen, gezählt nach Filiale, für das Wort, das immer wieder auftaucht, sind ein Statement.

Reviewflowz erkennt die Sprache jeder Bewertung direkt aus dem Text und schreibt sie in eine eigene Spalte, weshalb eine spanische Bewertung auf einem Eintrag in Texas trotzdem in derselben Tabelle landet und in derselben Suche auftaucht, sobald Sie den Begriff erweitern.

Tags kommen schon ausgefüllt an, also stehen die Themen bereit, bevor Sie einen Klassifikator schreiben. Behandeln Sie sie als Ausgangspunkt: Die Zahl, nach der ein Regionalmanager handelt, ist meist die Anzahl der Bewertungen, die zu Ihrem eigenen Wort in Ihrem eigenen Vokabular passen.

Eine Warnung zur Datumsspalte, denn sie verändert, was Sie modellieren. Das Volumen der Google Bewertungen folgt der Kundenfrequenz, keinem Veröffentlichungsplan. Es steigt am Freitag, verdoppelt sich am Samstag und springt für zwei Wochen nach einer lokalen Kampagne an. Ein Monatsdurchschnitt liegt über fünf dieser Tage und unter den anderen zwei, vergleichen Sie also Gleiches mit Gleichem nach Wochentag.

Amazon Redshift Query editor
-- six months of review text, one statement
SELECT s.site_key,
       COUNT(*) AS reviews,
       SUM(CASE WHEN r.review_text ILIKE '%self-checkout%'
                THEN 1 ELSE 0 END) AS mentions
FROM   analytics.google_reviews r
JOIN   ops.stores s USING (profile_name)
WHERE  r.review_date >= DATEADD(month, -6, CURRENT_DATE)
GROUP  BY 1
ORDER  BY mentions DESC
Results 5 of 26 stores in 1.2s
site_key reviews mentions share
BELLWOOD 214 61 29%
KIRKHAM 178 14 8%
SEVERN PARK 152 9 6%
DUNMORE 131 7 5%
ASHGROVE 96 5 5%

Redshift weiß alles über die Filiale, außer was der Kunde gesagt hat

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

Gibt es einen nativen Redshift Connector?

Nicht von Reviewflowz aus, und es wäre unehrlich, das Gegenteil zu behaupten. Was Reviewflowz Ihnen gibt, ist ein Google Sheet, das auf jedem Plan in Ihr eigenes Drive synchronisiert wird, dazu die Review API und Webhooks auf Premium. Die andere Hälfte liefert AWS. Amazon AppFlow nimmt Google Sheets als Quelle und Redshift als Ziel, gestaged über einen S3-Bucket, der Ihnen gehört, was Konfiguration ist, kein Code. Wenn Sie die Pipeline lieber selbst besitzen, exportieren Sie die Zeilen selbst nach S3 und laden Sie sie mit einem COPY JOB. Beides ist mehr Arbeit als die BigQuery-Version dieser Seite, wo BigQuery das Sheet direkt vor Ort abfragt. Keins von beiden dauert länger als einen Nachmittag.

Landet die Filiale wirklich auf jeder Zeile?

Ja. Reviewflowz erstellt ein Bewertungsprofil pro Google Eintrag, also trägt jede Bewertungszeile den Eintrag, zu dem sie gehört. Er kommt als Spalte B des synchronisierten Sheets an, mit der Überschrift Profile Name, und das ist der Eintragstitel, wie Google ihn führt, nicht eine eigene ID. Ordnen Sie diese Titel einmal beim Erstellen der Tabelle Ihren eigenen Standortschlüsseln zu, danach ist es ein gewöhnlicher Join-Schlüssel.

Wie aktuell ist die Tabelle?

Das Sheet synchronisiert sich neu jeweils um :02 und :32 jeder Stunde, sodass sich alles Nachgelagerte auf diese beiden Zeitpunkte planen lässt. AppFlow kann einen geplanten Flow bis zu einmal pro Minute ausführen. Ein COPY JOB mit AUTO ON lädt jede neue Datei, sobald sie eintrifft, statt nach einem Zeitplan, und ein COPY, den Sie um 3 Uhr nachts ausführen, macht die Tabelle so aktuell wie 3 Uhr nachts.

Welche Spalten kommen an?

Das synchronisierte Sheet hat einen festen Header mit 28 Spalten und eine Zeile pro Bewertung: die Bewertungs-ID, der Profilname, die Plattform, der Titel, der vollständige Text, die Bewertung, ein Link zurück, das Bewertungsdatum, die erkannte Sprache, der Name des Bewertenden, die Tags, und der Rest. Es gibt keine Antwort-Spalte und keine plattformspezifischen Tabs, also bildet es sich auf eine flache Redshift-Tabelle ab, ohne dass etwas umgeformt werden muss.

Können wir auswählen, was herausfließt?

Ja. Wählen Sie, welche Bewertungsprofile das Sheet abdeckt, und fügen Sie bei Bedarf einen Bewertungsfilter hinzu, sodass das Filialteam jede Filiale bekommt, während eine Support-Ansicht nur ein bis drei Sterne erhält.

Enthält das erste Laden unsere Google-Bewertungshistorie?

Ja, auf einem bezahlten Plan. Ein Klick befüllt das Sheet mit jeder vergangenen Google Bewertung über all Ihre Einträge, sodass die Trendlinie sofort vollständig ist, statt sich erst im nächsten Quartal zu füllen. Während der kostenlosen Testversion treffen neue Bewertungen ein, sobald sie veröffentlicht werden, und die Historie lädt, sobald Sie ein Abo abschließen.

Was passiert, wenn ein Bewertender seine Bewertung bearbeitet oder löscht?

Die Zeile aktualisiert sich direkt, verankert an der Bewertungs-ID in Spalte A, und wenn eine Bewertung von Ihrem Google-Eintrag verschwindet, verschwindet ihre Zeile bei der nächsten Synchronisierung. Das hat eine Konsequenz, die Sie einplanen sollten. AppFlow fügt ein statt upzuserten, und ein reines Append-COPY behält die alte Version neben der korrigierten. Laden Sie die Tabelle neu oder machen Sie ein Upsert auf review_id, und Redshift zieht mit der Korrektur mit, statt eine Version der Wahrheit zu halten, die Google nicht mehr hat.

Funktioniert das mit Redshift Serverless?

Ja. Auto-Copy ist auf Redshift Serverless Workgroups und auf RA3 Provisioned Clusters allgemein verfügbar, und AppFlow schreibt auf beide. Nichts auf dieser Seite hängt davon ab, welches von beiden Sie betreiben.

Brauche ich eine Demo, um anzufangen?

Nein. Verbinden Sie Ihr Google Business Profile und das Google Sheet selbst in unter fünf Minuten. 14 Tage kostenlose Testversion, keine Kreditkarte. Die AWS-Hälfte richten Sie selbst ein, und sie hat dieselbe Form wie jeder andere Ladevorgang, den Sie bereits betreiben.