Ugrás a fő tartalomra

Analitika – jelentések automatikusan frissülnek: minden Survio válasz Google Sheets-be kerül

Minden kitöltött Survio választ automatikusan rögzít egy Google Sheetben, majd ezekből készítsen valós idejű diagramot vagy kimutatástáblát. Lépésenkénti útmutató n8n-nel és letölthető, előre elkészített munkafolyamattal.

Írta: Success Team Survio

Melyik eset jellemző Önre?

A eset – egyszerű, mindenkinek: egy diagram válaszairól, amely minden új válasznál frissül.

B eset – csoportokat összehasonlító csapatoknak: egy kimutatástábla, amely szűrhető csatorna, nyelv vagy bármely más oszlop szerint.

Minden válasz, amelyet kérdőíve begyűjt, új sorban jelenik meg a Google Sheetben, amint beküldésre kerül. Készítsen rá egy diagramot vagy kimutatástáblát, és jelentése saját maga frissül: nincs exportálás, másolás vagy várakozás arra, hogy valaki elkészítse a számokat.
​

Ez az a jelentés, amelyet az A esetben kap: egy diagram, amely minden új válasszal frissül:
​

The report tab with response counts and a column chart


​

És ez a kimutatástábla B esetben, szeletelővel csatorna szerint szűrve:
​

Pivot table with a slicer on the Channel column

Így működik. A Survio minden kitöltött választ elküld egy webhook URL-re. Egy automatizációs eszköz (ebben az útmutatóban n8n) fogadja ezt, és egy sort ír a sheetbe. A Survio végzi a küldést, az n8n az írást, a sheet pedig a riportolást.

Új a webhooks funkció Survióban? Kezdje a Webhooks: válaszok elküldése más eszközökbe valós időben cikkel, majd térjen vissza ide.
​

Mit fog elkészíteni

Mindkét jelentés ugyanabból a beállításból frissül: minden kitöltött válasz egy sor lesz a responses nevű lapon.

Áttekintés

A eset: diagram

B eset: szegmens szerinti jelentés

Eredmény

Egy diagram, amely az eredmények eloszlását mutatja és minden új válasszal frissül

Egy kimutatástábla, amely szűrhető csatorna, nyelv vagy más oszlop szerint

Eszközök

Survio, n8n, Google Sheets

Survio, n8n, Google Sheets (kimutatástábla és szeletelő)

Leginkább ajánlott

Olyan kisvállalkozásoknak, amelyek egy egyszerű, mindig frissülő diagramot szeretnének

Csoportokat összehasonlító csapatoknak, például online és bolti vásárlók

Mielőtt elkezdené

  • Survio kérdőív előfizetéses csomagban. A webhookok a Free csomagban nem érhetőek el, minden csomag egy adott számú webhookot engedélyez kérdőívenként (részletek: a webhookokról szóló cikk).

  • n8n fiók, n8n Cloud vagy saját üzemeltetés.

  • Google fiók Google Sheets használatához.

Az útmutatóban egy rövid ügyfélelégedettségi kérdőív szerepel: csillagos értékelés, egy „Összességében mennyire elégedett?” választós kérdés, egy „Hogyan vásárolt nálunk?” választós kérdés, egy szöveges megjegyzés és egy opcionális e-mail kérdés. Kérdőíve szerkezete eltérhet, az 5. lépésben saját kérdéseit párosíthatja.
​

1. lépés – a sheet előkészítése

  1. Hozzon létre új Google Sheetet, első lapját nevezze el responses-nek.

  2. Az első sorba írja az oszlopfejléceket: Response ID, Submitted, Rating (1-5), Satisfaction, Channel, What could we do better, E-mail, Order ID, Language, Source.

A Response ID legyen az első oszlop. Ez a Survio minden válaszhoz tartozó egyedi azonosítója. Az n8n ezt használja a sorok frissítésére, hogy ismételt kézbesítésnél ne legyen duplikátum.

2. lépés – webhook létrehozása n8n-ben

  1. n8n-ben indítson új munkafolyamatot, és adjon hozzá egy Webhook csomópontot (trigger).

  2. Az HTTP Method legyen POST.

  3. Lépjen a Production URL fülre és másolja a címet.

  4. Kattintson a Publish gombra. A production URL csak akkor fogad adatot, ha a munkafolyamatot publikálta.

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

A Production URL-t használja, ne a Test URL-t. A Test URL csak akkor él, amíg a szerkesztő vár teszteseményre, így a Survio kézbesítései elbuknak, ahogy bezárja az ablakot. A Survio nagyjából egy napig újrapróbálja a sikertelen kézbesítést, öt nap után lekapcsolja a webhookot.

3. lépés – kérdőív kapcsolása Survióban

  1. Nyissa meg kérdőívét, és lépjen a Válaszok begyűjtése menüpontra.

  2. A bal oldalsávban, az Automatizálások & Integrációk alatt válassza a Webhooks menüpontot, majd kattintson a + Webhook hozzáadása lehetőségre.

  3. Illessze be az n8n Production URL-t a Webhook URL mezőbe, majd kattintson a Webhook mentése gombra. A webhook azonnal aktiválódik.

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


​

4. lépés – tesztválasz beküldése és kérdésazonosítók azonosítása

  1. Nyissa meg a kérdőívet a szokásos linken és küldje be egy kitöltött választ. A Survio csak a teljesen kitöltött válaszokat küldi, ezért kattintson végig a folyamaton.

  2. n8n-ben nyissa meg az Executions fület. A kézbesítés néhány másodpercen belül megérkezik.

  3. Nyissa meg az eseményt, majd kattintson a Webhook csomópontra. Bontsa ki a body, majd data, végül answers mezőt. Mindegyik válasznál megtalálja a question.id-t, a kérdés label-jét és a választ.

  4. Írja fel azoknak a kérdéseknek az azonosítóját, amit önálló oszlopként szeretne, vagy kattintson a Pin-re, hogy tovább dolgozhasson ezen az adaton.

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

Mindig kérdésazonosító alapján válassza ki a válaszokat. A válaszok listaként érkeznek, ezért ha új kérdést ad hozzá, a pozíciók eltérhetnek – ezzel téves adatok kerülhetnek a táblázatba. A kérdésazonosítók azonban sosem változnak.

A válaszadó e-mail címét keresi? Ne használja a data.email-t: ez üres marad, amikor az e-mail kérdésből vagy URL-paraméterből érkezik. Olvassa ki a választ az e-mail kérdésből vagy a data.parameters mezőből.

5. lépés – minden választ sorba helyezni

Ehhez két csomópont szükséges: a Sor előkészítése kiválogatja a válaszokat, a Válasz mentése táblázatba pedig feltölti őket a sheetbe.

Sor előkészítése

  1. Adjon hozzá egy Mezők szerkesztése (Set) csomóleírást a Webhook után és nevezze el Prepare row-nak.

  2. A Beállítandó mezők alatt adjon hozzá egyet-egyet minden oszlophoz, típusa maradjon String. A mezőnév pontosan egyezzen az oszlopfejléccel; értéke az alábbi kifejezés legyen.

  3. Cserélje le a kérdésazonosítókat (például 90403153) a sajátjaira, az időzónát pedig a sajátjára a 4. lépésben leírtak szerint.

Mező neve

Érték

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


​

Válasz mentése táblázatba

  1. Adjon hozzá egy Google Sheets csomópontot a Sor előkészítése után, nevezze el Save response to sheet-nek, válassza az Append or Update Row műveletet.

  2. Csatlakoztassa Google fiókját, válassza ki a táblázatot Document alatt (listából, vagy ID-t beírva a By ID) majd a responses lapot a Sheet mezőben.

  3. A Mapping Column Mode legyen Map Automatically, és Column to match on-hoz válassza a Response ID-t.

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

Miért külön Sor előkészítése lépés? Ha másik táblázatot vagy lapot választ ki a Google Sheets csomópontban, az n8n törli a mappingot. Ha a Sor előkészítése mezőben vannak a beállítások, semmi nem vész el: a Google Sheets csomópont csak a mezőneveket párosítja a fejléc oszlopokhoz.

Ismét kattintson a Publish-ra. A változások csak újrapublikálás után élnek.

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

Néhány megjegyzés ezekhez a kifejezésekhez:

  • Választós kérdések így néznek ki: { ids, labels, value }. A labels[0] a kiválasztott opció szövege. Több választás lehetséges kérdésnél használja a labels.join(', ') formulát, hogy az összes kiválasztott válasz egy cellába kerüljön. A value a „más” opciót tartalmazza.

  • Az időpontok UTC-ben érkeznek. A Submitted kifejezés átállítja saját időzónára, a Google Sheets pedig időpontként tudja kezelni, szűrni és rendezni.

  • Az URL-paraméterek kötőjelet tartalmaznak (pl. order-id), így parameters['order-id'] formát kell használni. Survio nem támogatja az aláhúzást a névben.

  • A Survey címe nincs benne az adatokban. Ha több kérdőív ír ugyanabba a sheetbe, adjon egy Survey nevű oszlopot a sheethez, illetve egy Survey mezőt is a Sor előkészítése lépésben.

Küldjön be újabb választ – a sor másodperceken belül megjelenik a sheetben.

The responses tab in Google Sheets with one row per response


​

A eset — diagram a válaszokból

  1. Vegyen fel egy report nevű lapot.

  2. Írja az A1 cellába: Satisfaction, B1 cellába: Responses. A2–A6 cellákba írja be a válaszopciókat pontosan úgy, ahogy a kérdőívben szerepelnek.

  3. B2 cellába írja: =COUNTIF(responses!D:D,A2), és másolja le B6-ig.

  4. Jelölje ki az A1:B6 tartományt és válassza a Beszúrás → Diagram lehetőséget. A Google Sheets oszlopdiagramot javasol. A cím módosításához menjen a Testreszabás → Diagram- és tengelycímek menüpontra.

Minden új válasz új sort jelent a responses lapon, a számlálás és a diagram is magától frissül, pont mint a cikk elején.
​

B eset — csoportok összehasonlítása kimutatástáblával

  1. A responses lapon jelölje ki az egész táblázatot és válassza a Beszúrás → Kimutatástábla, majd az Új lap opciót.

  2. A Sorok alatt adja hozzá a Satisfaction oszlopot. Az Értékek alatt adjon hozzá Response ID-t és Összegzés-nél állítson COUNT-ra.

  3. Válassza az Adatok → Szeletelő hozzáadása menüpontban a Channel oszlopot. Válassza ki a kívánt értékeket, erősítse meg OK-val. Az eredmény olyan lesz, mint a cikk tetején látható kimutatástábla.

Szűrhet bármelyik oszlop szerint: Channel (saját kérdés), Language (a kitöltés nyelve), Source (hogyan érkezett a válasz, pl. közvetlen link vagy e-mail meghívó), vagy Order ID.

A szeletelő kiválasztása a következő megnyitáskor nem marad meg. A fájl újbóli megnyitásakor a szeletelő alapértelmezés szerint minden értéket mutat. Saját szűrését a szeletelő menüjében tudja alapértelmezettként elmenteni.

Előre elkészített munkafolyamat letöltése

A 2. és 5. lépést nem szükséges kézzel átlépni – válassza az általunk készített munkafolyamatot. Töltse le a survio-responses-to-google-sheets.json fájlt a cikk végéről, majd:

  1. Hozzon létre üres munkafolyamatot n8n-ben, nyissa meg a menüt (három pont), válassza az Import menüpontot, majd From file. Tallózza be a letöltött fájlt.

  2. Nyissa meg a Sor előkészítése-t, cserélje a kérdésazonosítókat és a zónát a sajátjára.

  3. Nyissa meg a Válasz mentése táblázatba csomópontot. Amíg nincs beállítva, piros Figyelmeztető jelzés jelenik meg. Csatlakoztassa Google fiókját, válassza ki a kívánt táblázatot és a responses lapot. Az n8n ilyenkor a Mapping Column Mode-ot „Map Each Column Manually”-ra állíthatja: állítsa vissza Map Automatically-ra, illessze Column to match on-hoz a Response ID-t.

  4. Nyissa meg a Survio Webhook csomópontot, másolja a Production URL-t Survióba (3. lépés), és kattintson a Publish-ra.

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

Próbálja ki végig – teljes folyamat

  1. Küldjön be választ a kérdőív linkjén keresztül. A responses lapon pár másodpercen belül megjelenik az új sor.

  2. Ellenőrizze, hogy a Response ID kitöltésre került – ez akadályozza meg a duplikációkat.

  3. Nézze meg n8n-ben az Executions fület. Minden kézbesítés és adata itt jelenik meg.

Hibaelhárítás

Tünet

Ok

Megoldás

Semmi nem érkezik n8n-be

A Test URL van megadva Survióban, vagy a munkafolyamat nincs publikálva

Másolja át a Production URL-t Survióba, majd kattintson a Publish gombra

A Survio nem menti el a self-hosted n8n webhook URL-t

Az n8n belső címet mutat nyilvános helyett

Állítsa be az n8n WEBHOOK_URL beállítását a nyilvános https címre, majd másolja újra a címét

A "Listen for test event" nem mutat semmit, bár a kérdőív ki lett töltve

A Survio a Production URL-re küld; a figyelő a Test URL-t nézi

Ehelyett nézze meg az Executions fület

A legutóbbi változás nem látszik

A munkafolyamat publikálva van, de a Publish gomb pöttyöt mutat (változás nincs jóváhagyva)

Kattintson ismét a Publish gombra

Ugyanaz a válasz kétszer jelenik meg

Az Append Row beállítás van megadva, vagy nincs megadva illesztési oszlop

Váltson Append or Update Row-ra és párosítson Response ID alapján

Üres oszlop és új oszlop a sheet végén

A Sor előkészítése mező neve eltér a fejléc oszloptól

Nevezze át a mezőt, törölje a felesleges oszlopot

Egy cellában [object Object] szerepel

A választós válasz labels nélkül lett párosítva

Használja a ?.answer?.labels?.[0] szerkezetet

Szerkesztés után hibásan töltődnek fel az adatok

A válaszokat pozíció alapján párosította, nem question.id szerint

Párosítson question.id alapján

Az E-mail oszlop üresen marad

A data.email mezőt használta párosításhoz

Olvassa ki az e-mailt a kérdés válaszából vagy paraméterből

A korábbi válaszok hiányoznak

A webhook csak a létrehozása utáni válaszokat küldi

Exportálja a régi válaszokat Survióból, majd másolja be kézzel

A Survio kikapcsolta a webhookot

A webhook URL 5 napig folyamatosan hibás volt

Javítsa ki az okot, majd kapcsolja vissza a webhookot Survióban

Fontos tudnivalók

  • A Survio csak kitöltött válaszokat küld, minden esetben külön üzenetben, néhány másodpercen belül.

  • Nincs visszamenőleges adattovábbítás: a webhook létezése előtt vagy kikapcsolt idő alatt érkezett válaszokat nem továbbítja a rendszer.

  • Sikertelen kézbesítés esetén a rendszer akár 8-szor próbálkozik 27 óra alatt, minden alkalommal max. 30 másodperc várakozással. A Response ID szerinti párosítás veszélytelen az ismételt átküldéseknél.

  • Ha öt napig hibás a kézbesítés, a Survio automatikusan kikapcsolja a webhookot; ezt manuálisan kell újra bekapcsolni.

  • A webhook szüneteltetése megőrzi a beállításokat, törlésnél viszont minden végleg törlődik.

  • A Survióban nincs kézbesítési előzmény. Az n8n Executions fül a napló.

  • A webhookkal történő válaszátvitel nem csökkenti a csomagban foglalt válaszok számát.

Szeretné, ha mi készítenénk el Önnek? A Webhooks oldalon Survióban kattintson a Szakértői beállítás kérése gombra, írja le igényét, és csapatunk elkészíti, teszteli, átadja a működő webhookot.

Választ kapott a kérdésére?