Mετάβαση στο κύριο περιεχόμενο

Αναλυτικά στοιχεία – Αυτόματη ενημέρωση αναφορών: στείλτε κάθε απάντηση της Survio στα Google Sheets

Στείλτε άμεσα κάθε ολοκληρωμένη απάντηση της Survio σε ένα Google Sheet και δημιουργήστε ένα δυναμικό διάγραμμα ή έναν συγκεντρωτικό πίνακα απευθείας πάνω σε αυτά τα στοιχεία.

Συντάχθηκε από: Success Team Survio

Ποια περίπτωση είναι κατάλληλη για εσάς;

Περίπτωση Α – απλή, για όλους: ένα διάγραμμα των απαντήσεών σας που ενημερώνεται με κάθε νέα απάντηση.

Περίπτωση Β – για ομάδες που συγκρίνουν ομάδες: ένας συγκεντρωτικός πίνακας που μπορείτε να φιλτράρετε ανά κανάλι, γλώσσα ή άλλες στήλες.

Κάθε απάντηση που συλλέγει η έρευνά σας καταγράφεται ως νέα γραμμή σε ένα Google Sheet τη στιγμή που υποβάλλεται. Δημιουργήστε ένα διάγραμμα ή έναν συγκεντρωτικό πίνακα πάνω του μία φορά και η αναφορά σας θα παραμένει πάντα ενημερωμένη: χωρίς εξαγωγές, χωρίς αντιγραφές, χωρίς να περιμένετε κάποιος να ετοιμάσει τα νούμερα.
​

Αυτή είναι η αναφορά που λαμβάνετε στην Περίπτωση Α, ένα διάγραμμα που ενημερώνεται με κάθε νέα απάντηση:
​

The report tab with response counts and a column chart


​

Και αυτός είναι ο συγκεντρωτικός πίνακας στην Περίπτωση Β, φιλτραρισμένος ανά κανάλι μέσω slicer:
​

Pivot table with a slicer on the Channel column

Πώς λειτουργεί. Η Survio στέλνει κάθε ολοκληρωμένη απάντηση σε ένα webhook URL. Ένα εργαλείο αυτοματοποίησης (εδώ χρησιμοποιούμε το n8n) τη λαμβάνει και γράφει μια γραμμή στο φύλλο σας. Η Survio κάνει την αποστολή, το n8n καταχωρεί και το φύλλο δημιουργεί τις αναφορές.

Νέοι στα webhooks της Survio; Ξεκινήστε με τον οδηγό Webhooks: στείλτε απαντήσεις στα άλλα εργαλεία σας σε πραγματικό χρόνο και επιστρέψτε εδώ.
​

Τι θα δημιουργήσετε

Και οι δύο αναφορές τροφοδοτούνται από το ίδιο setup: κάθε ολοκληρωμένη απάντηση γίνεται μια γραμμή σε καρτέλα με όνομα responses.

Με μια ματιά

Περίπτωση Α: ένα διάγραμμα

Περίπτωση Β: αναφορά κατά τμήμα

Αποτέλεσμα

Ένα διάγραμμα με την κατανομή των απαντήσεων, που ενημερώνεται με κάθε νέα απάντηση

Ένας συγκεντρωτικός πίνακας που μπορείτε να φιλτράρετε ανά κανάλι, γλώσσα ή άλλες στήλες

Εργαλεία

Survio, n8n, Google Sheets

Survio, n8n, Google Sheets (συγκεντρωτικός πίνακας και slicer)

Κατάλληλο για

Μικρή επιχείρηση που επιθυμεί ένα απλό διάγραμμα, πάντα ενημερωμένο

Ομάδα που συγκρίνει ομάδες, π.χ. online και πελάτες καταστημάτων

Πριν ξεκινήσετε

  • Μια έρευνα της Survio σε ενεργό πρόγραμμα. Τα webhooks δεν διατίθενται στο πρόγραμμα Free και κάθε πρόγραμμα περιλαμβάνει συγκεκριμένο αριθμό webhooks ανά έρευνα (βλ. άρθρο για τα webhooks).

  • Ένας λογαριασμός n8n, n8n Cloud ή self-hosted.

  • Ένας λογαριασμός Google για τα Google Sheets.

Σε αυτόν τον οδηγό χρησιμοποιούμε μια σύντομη έρευνα ικανοποίησης πελατών: βαθμολογία με αστέρια, μια ερώτηση μοναδικής επιλογής για την συνολική ικανοποίηση, μια ερώτηση για το κανάλι αγορών, ανοιχτό σχόλιο και μια προαιρετική ερώτηση e-mail. Η έρευνά σας μπορεί να διαφέρει – θα κάνετε εσείς τη χαρτογράφηση στο Βήμα 5.
​

Βήμα 1 — Προετοιμάστε το φύλλο

  1. Δημιουργήστε ένα νέο Google Sheet και μετονομάστε την πρώτη καρτέλα σε responses.

  2. Στην πρώτη σειρά, πληκτρολογήστε τα ονόματα των στηλών. Εμείς χρησιμοποιούμε Response ID, Submitted, Rating (1-5), Satisfaction, Channel, What could we do better, E-mail, Order ID, Language και Source.

Κρατήστε το Response ID ως πρώτη στήλη. Είναι το μοναδικό αναγνωριστικό της Survio για κάθε απάντηση. Το n8n το χρησιμοποιεί για να ενημερώνει υφιστάμενη γραμμή αντί να προσθέτει διπλότυπο σε επαναποστολή.

Βήμα 2 — Δημιουργήστε το webhook στο n8n

  1. Στο n8n, δημιουργήστε μια νέα ροή και προσθέστε ένα node Webhook ως trigger.

  2. Ορίστε το HTTP Method σε POST.

  3. Μεταβείτε στην καρτέλα Production URL και αντιγράψτε το url.

  4. Πατήστε Publish. Το production URL δέχεται πακέτα μόνο όταν η ροή δημοσιευτεί.

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

Χρησιμοποιήστε το Production URL, όχι το Test URL. Το Test URL ακούει μόνο όσο ο editor περιμένει δοκιμαστικό event – έτσι οι αποστολές της Survio αποτυγχάνουν μόλις το κλείσετε. Η Survio επαναλαμβάνει την προσπάθεια αποστολής για περίπου μια ημέρα και μετά από 5 ημέρες αποτυχιών απενεργοποιεί το webhook.

Βήμα 3 — Συνδέστε την έρευνα στη Survio

  1. Ανοίξτε την έρευνά σας και μεταβείτε στο Λάβετε απαντήσεις.

  2. Στην αριστερή πλευρά, στο Αυτοματισμοί & Ενσωματώσεις, επιλέξτε Webhooks και πατήστε + Προσθήκη webhook.

  3. Επικολλήστε το Production URL του n8n στο Webhook URL και πατήστε Αποθήκευση webhook. Το webhook ενεργοποιείται αμέσως.

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


​

Βήμα 4 — Υποβάλετε δοκιμαστική απάντηση και βρείτε τα ids των ερωτήσεων

  1. Ανοίξτε την έρευνα μέσω κανονικού συνδέσμου και υποβάλετε μία πλήρη απάντηση. Η Survio αποστέλλει μόνο ολοκληρωμένες απαντήσεις, οπότε προχωρήστε ως το τέλος.

  2. Στο n8n, ανοίξτε την καρτέλα Executions. Η παράδοση θα εμφανιστεί μέσα σε λίγα δευτερόλεπτα.

  3. Ανοίξτε την εκτέλεση και κάντε κλικ στο node Webhook. Αναπτύξτε το body, μετά το data, και στη συνέχεια το answers. Κάθε απάντηση εμφανίζει το question.id, το label της ερώτησης και την answer.

  4. Καταγράψτε το id κάθε ερώτησης που θέλετε ως στήλη. Μπορείτε επίσης να πατήσετε Pin ώστε να συνεχίσετε να χτίζετε χωρίς να ξαναυποβάλετε την έρευνα.

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

Πάντα να επιλέγετε απαντήσεις με το id της ερώτησης. Οι απαντήσεις έρχονται σε λίστα. Αν αργότερα προσθέσετε ερώτηση στην έρευνα, οι θέσεις αλλάζουν και οι στήλες σας θα γεμίζουν σιωπηλά με λάθος απαντήσεις. Τα ids των ερωτήσεων δεν αλλάζουν ποτέ.

Ψάχνετε το email του ερωτώμενου; Μην χρησιμοποιείτε το data.email: παραμένει κενό όταν το email προέρχεται από ερώτηση email ή παραμέτρους URL. Διαβάστε το από την απάντηση της ερώτησης email ή από το data.parameters.

Βήμα 5 — Μετατρέψτε κάθε απάντηση σε γραμμή

Αυτό απαιτεί δύο nodes: το Prepare row διαλέγει τις απαντήσεις από το response και το Save response to sheet τις καταγράφει στο φύλλο σας.

Prepare row

  1. Προσθέστε ένα node Edit Fields (Set) μετά το Webhook node και μετονομάστε το Prepare row.

  2. Στο Fields to Set προσθέστε ένα πεδίο για κάθε στήλη του φύλλου σας και αφήστε τον τύπο του ως String. Το όνομα του πεδίου πρέπει να ταιριάζει ακριβώς με το όνομα της στήλης· η τιμή είναι η παρακάτω έκφραση.

  3. Αντικαταστήστε τα ids των ερωτήσεων (90403153 κλπ) με τα δικά σας και το Europe/Prague με τη ζώνη ώρας σας.

Όνομα πεδίου

Τιμή

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


​

Save response to sheet

  1. Προσθέστε node Google Sheets μετά το Prepare row, μετονομάστε το σε Save response to sheet και επιλέξτε τη λειτουργία Append or Update Row.

  2. Συνδέστε τον λογαριασμό σας Google, επιλέξτε το αρχείο στο Document (από τη λίστα ή επικολλώντας το ID) και στη συνέχεια την καρτέλα responses στο Sheet.

  3. Ορίστε το Mapping Column Mode σε Map Automatically και το Column to match on σε Response ID.

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

Γιατί ξεχωριστό Prepare row; Όταν διαλέξετε διαφορετικό αρχείο ή καρτέλα στο Google Sheets node, το mapping των πεδίων χάνεται. Με τις εκφράσεις στο Prepare row, δεν χάνεται τίποτα: το node του Google Sheets κάνει μόνο αντιστοίχιση πεδίων και τίτλων στηλών.

Πατήστε ξανά Publish. Οι αλλαγές ενεργοποιούνται μόνο όταν πατήσετε ξανά δημοσίευση.

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

Μερικές λεπτομέρειες για τις εκφράσεις:

  • Ερωτήσεις επιλογής έρχονται ως { ids, labels, value }. Το labels[0] είναι το κείμενο της επιλεγμένης επιλογής. Για ερωτήσεις πολλαπλών επιλογών, χρησιμοποιήστε labels.join(', ') για όλες σε ένα κελί. Το value κρατά το κείμενο της επιλογής «Άλλο».

  • Ώρες σε UTC. Η έκφραση Submitted τις μετατρέπει στη ζώνη σας και το Google Sheets το αναγνωρίζει ως ημ/νία και ώρα.

  • Παράμετροι URL με παύλα στο όνομα (όπως order-id) χρειάζονται την bracket μορφή parameters['order-id']. Η Survio δεν επιτρέπει underscores.

  • Ο τίτλος της έρευνας δεν αποστέλλεται από τη Survio. Αν πολλές έρευνες καταγράφονται στο ίδιο φύλλο, προσθέστε στήλη Έρευνα (Survey) και αντίστοιχη τιμή στο Prepare row.

Υποβάλετε μια ακόμη απάντηση. Νέα γραμμή θα εμφανιστεί στο φύλλο μέσα σε δευτερόλεπτα.

The responses tab in Google Sheets with one row per response


​

Περίπτωση Α — Διάγραμμα απαντήσεων

  1. Προσθέστε καρτέλα με όνομα report.

  2. Πληκτρολογήστε Satisfaction στο A1 και Responses στο B1. Στα A2–A6 περάστε τις επιλογές απάντησης ακριβώς όπως εμφανίζονται στην έρευνα σας.

  3. Στο B2, εισάγετε =COUNTIF(responses!D:D,A2) και αντιγράψτε το έως το B6.

  4. Επιλέξτε A1:B6 και κάντε Εισαγωγή → Διάγραμμα. Το Google Sheets θα προτείνει διάγραμμα στηλών. Για αλλαγή τίτλου, πηγαίνετε στο Προσαρμογή → Τίτλοι διαγράμματος και αξόνων.

Κάθε νέα απάντηση προσθέτει γραμμή στο responses και τα counts και το διάγραμμα ενημερώνονται αυτόματα, όπως το διάγραμμα στην αρχή του άρθρου.
​

Περίπτωση Β — Σύγκριση ομάδων με συγκεντρωτικό πίνακα

  1. Στην καρτέλα responses, επιλέξτε τον πίνακα και κάντε Εισαγωγή → Συγκεντρωτικός πίνακας, μετά Νέο φύλλο.

  2. Στις Γραμμές προσθέστε το Satisfaction. Στις Τιμές προσθέστε το Response ID και αλλάξτε το Σύνοψη κατά από SUM σε COUNTA.

  3. Επιλέξτε Δεδομένα → Προσθήκη slicer και διαλέξτε τη στήλη Channel. Επιλέξτε τις τιμές που θέλετε και επιβεβαιώστε με OK. Το αποτέλεσμα μοιάζει με το συγκεντρωτικό πίνακα στην αρχή του άρθρου.

Μπορείτε να φιλτράρετε με οποιαδήποτε στήλη: Channel (δικιά σας ερώτηση), Language (η γλώσσα έκδοσης της έρευνας στην οποία απάντησε ο ερωτώμενος), Source (πως ήρθε η απάντηση, π.χ. απευθείας σύνδεσμος ή μέσω email πρόσκλησης) ή Order ID.

Η επιλογή slicer δεν διατηρείται για την επόμενη χρήση. Μόλις ανοίξετε ξανά το αρχείο, το slicer εμφανίζει όλες τις τιμές. Για να διατηρήσετε επιλογή, ορίστε ως προεπιλογή μέσω του μενού του slicer.

Λάβετε την έτοιμη ροή εργασίας

Αντί να χτίσετε τα Βήματα 2 και 5 χειροκίνητα, ξεκινήστε από τη ροή εργασίας μας. Κατεβάστε το αρχείο survio-responses-to-google-sheets.json από τα συνημμένα στο τέλος του άρθρου και στη συνέχεια:

  1. Στο n8n, δημιουργήστε μια κενή ροή εργασίας. Ανοίξτε το μενού (τρεις τελείες) δίπλα στο όνομα της ροής και επιλέξτε Εισαγωγή, μετά Από αρχείο. Επιλέξτε το αρχείο που κατεβάσατε.

  2. Ανοίξτε το Prepare row και αντικαταστήστε τα ids των ερωτήσεων με τα δικά σας και το Europe/Prague με τη ζώνη ώρας σας.

  3. Ανοίξτε το Save response to sheet. Θα εμφανίζει κόκκινο σήμα ειδοποίησης μέχρι να γίνει ρύθμιση. Συνδέστε τον Google λογαριασμό σας και επιλέξτε το φύλλο και την καρτέλα responses. Το n8n τότε αλλάζει το Mapping Column Mode σε Map Each Column Manually: ορίστε το ξανά σε Map Automatically και Column to match on σε Response ID.

  4. Ανοίξτε το Survio Webhook, αντιγράψτε το Production URL στη Survio (Βήμα 3) και πατήστε Publish.

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

Δοκιμάστε τη διαδικασία end to end

  1. Υποβάλετε μια απάντηση μέσω του συνδέσμου της έρευνας. Μια νέα γραμμή θα εμφανιστεί στην καρτέλα responses μέσα σε δευτερόλεπτα.

  2. Ελέγξτε ότι το Response ID έχει συμπληρωθεί. Αυτό αποτρέπει τα διπλότυπα.

  3. Δείτε τις Executions στο n8n. Κάθε παράδοση και τα δεδομένα της υπάρχουν εκεί.

Αντιμετώπιση προβλημάτων

Σύμπτωμα

Αιτία

Λύση

Δεν φτάνει τίποτα στο n8n

Έχετε το Test URL στη Survio ή δεν έχει δημοσιευτεί η ροή

Αντιγράψτε το Production URL στη Survio και πατήστε Publish

Η Survio δεν δέχεται το URL από self-hosted n8n

Το n8n εμφανίζει εσωτερική και όχι δημόσια διεύθυνση

Ορίστε την WEBHOOK_URL του n8n στη δημόσια σας διεύθυνση https και αντιγράψτε ξανά τη διεύθυνση

Το "Listen for test event" δεν εμφανίζει τίποτα αν υποβάλλετε έρευνα

Η Survio στέλνει στο Production URL· η λειτουργία listening αφορά το Test URL

Ελέγξτε αντ’ αυτού τις Εκτελέσεις (Executions)

Η τελευταία αλλαγή δεν έχει αποτέλεσμα

Η ροή είναι δημοσιευμένη, αλλά η αλλαγή δεν έχει δημοσιευτεί (κουμπί Publish με τελεία)

Πατήστε ξανά Publish

Ίδια απάντηση εμφανίζεται δύο φορές

Η λειτουργία είναι Append Row ή δεν έχει οριστεί η στήλη για αντιστοίχιση

Χρησιμοποιήστε Append ή Update Row και ορίστε matcher το Response ID

Κενή στήλη και νέα στήλη εμφανίζεται στο τέλος

Το όνομα πεδίου στο Prepare row δεν αντιστοιχεί ακριβώς στον τίτλο της στήλης

Μετονομάστε το πεδίο ώστε να ταυτίζεται, μετά διαγράψτε τη νέα στήλη

Κελί εμφανίζει [object Object]

Έγινε mapping απάντησης χωρίς χρήση labels

Χρησιμοποιήστε ?.answer?.labels?.[0]

Οι στήλες γεμίζουν λάθος απαντήσεις μετά από αλλαγές στην έρευνα

Οι απαντήσεις επιλέγονται με βάση τη θέση στη λίστα

Επιλέγετε με question.id

Η στήλη E-mail παραμένει κενή

Χαρτογραφήθηκε από data.email

Διαβάστε το email από την απάντηση της ερώτησης email ή από URL parameter

Απαντήσεις πριν τη ρύθμιση λείπουν

Τα webhooks στέλνουν μόνο απαντήσεις που υποβλήθηκαν αφού δημιουργήθηκε το webhook

Εξάγετε παλαιότερες απαντήσεις από τη Survio και επικολλήστε

Η Survio απενεργοποίησε το webhook

Το URL του webhook απέτυχε επί 5 ημέρες συνεχόμενα

Διορθώστε την αιτία και ενεργοποιήστε το webhook ξανά στη Survio

Χρήσιμα να γνωρίζετε

  • Η Survio στέλνει μόνο ολοκληρωμένες απαντήσεις, ένα μήνυμα ανά απάντηση, μέσα σε δευτερόλεπτα.

  • Δεν στέλνονται αναδρομικά απαντήσεις: όχι όσες υποβλήθηκαν πριν δημιουργηθεί το webhook, ούτε όσες δημιουργήθηκαν σε pause του webhook.

  • Αποτυχημένες παραδόσεις επιχειρούν ξανά μέχρι 8 φορές σε περίπου 27 ώρες. Κάθε προσπάθεια περιμένει έως 30 δευτερόλεπτα για απάντηση. Η αντιστοίχιση με Response ID κάνει τις επαναλήψεις ασφαλείς.

  • Αν αποτύχουν οι παραδόσεις για 5 ημέρες συνεχόμενα, η Survio απενεργοποιεί το webhook και πρέπει να το ενεργοποιήσετε ξανά.

  • Παύση webhook διατηρεί τη θέση του· διαγραφή είναι οριστική.

  • Η Survio δεν κρατά ιστορικό αποστολής. Η καρτέλα Executions στο n8n είναι το log σας.

  • Η αποστολή απαντήσεων μέσω webhooks δεν μετράται ως επιπλέον απάντηση του προγράμματός σας.

Θέλετε έτοιμη υλοποίηση από εμάς; Στη σελίδα Webhooks της Survio, πατήστε Λάβετε ρύθμιση από ειδικό, ενημερώστε μας τι χρειάζεστε και η ομάδα μας θα το υλοποιήσει, το δοκιμάσει και θα σας παραδώσει λειτουργικό webhook.

Απαντήθηκε η ερώτησή σας;