Zum Hauptinhalt springen

Analytics – Ihre Berichte werden automatisch aktualisiert: Jede Survio-Antwort an Google Sheets senden

Senden Sie jede ausgefüllte Survio-Antwort vollautomatisch in ein Google Sheet und erstellen Sie darauf ein live aktualisiertes Diagramm oder eine Pivot-Tabelle. Schritt-für-Schritt-Anleitung mit n8n und einem fertigen Workflow zum Download.

Verfasst von Success Team Survio

Welcher Fall trifft auf Sie zu?

Fall A – einfach, für alle: Ein Diagramm Ihrer Antworten, das sich mit jeder neuen Antwort automatisch aktualisiert.

Fall B – für Teams, die Gruppen vergleichen: Eine Pivot-Tabelle, die Sie nach Kanal, Sprache oder einer beliebigen Spalte filtern können.

Jede Antwort, die Ihre Umfrage sammelt, erscheint nach dem Absenden sofort als neue Zeile in einem Google Sheet. Erstellen Sie darauf einmalig ein Diagramm oder eine Pivot-Tabelle, und Ihr Bericht bleibt stets aktuell: Kein Exportieren, kein Kopieren, kein Warten auf die Vorbereitung der Zahlen.
​

Das ist der Bericht in Fall A, ein Diagramm, das sich mit jeder neuen Antwort aktualisiert:
​

The report tab with response counts and a column chart


​

Und das ist die Pivot-Tabelle in Fall B, nach Kanal gefiltert mit einem Slicer:
​

Pivot table with a slicer on the Channel column

So funktioniert es. Survio schickt jede ausgefüllte Antwort an eine Webhook-URL. Ein Automatisierungstool (hier n8n) empfängt sie und schreibt sie als Zeile in Ihr Sheet. Survio übernimmt das Senden, n8n das Schreiben, das Sheet übernimmt die Darstellung.

Neu bei Webhooks in Survio? Starten Sie mit Webhooks: Antworten in Echtzeit an Ihre anderen Tools senden und kehren Sie dann wieder hierher zurück.
​

Was Sie erstellen werden

Beide Berichte werden durch das gleiche Setup gespeist: Jede ausgefüllte Antwort wird als neue Zeile auf einem Tab namens responses abgelegt.

Auf einen Blick

Fall A: Ein Diagramm

Fall B: Auswertung nach Segment

Ergebnis

Ein Diagramm, das die Verteilung der Antworten anzeigt und mit jeder neuen Antwort aktualisiert wird

Eine Pivot-Tabelle, die Sie nach Kanal, Sprache oder einer anderen Spalte filtern können

Tools

Survio, n8n, Google Sheets

Survio, n8n, Google Sheets (Pivot-Tabelle und Slicer)

Am besten geeignet für

Ein kleines Unternehmen, das ein einfaches, immer aktuelles Diagramm möchte

Ein Team, das Gruppen vergleicht, zum Beispiel Online- und Filialkundschaft

Bevor Sie starten

  • Eine Survio-Umfrage in einem kostenpflichtigen Tarif. Webhooks sind im Free-Tarif nicht verfügbar. Je Tarif gibt es eine bestimmte Anzahl Webhooks pro Umfrage (siehe den Webhooks-Artikel).

  • Ein n8n-Konto, Cloud oder selbst gehostet.

  • Ein Google-Konto für Google Sheets.

In dieser Anleitung verwenden wir eine kurze Kundenzufriedenheitsumfrage: eine Sternebewertung, eine Auswahlfrage „Wie zufrieden sind Sie insgesamt?“, eine Auswahlfrage „Wie haben Sie diesmal eingekauft?“, ein Freitext-Kommentarfeld und eine optionale Frage zur E-Mail-Adresse. Ihre Umfrage kann abweichen; in Schritt 5 ordnen Sie die Fragen zu.
​

Schritt 1 – Sheet vorbereiten

  1. Erstellen Sie ein neues Google Sheet und benennen Sie den ersten Tab responses.

  2. Tragen Sie in Zeile 1 die Spaltenüberschriften ein. Wir nutzen: Response ID, Submitted, Rating (1-5), Satisfaction, Channel, What could we do better, E-mail, Order ID, Language und Source.

Lassen Sie „Response ID“ als erste Spalte. Es ist die eindeutige Survio-ID jeder Antwort. n8n nutzt sie zum Aktualisieren bestehender Zeilen, statt Dubletten zu erzeugen, wenn eine Zustellung wiederholt wird.

Schritt 2 – Webhook in n8n erstellen

  1. Legen Sie in n8n einen neuen Workflow an und fügen Sie einen Webhook-Knoten als Trigger hinzu.

  2. Stellen Sie HTTP Method auf POST.

  3. Wechseln Sie zur Registerkarte Production URL und kopieren Sie die Adresse.

  4. Klicken Sie auf Publish. Die Production URL akzeptiert erst Daten, wenn der Workflow veröffentlicht wurde.

n8n Webhook node with HTTP Method POST and the Production URL tab
Published button in the n8n editor

Nutzen Sie die Production URL, nicht die Test URL. Die Test URL lauscht nur, solange der Editor offen ist; danach schlägt die Zustellung in Survio fehl. Survio versucht die Zustellung etwa einen Tag lang erneut und schaltet nach 5 Tagen Fehlschlägen den Webhook ab.

Schritt 3 – Umfrage in Survio verbinden

  1. Öffnen Sie Ihre Umfrage und gehen Sie zu Antwortensammlung.

  2. Wählen Sie in der linken Seitenleiste unter Automatisierungen & Integrationen Webhooks aus und klicken Sie auf + Webhook hinzufügen.

  3. Fügen Sie die n8n Production URL in das Feld Webhook URL ein und klicken Sie auf Webhook speichern. Der Webhook wird sofort aktiviert.

Add a webhook dialog in Survio with the n8n Production URL filled in
Saved webhook in Survio, switched on


​

Schritt 4 – Testantwort absenden und Frage-IDs notieren

  1. Öffnen Sie Ihre Umfrage über den normalen Link und senden Sie eine vollständige Antwort ab. Survio schickt nur vollständig ausgefüllte Antworten – klicken Sie dazu bis zum Ende durch.

  2. Wechseln Sie in n8n zu Executions. Die Daten treffen nach wenigen Sekunden ein.

  3. Öffnen Sie die Ausführung und klicken Sie auf den Webhook-Knoten. Klappen Sie body, dann data und dann answers auf. Jede Antwort zeigt ihre question.id sowie label und answer.

  4. Notieren Sie jede Frage-ID, die Sie als Spalte benötigen. Mit Pin können Sie diese Antwort festhalten, ohne die Umfrage erneut auszufüllen.

Executions tab in n8n with successful runs
Webhook node output in n8n: body, data, answers

Wählen Sie Antworten immer nach Frage-ID. Antworten kommen als Liste. Wenn später bei Ihrer Umfrage eine Frage hinzugefügt wird, verschieben sich die Positionen – und sonst landen Antworten in der falschen Spalte. Frage-IDs ändern sich niemals.

Sie möchten die E-Mail-Adresse des Befragten auslesen? Nutzen Sie nicht data.email: Dieses Feld bleibt leer, wenn die E-Mail in einer Frage oder als URL-Parameter übergeben wurde. Lesen Sie sie stattdessen aus der Antwort zur E-Mail-Frage oder aus data.parameters aus.

Schritt 5 – Jede Antwort als Zeile übernehmen

Dazu werden zwei Knoten verwendet: Prepare row extrahiert die Antworten, Save response to sheet schreibt sie ins Sheet.

Zeile vorbereiten

  1. Fügen Sie nach dem Webhook-Knoten einen Edit Fields (Set)-Knoten hinzu und benennen Sie ihn Prepare row.

  2. Legen Sie unter Fields to Set für jede Spalte Ihres Sheets ein Feld vom Typ String an. Der Feldname muss exakt dem Spaltennamen entsprechen; der Wert ist jeweils folgender Ausdruck.

  3. Ersetzen Sie die Frage-IDs (90403153, ...) durch Ihre notierten IDs und Europe/Prague durch Ihre Zeitzone.

Feldname

Wert

Response ID

{{ $json.body.data.responseId }}

Submitted

{{ DateTime.fromISO($json.body.data.submitted).setZone('Europe/Prague').toFormat('yyyy-MM-dd HH:mm') }}

Rating (1-5)

{{ $json.body.data.answers.find(a => a.question.id === 90403153)?.answer ?? "" }}

Satisfaction

{{ $json.body.data.answers.find(a => a.question.id === 90403151)?.answer?.labels?.[0] ?? "" }}

Channel

{{ $json.body.data.answers.find(a => a.question.id === 90403154)?.answer?.labels?.[0] ?? "" }}

What could we do better

{{ $json.body.data.answers.find(a => a.question.id === 90403152)?.answer ?? "" }}

E-mail

{{ $json.body.data.answers.find(a => a.question.id === 90403187)?.answer || $json.body.data.parameters?.email || "" }}

Order ID

{{ $json.body.data.parameters?.['order-id'] ?? '' }}

Language

{{ $json.body.data.langCode }}

Source

{{ $json.body.data.source }}

Prepare row node in n8n with Fields to Set and their expressions


​

Antwort ins Sheet schreiben

  1. Fügen Sie nach Prepare row einen Google Sheets-Knoten hinzu, benennen Sie ihn Save response to sheet und wählen Sie die Operation Append or Update Row.

  2. Verbinden Sie Ihr Google-Konto, wählen Sie unter Dokument Ihr Sheet (aus der Liste oder per ID) und unter Sheet den Tab responses.

  3. Wählen Sie Mapping Column Mode auf Map Automatically und Column to match on als Response ID.

Google Sheets node: Append or Update Row, Map Automatically, Column to match on Response ID

Warum ein eigener Prepare row-Schritt? Wenn Sie in Google Sheets ein anderes Dokument oder Tab wählen, entfernt n8n die Spaltenzuordnung im Knoten. Mit den Ausdrücken in Prepare row bleibt alles erhalten: Der Google Sheets-Knoten stimmt nur die Feldnamen mit den Spalten ab.

Klicken Sie erneut auf Publish. Änderungen werden erst nach erneutem Veröffentlichen wirksam.

n8n workflow: Survio Webhook, Prepare row, Save response to sheet

Einige Hinweise zu den Ausdrücken:

  • Auswahlfragen werden als { ids, labels, value } geliefert. labels[0] ist der Text der gewählten Option. Bei Mehrfachauswahl nutzen Sie labels.join(', ') für eine kommagetrennte Liste. value enthält den eingegebenen Freitext bei „Andere“.

  • Zeitstempel sind in UTC. Der Ausdruck für Submitted wandelt ihn in Ihre Zeitzone. Google Sheets erkennt das als Datum/Zeit und ermöglicht Gruppierungen, Sortierung etc.

  • URL-Parameter mit Bindestrich, wie order-id, müssen mit parameters['order-id'] abgerufen werden. Survio erlaubt keine Unterstriche in Parameternamen.

  • Der Titel der Umfrage ist nicht in den Daten enthalten. Schreiben mehrere Umfragen in dasselbe Sheet, fügen Sie eine Spalte „Umfrage“ hinzu und erfassen Sie in Prepare row den Namen der Umfrage als Feld.

Übermitteln Sie eine weitere Antwort. Im Sheet erscheint innerhalb von Sekunden eine neue Zeile.

The responses tab in Google Sheets with one row per response


​

Fall A – Antworten als Diagramm abbilden

  1. Fügen Sie einen Tab mit dem Namen report hinzu.

  2. Tragen Sie Satisfaction in A1 und Responses in B1 ein. Listen Sie in A2 bis A6 genau die Antwortmöglichkeiten aus Ihrer Umfrage auf.

  3. Geben Sie in B2 =COUNTIF(responses!D:D,A2) ein und ziehen Sie die Formel bis B6 nach unten.

  4. Markieren Sie A1:B6 und wählen Sie Einfügen → Diagramm. Google schlägt ein Säulendiagramm vor. Den Titel ändern Sie unter Anpassen → Diagramm- & Achsentitel.

Mit jeder neuen Antwort erscheint eine neue Zeile unter responses; die Zähler und das Diagramm aktualisieren sich automatisch wie zu Beginn dieses Artikels.
​

Fall B – Gruppen mit Pivot-Tabelle vergleichen

  1. Wählen Sie auf dem Tab responses die Tabelle aus und klicken Sie auf Einfügen → Pivot-Tabelle, dann Neues Blatt.

  2. Unter Zeilen wählen Sie Satisfaction. Unter Werte fügen Sie Response ID hinzu und ändern von SUM auf COUNTA.

  3. Klicken Sie auf Daten → Slicer hinzufügen und wählen Sie die Spalte Channel. Wählen Sie die gewünschten Werte und bestätigen Sie mit OK. Das Ergebnis sieht wie die Pivot-Tabelle zu Beginn dieses Artikels aus.

Sie können nach jeder Spalte filtern: Channel (eigene Frage der Umfrage), Language (Sprache, in der der Befragte die Umfrage beantwortet hat), Source (wie die Antwort einging, z. B. Direktlink oder E-Mail-Einladung) oder Order ID.

Eine Slicer-Auswahl bleibt für den nächsten Besuch nicht gespeichert. Wird die Datei erneut geöffnet, zeigt der Slicer alle Werte. Um eine Auswahl zu speichern, legen Sie sie im Slicer-Menü als Standardwert fest.

Fertigen Workflow herunterladen

Sie müssen Schritt 2 und 5 nicht selbst bauen – starten Sie direkt mit unserem Workflow. Laden Sie survio-responses-to-google-sheets.json aus den Anhängen am Ende dieses Artikels herunter und gehen Sie so vor:

  1. Erstellen Sie in n8n einen leeren Workflow. Öffnen Sie das Menü (drei Punkte) neben dem Workflownamen und wählen Sie Importieren und dann Aus Datei. Wählen Sie die heruntergeladene Datei aus.

  2. Öffnen Sie Prepare row und ersetzen Sie dort die Frage-IDs und „Europe/Prague“ mit Ihren Werten.

  3. Öffnen Sie Save response to sheet. Es zeigt ein rotes Warnsymbol, bis Sie Ihr Google-Konto und das Sheet bzw. den Tab responses verbunden haben. n8n stellt Mapping Column Mode dann auf Manuell. Ändern Sie es zurück zu Map Automatically und legen Sie Response ID als Vergleichsspalte fest.

  4. Öffnen Sie Survio Webhook, kopieren Sie die Production URL nach Survio (Schritt 3) und klicken Sie auf Publish.

n8n workflow menu with Import and From file
Imported workflow: Survio Webhook, Prepare row, Save response to sheet

End-to-End-Test durchführen

  1. Übermitteln Sie eine Antwort per Umfragelink. Im Tab responses erscheint die neue Zeile innerhalb weniger Sekunden.

  2. Prüfen Sie, ob Response ID befüllt ist. So werden Duplikate verhindert.

  3. Schauen Sie im n8n-Tab Executions nach. Jede Übertragung erscheint mit den jeweiligen Daten.

Fehlerbehebung

Symptom

Ursache

Lösung

In n8n kommt nichts an

Test URL in Survio oder Workflow nicht veröffentlicht

Production URL in Survio eintragen und Workflow veröffentlichen

Survio akzeptiert die Webhook-URL von selbstgehostetem n8n nicht

n8n zeigt interne statt öffentlicher Adresse

Setzen Sie WEBHOOK_URL auf Ihre öffentliche https-Adresse und kopieren Sie die URL erneut

„Listen for test event” zeigt nichts nach dem Absenden der Umfrage

Survio sendet an die Production URL, Listener beobachtet Test URL

Nutzen Sie stattdessen den Tab Executions

Die letzte Änderung zeigt keine Wirkung

Workflow veröffentlicht, aber noch nicht erneut veröffentlicht (Publish-Button zeigt Punkt)

Klicken Sie nochmal auf Publish

Die gleiche Antwort erscheint zweimal

Operation nur „Append Row“ oder keine Vergleichsspalte definiert

Nutzen Sie „Append or Update Row“ und vergleichen Sie auf „Response ID“

Spalte bleibt leer, neue Spalte am Blattende erscheint

Feldname in Prepare row stimmt nicht mit der Spaltenüberschrift überein

Bennen Sie das Feld korrekt und löschen Sie die zusätzliche Spalte

In der Zelle steht [object Object]

Antwort ohne labels gemappt

Verwenden Sie ?.answer?.labels?.[0]

Spalten zeigen nach Umfrageänderung falsche Antworten

Zuordnung nach Listenposition statt nach question.id

Ordnen Sie über question.id zu

E-Mail-Spalte bleibt leer

Über data.email gemappt

Lesen Sie aus der Antwort zur E-Mail-Frage oder einem URL-Parameter aus

Alte Antworten fehlen

Webhooks senden nur Antworten nach deren Erstellung

Exportieren Sie ältere Antworten aus Survio und fügen Sie diese ein

Survio hat Webhook deaktiviert

Die Webhook-URL war 5 Tage lang fehlerhaft

Beheben Sie die Ursache und aktivieren Sie den Webhook in Survio wieder

Gut zu wissen

  • Survio sendet ausschließlich vollständig ausgefüllte Antworten, einzeln, direkt nach Versand.

  • Es findet keine rückwirkende Übertragung statt: Antworten, die vor Webhook-Einrichtung oder während einer Pause eingingen, werden nicht erneut übertragen.

  • Fehlgeschlagene Sendungen werden bis zu 8-mal innerhalb von ca. 27 Stunden wiederholt, pro Versuch 30 Sekunden Wartezeit. Durch den Abgleich auf Response ID sind Wiederholungen unproblematisch.

  • Schlägt die Zustellung 5 Tage in Folge fehl, deaktiviert Survio den Webhook und Sie müssen ihn neu aktivieren.

  • Das Pausieren eines Webhooks reserviert den Slot, das Löschen entfernt die Einrichtung dauerhaft.

  • Survio führt kein Versandprotokoll. Nutzen Sie den Executions-Tab in n8n für das Log.

  • Das Senden von Antworten an Webhooks verbraucht keine zusätzlichen Antworten Ihres Tarifs.

Möchten Sie, dass wir die Einrichtung für Sie übernehmen? Klicken Sie in Survio auf der Webhooks-Seite auf Experten-Einrichtung anfordern, schildern Sie Ihr Anliegen und unser Team erstellt, testet und übergibt Ihnen den fertigen Webhook.

Hat dies deine Frage beantwortet?