Kuris sprendimas jums tinkamiausias?
A atvejis – paprastas visiems: viena diagrama su jūsų atsakymais, kuri nuolat atsinaujina sulaukus naujų atsakymų.
B atvejis – komandoms, kurios lygina grupes: pagrindinė lentelė, kurią galima filtruoti pagal kanalą, kalbą ar kitą stulpelį.
Kiekvieną kartą, kai kas nors užpildo jūsų apklausą, atsakymas iškart tampa nauja eilute Google Sheets dokumente. Sukūrę diagramą ar pagrindinę lentelę, visada matysite naujausią ataskaitą – nereikės nieko eksportuoti, kopijuoti ar laukti, kol kažkas paruoš skaičius.
Tai pavyzdys, kaip atrodo A atvejo ataskaita – diagrama, kuri automatiškai atsinaujina gavusi naujų atsakymų:
O B atvejyje – štai pagrindinė lentelė, filtruojama pagal kanalą su skiltuku (slicer):
Kaip tai veikia? „Survio“ siunčia kiekvieną užpildytą atsakymą į webhook adresą, o automatizavimo įrankis (šiame gide naudojame n8n) priima ir įrašo naują eilutę jūsų lentelėje. „Survio“ siunčia, n8n įrašo, o lentelė sukuria ataskaitą.
Nauja webhook „Survio“? Pradėkite nuo Webhooks: siųskite atsakymus į kitus įrankius realiu laiku, tada sugrįžkite čia.
Ką sukursite
Abu ataskaitų tipai generuojami taip pat: kiekvienas užpildytas atsakymas virsta eilute skirtuke responses.
Trumpai | A atvejis: diagrama | B atvejis: ataskaita pagal segmentą |
Rezultatas | Diagrama, aiškiai rodanti atsakymų pasiskirstymą ir nuolat atsinaujinanti | Lanksti pagrindinė lentelė, kurią filtruosite pagal kanalą, kalbą ar kitą stulpelį |
Įrankiai | „Survio“, n8n, Google Sheets | „Survio“, n8n, Google Sheets (pagrindinė lentelė ir skiltukas) |
Rekomenduojama | Mažoms komandoms, norinčioms paprastos ir visada naujinamos diagramos | Komandoms, kurios nori lyginti grupes, pvz., internetinių ir fizinių parduotuvių klientus |
Prieš pradedant
„Survio“ apklausa su mokamu planu. Webhook funkcija neprieinama Free plane. Kiekvienas mokamas planas leidžia nustatytą webhook’ų skaičių vienai apklausai (daugiau informacijos webhook’ų straipsnyje).
n8n paskyra: n8n Cloud arba talpinama pačių.
Google paskyra, reikalinga naudotis Google Sheets.
Čia rodysime pavyzdį su trumpa klientų pasitenkinimo apklausa: įvertinimas žvaigždutėmis, pasirinktiniai klausimai „Kaip vertinate bendrą pasitenkinimą?“, „Kaip šį kartą pirkote pas mus?“, atviras komentaras ir el. pašto laukas. Jūsų apklausa gali atrodyti kitaip – 5 žingsnyje galėsite susieti savo klausimus.
1 žingsnis – parenkite lentelę
Sukurkite naują Google Sheets dokumentą ir pirmąją kortelę pervadinkite į
responses.Pirmoje eilutėje įrašykite stulpelių pavadinimus. Mūsų pavyzdyje naudojame:
Response ID,Submitted,Rating (1-5),Satisfaction,Channel,What could we do better,E-mail,Order ID,Language,Source.
Palikite Response ID pačiame pirmame stulpelyje. Tai unikalus „Survio“ atsakymo ID. n8n jį naudoja norėdamas atnaujinti esamą eilutę, jei atsakymo siuntimas pasikartos.
2 žingsnis – kurkite webhook n8n
n8n pridėkite naują darbo eigą ir įtraukite Webhook bloką kaip paleidėją.
Nustatykite HTTP Method į POST.
Pereikite į Production URL skirtuką ir nukopijuokite adresą.
Spauskite Publish. Produkcijos adresas duomenis priims tik paskelbus darbo eigą.
Visada naudokite Production URL, ne Test URL. Test URL veikia tik tada, kai naršyklėje aktyviai laukiate bandymo įvykio – „Survio“ siuntimas nutrūks, jei užversite langą. „Survio“ bandys išsiųsti apie parą, o po 5 nesėkmių dienų webhook bus išjungtas.
3 žingsnis – prijunkite apklausą „Survio“
Atidarykite pasirinktos apklausos nustatymus ir eikite į Gauti atsakymus.
Kairiajame meniu, po Automatizacija ir integracija, pasirinkite Webhooks ir paspauskite + Pridėti webhook.
Įklijuokite n8n Production URL į Webhook URL lauką ir spustelėkite Išsaugoti webhook. Webhook įsijungia iškart.
4 žingsnis – atlikite bandomą atsakymą ir raskite klausimų ID
Atidarykite apklausos užpildymo nuorodą ir pateikite pilną atsakymą. „Survio“ perduoda tik užbaigtus atsakymus, tad nueikite iki pabaigos.
n8n atidarykite Executions skirtuką. Duomenų rasite po kelių sekundžių.
Pasirinkite įvykį ir spustelėkite Webhook bloką. Išskleiskite
body, tadadata, o po toanswers. Kiekvienas atsakymas turi atskirusquestion.id, klausimolabeliranswer.Užsirašykite pasirinktų klausimų ID. Galite panaudoti Pin funkciją, kad toje pačioje sesijoje galėtumėte testuoti daugiau kartų be naujo pateikimo.
Visada rinkitės atsakymus pagal klausimo ID. Atsakymai yra sąraše – jei pridėsite klausimą, sąrašas pasislinks, tad reikšmė gali būti priskirta neteisingai. Klausimo ID nekinta.
Reikia respondento el. pašto? Nenaudokite data.email, nes šis laukas bus tuščias, jeigu el. paštas įrašytas klausime ar URL parametre. El. paštą gaukite tiesiai iš atitinkamo klausimo atsakymo arba data.parameters.
5 žingsnis – kiekvienas atsakymas tampa eilute
Tam reikės dviejų blokų: Prepare row atrenka atsakymus iš visų duomenų, o Save response to sheet įrašo juos į jūsų lentelę.
Prepare row
Pridėkite Edit Fields (Set) bloką po Webhook ir pavadinkite jį
Prepare row.Skiltyje Fields to Set pridėkite lauką kiekvienam stulpeliui ir lauko tipą palikite String. Vardai turi tiksliai sutapti su stulpelių pavadinimais, reikšmės nurodomos pagal žemiau pateiktas formules.
Pakeiskite klausimų ID (pvz., 90403153) į savo užrašytus ID, o Europe/Prague – į pageidaujamą laiko juostą.
Lauko pavadinimas | Reikšmė |
Response ID |
|
Submitted |
|
Rating (1-5) |
|
Satisfaction |
|
Channel |
|
What could we do better |
|
| |
Order ID |
|
Language |
|
Source |
|
Save response to sheet
Pridėkite Google Sheets bloką po Prepare row, pavadinkite jį
Save response to sheetir pasirinkite operaciją Append or Update Row.Prijunkite Google paskyrą, pasirinkite norimą dokumentą Document (iš sąrašo arba įveskite ID pasirinkę By ID) ir kortelę
responsesSheet lauke.Nustatykite Mapping Column Mode į Map Automatically ir Column to match on į Response ID.
Kodėl verta naudoti atskirą Prepare row žingsnį? Pasirinkus kitą lentelę ar kortelę Google Sheets bloke, n8n ištrina ten buvusias atitikimo taisykles. Suderinus viską Prepare row, nieko neprarasite – Google Sheets blokas automatiškai pritaikys laukus pagal pavadinimus.
Dar kartą spauskite Publish. Nauji pakeitimai aktyvuosis tik paskelbus iš naujo.
Svarbios detalės apie išraiškas:
Atsakymų pasirinkimai gaunami struktūra
{ ids, labels, value }.labels[0]yra pasirinkto atsakymo tekstas. Jei klausimas leidžia kelis pasirinkimus, naudokitelabels.join(', '), kad viskas būtų viename langelyje.valuerodys tekstą atsakyme „Kita“.Laikas gaunamas UTC formatu. Submitted išraiška pavers jį į jūsų laiko juostą, o Google Sheets leis rūšiuoti ar grupuoti duomenis kaip datą ir laiką.
URL parametrai su brūkšneliu (pvz.,
order-id) – naudokite skliausteliusparameters['order-id']. „Survio“ leidžia tik tokią struktūrą, pabraukimo negalima.Apklausos pavadinimas nesiunčiamas duomenų rinkinyje iš „Survio“. Jei kelios apklausos rašo į tą pačią lentelę, pridėkite stulpelį „Apklausa“ ir lauką „Apklausa“ žingsnyje Prepare row.
Pateikite dar vieną atsakymą – nauja eilutė matysis lentelėje beveik akimirksniu.
A atvejis – atsakymų diagramos sukūrimas
Pridėkite naują kortelę, pavadinkite ją
report.Langelį A1 įrašykite
Satisfaction, o į B1 –Responses. Nuo A2 iki A6 įrašykite visus galimus pasirinkimus – lygiai taip, kaip apklausoje.B2 langelyje įveskite
=COUNTIF(responses!D:D,A2)ir šią formulę nukopijuokite iki B6.Pažymėkite A1:B6 ir rinkitės Įterpti → Diagramą. Google Sheets pasiūlys stulpelinės diagramos tipą. Jei norite pakeisti pavadinimus, naudokitės Tinkinti → Diagramos ir ašių pavadinimai.
Su kiekvienu nauju atsakymu papildoma nauja eilutė skirtuke responses, o diagrama bei skaičiavimai atsinaujina automatiškai, kaip matėte pradžioje.
B atvejis – grupių palyginimas pagrindinėje lentelėje
Kortelėje
responsespažymėkite visą lentelę ir pasirinkite Įterpti → pagrindinę lentelę, tada pasirinkite Nauja lentelė.Prie Eilučių pridėkite Satisfaction. Prie Reikšmės – Response ID, keiskite Apibendrinimas pagal iš SUM į COUNTA.
Spauskite Duomenys → Pridėti skiltuką ir pasirinkite Channel stulpelį. Išsirinkite pageidaujamas reikšmes ir spauskite OK. Gausite pagrindinę lentelę lygiai kaip straipsnio pradžioje.
Galėsite skirstyti pagal bet kurį stulpelį: Channel (jūsų klausimas), Language (respondento kalba), Source (pvz., tiesioginė nuoroda ar kvietimas el. paštu), Order ID ir kt.
Skiltuko pasirinkimai neišsaugomi kitam kartui. Iš naujo atidarius failą, skiltukas rodys visas reikšmes. Jei norite išsaugoti savo pasirinkimą, nustatykite jį kaip numatytą Skiltuko meniu.
Atsisiųskite paruoštą darbo eigą
Vietoj to, kad žingsnius 2 ir 5 atliktumėte nuo nulio, naudokitės mūsų šablonu. Atsisiųskite survio-responses-to-google-sheets.json iš straipsnio priedų ir:
n8n susikurkite tuščią darbo eigą. Meniu (trys taškai) paspauskite Importuoti, tada Iš failo ir nurodykite atsisiųstą failą.
Atsidarykite Prepare row ir pakeiskite klausimų ID į savo, taip pat atitinkamą laiko juostą.
Atsidarykite Save response to sheet. Iki kol sukonfigūruosite, matysite raudoną įspėjamąjį ženklą. Prijunkite Google paskyrą, pasirinkite dokumentą ir kortelę
responses. n8n automatiškai pakeis Mapping Column Mode į Map Each Column Manually – nustatykite grąžinti į Map Automatically ir Column to match on į Response ID.Atsidarykite Survio Webhook, nukopijuokite Production URL į „Survio“ (3 žingsnis) ir paspauskite Publish.
Patikrinkite visą eigą
Pateikite atsakymą naudodami apklausos nuorodą. Nauja eilutė skirtuke
responsesatsiras po kelių sekundžių.Patikrinkite, ar užpildytas Response ID laukas. Tai apsaugo nuo dublikatų.
Peržiūrėkite viską n8n Executions skirtuke – čia matysite visus siuntimus ir jų duomenis.
Dažniausios problemos ir kaip jas išspręsti
Simptomas | Priežastis | Sprendimas |
n8n negauna duomenų | „Survio“ nurodytas Test URL arba darbo eiga dar neišpublikuota | Įsitikinkite, kad „Survio“ įrašytas Production URL ir paspauskite Publish |
„Survio“ neišsaugo webhook'ų URL iš savarankiškai talpinamo n8n | n8n grąžina vidinį adresą vietoj tikro viešojo | Nustatykite n8n |
„Listen for test event“ nieko nerodo, nors pateikėte apklausą | „Survio“ siunčia į Production URL, kol klausymas vyksta Test URL | Naudokitės Executions skirtuku vietoje testavimo režimo |
Pakeitimai neveikia | Darbo eiga paskelbta, bet nauji pakeitimai dar ne (Publish rodo tašką) | Dar kartą spauskite Publish |
Tas pats atsakymas įrašomas du kartus | Naudojama Append Row arba nenurodytas atitikimo stulpelis | Pasirinkite Append or Update Row ir derinkite pagal Response ID |
Stulpelis lieka tuščias, o gale atsiranda naujas stulpelis | Prepare row lauko pavadinimas nesutampa su stulpelio pavadinimu | Pervadinkite lauką Prepare row bloke ir panaikinkite nereikalingą (tuščią) stulpelį lentelėje |
Langelis rodo [object Object] | Pasirinkimo atsakymas be | Naudokite |
Pakeitus apklausos klausimus, stulpeliai užsipildo neteisingai | Atsakymai paimti pagal sąrašo poziciją | Visada naudokitės |
El. pašto stulpelis lieka tuščias | Imamas iš | Naudokite atsakymą iš klausimo arba parametrą iš URL |
Nematyti senų atsakymų | Webhook siunčia tik naujus atsakymus, pateiktus po webhook sukūrimo | Senuosius atsakymus eksportuokite iš „Survio“ ir įkelkite juos rankiniu būdu |
„Survio“ išjungė webhook | Webhook 5 dienas iš eilės nepriėmė duomenų | Ištaisykite priežastį, tada rankiniu būdu vėl įjunkite webhook „Survio“ |
Ką svarbu žinoti
„Survio“ siunčia tik užbaigtus atsakymus – kiekvieną atskira žinute per kelias sekundes.
Siunčiama tik naujiems atsakymams: senesnių neperduoda, taip pat nesiunčia, kai webhook buvo pristabdytas.
Nesėkmės atveju siuntimas kartojamas iki 8 kartų (apie 27 valandas), laukiant iki 30 sekundžių atsako. Derinant pagal Response ID pakartotiniai bandymai neužpildo duomenų antrą kartą.
Jei 5 dienas iš eilės siuntimas nesiseka, „Survio“ automatiškai išjungs webhook – reikės jį vėl įjungti rankiniu būdu.
Webhook pristabdymas laikinai sustabdo siuntimą, tačiau ištrynimas yra negrįžtamas.
„Survio“ nekaupia siuntimo istorijos pačioje platformoje – viską matysite tik n8n Executions skiltyje.
Atsakymų siuntimas į webhook nenaudoja papildomų jūsų plano atsakymų limitų.
Norėtumėte, kad viską paruoštume už jus? „Survio“ webhook puslapyje spustelėkite Gauti eksperto nustatymus, aprašykite, ko tikitės, ir mūsų komanda paruoš, ištestuos ir perduos jums veikiantį webhook sprendimą.
