За кого е подходящо това?
Случай А – лесно и достъпно за всеки: една диаграма с Вашите отговори, която автоматично се обновява с всеки нов отговор.
Случай B – за екипи, които сравняват групи: сводна таблица, която може да се филтрира по канал, език или друга избрана колона.
Всеки отговор, който Вашата анкета събира, се записва като нов ред в Google Sheet в момента на изпращането му. Създайте диаграма или сводна таблица и отчетите Ви ще останат винаги актуални: без експортиране, без копиране, без чакане някой да подготви числата.
Това е отчетът, който ще получите при Случай А – диаграма, която се обновява с всеки нов отговор:
А това е сводната таблица при Случай B, филтрирана по канал с нарезник:
Как работи това. Survio изпраща всеки попълнен отговор към URL адрес на Webhook. Инструментът за автоматизация (тук използваме n8n в това ръководство) го получава и записва ред във Вашия лист. Survio изпраща, n8n записва, а листът изготвя отчета.
Нямате опит с Webhooks в Survio? Започнете със Webhooks: изпращайте отговори към другите Ви инструменти в реално време, след което се върнете тук.
Какво ще създадете
И двата отчета ползват една и съща настройка: всеки попълнен отговор става ред на раздел responses.
Накратко | Случай А: една диаграма | Случай B: отчет по сегмент |
Резултат | Диаграма, която показва как са разпределени отговорите, обновявана при всеки нов отговор | Сводна таблица, която позволява филтриране по канал, език или друга колона |
Инструменти | Survio, n8n, Google Sheets | Survio, n8n, Google Sheets (сводна таблица и нарезник) |
Подходящо за | Малък бизнес, който иска проста диаграма, винаги актуална | Екип, който сравнява групи, например онлайн и присъствени клиенти |
Преди да започнете
Анкета в Survio с платен план. Webhooks не са налични във Free плана, а всеки план включва фиксиран брой Webhooks на анкета (вижте статията за webhooks).
Акаунт в n8n – n8n Cloud или self-hosted.
Google акаунт за Google Sheets.
В това ръководство използваме кратка анкета за удовлетвореност на клиентите: оценка със звезди, въпрос с избор „Като цяло, колко сте доволни?“, въпрос с избор „Как пазарувахте този път?“, свободен коментар и въпрос за имейл по желание. Вашата анкета може да изглежда различно – ще зададете собствените въпроси на стъпка 5.
Стъпка 1 – Подгответе листа
Създайте нов Google Sheet и преименувайте първия раздел на
responses.В първи ред въведете заглавия на колоните:
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
В n8n създайте нов работен процес и добавете node Webhook като Trigger.
Задайте HTTP метод на POST.
Отидете на таб Production URL и копирайте адреса.
Кликнете Публикувай. Production URL приема доставки едва след публикуване на workflow.
Използвайте Production URL, не Test URL. Test URL слуша само докато редакторът чака тестово събитие, затова доставките на Survio се провалят веднага щом бъде затворен. Survio прави повторни опити с неуспешен доставен webhook около ден; след 5 дни без успех изключва webhook-а.
Стъпка 3 – Свържете анкетата в Survio
Отворете анкетата и изберете Получете отговори.
В лявото меню под Автоматизации и интеграции изберете Webhooks и натиснете + Добавяне на webhook.
Поставете Production URL от n8n в Webhook URL и натиснете Запази webhook. Webhook-ът се включва веднага.
Стъпка 4 – Изпратете тестов отговор и открийте идентификаторите на въпросите
Отворете анкетата през публичния ѝ линк и изпратете един пълен отговор. Survio изпраща само попълнени отговори, така че минете до края.
В n8n отворете таб Изпълнения. Доставката пристига за секунди.
Oтвoрeтe изпълнението и изберете node Webhook. Разгънете
body, послеdata, послеanswers. Всеки отговор включваquestion.id, етикет иanswer.Запишете id на всеки желан за колона въпрос. Можете също да ползвате Pin, за да работите върху този отговор, без да попълвате анкетата отново.
Винаги избирайте отговори по question id. Отговорите пристигат като списък. Ако добавите въпрос, позициите се изместват и колоните ще се попълват погрешно. Идентификаторите не се променят.
Търсите имейла на респондента? Не използвайте data.email: то остава празно ако имейлът идва от въпрос за имейл или URL параметър. Вземете го от отговора на имейл въпроса, или от data.parameters.
Стъпка 5 – Превърнете всеки отговор в ред
Това става с два Nodes: Prepare row избира отговорите, а Save response to sheet ги записва в листа.
Prepare row
Добавете node Edit Fields (Set) след Webhook-a и го кръстете
Prepare row.Под Fields to Set добавете поле за всяка колона – с тип String. Името на полето трябва да съвпада напълно с името на колоната; стойностите са по-долу.
Заменете question id-овете с Вашите собствени от стъпка 4 и уточнете правилната часова зона.
Име на поле | Стойност |
Response ID |
|
Submitted |
|
Rating (1-5) |
|
Satisfaction |
|
Channel |
|
What could we do better |
|
| |
Order ID |
|
Language |
|
Source |
|
Save response to sheet
Добавете node Google Sheets след Prepare row, преименувайте го на
Save response to sheetи изберете операция Append or Update Row.Свържете Google акаунта си, после изберете съответния документ под Document и раздел
responsesпод Sheet.Задайте Mapping Column Mode на Map Automatically и Column to match on на Response ID.
Защо отделна стъпка Prepare row? Когато смените лист или раздел в Google Sheets node, n8n изтрива съпоставянето на колоните. С изразите в Prepare row съответствията се запазват – Google Sheets node просто ги съпоставя по име.
Кликнете Публикувай отново. Промените, направени след публикуване, се изпълняват само след като отново публикувате работния процес.
Няколко уточнения относно тези изрази:
Въпросите с избор се връщат като
{ ids, labels, value }.labels[0]е текстът на избраната опция. За многовариантен въпрос използвайтеlabels.join(', ')за всички опции в една клетка.valueсъдържа свободния текст, ако има отговор „Друго“.Датата и часът са в UTC. Изразът за Submitted ги преобразува в правилната часова зона, а Google Sheets разпознава тази стойност като дата/час и позволява сортиране или групиране.
URL параметри с тире като
order-idтрябва да се вземат сparameters['order-id']. Survio не допуска подчертавки в имена на параметрите.Заглавието на анкетата не се изпраща с данните. Ако няколко анкети пишат в един лист, добавете колона Survey и поле Survey с името на анкетата в Prepare row.
Изпратете още един отговор. Нов ред ще се появи в листа Ви само след няколко секунди.
Случай А – Диаграма за отговорите
Създайте таб с име
report.Въведете
Satisfactionв A1 иResponsesв B1. В A2 до A6 избройте опциите за отговор, както са в анкетата.В B2 напишете
=COUNTIF(responses!D:D,A2)и издърпайте формулата до B6.Изберете диапазона A1:B6 и стартирайте Вмъкни → Диаграма. Google Sheets ще предложи колонна диаграма. За смяна на заглавието използвайте Персонализиране → Заглавия на диаграми и оси.
Всеки нов отговор автоматично добавя ред към responses и броячът и диаграмата се обновяват от само себе си.
Случай B – Сравняване на групи със сводна таблица
В раздел
responsesмаркирайте таблицата и изберете Вмъкни → Сводна таблица, после Нов лист.Под Редове добавете Satisfaction. Към Стойности добавете Response ID и сменете Обобщение чрез на COUNTA.
Използвайте Данни → Добавяне на нарезник и изберете колоната Channel. Изберете желаните стойности и потвърдете с OK. Ще видите резултат, подобен на горната сводна таблица.
Може да филтрирате по всяка колона: Channel (Ваш собствен въпрос), Language (езикът, на който е попълнена анкетата), Source (как е получен отговорът – напр. през директен линк или имейл покана) или Order ID.
Изборът в нарезника не се запазва за следващото отваряне. При всяко ново отваряне ще виждате всички стойности. За да съхраните селекция, задайте я за стандартна през менюто на нарезника.
Вземете готов работен процес
Вместо да създавате ръчно стъпки 2 и 5, изтеглете работния процес. Свалете файла survio-responses-to-google-sheets.json от прикачените материали и:
В n8n създайте нов празен работен процес. В менюто (три точки до името) изберете Импортирай, след това От файл. Изберете сваления файл.
Отворете Prepare row и заменете идентификаторите със собствените и часова зона.
Отворете Save response to sheet. Ще се покаже червено предупреждение, докато всичко не е зададено. Свържете Google акаунта и изберете таблицата и раздел
responses. n8n ще превключи Mapping Column Mode на Map Each Column Manually – върнете на Map Automatically и задайте Column to match on на Response ID.Отворете Survio Webhook, копирайте Production URL в Survio (стъпка 3) и натиснете Публикувай.
Тествайте пълния процес
Изпратете отговор чрез анкетния линк. Нов ред ще се появи в
responsesза секунди.Проверете, че Response ID е попълнен. Това предотвратява дублиране.
Вижте раздела Изпълнения в n8n. Всяка доставка и данни са там.
Отстраняване на проблеми
Симптом | Причина | Решение |
В n8n не пристига нищо | В Survio е въведен Test URL или процесът не е публикуван | Поставете Production URL в Survio и натиснете Публикувай |
Survio не приема Webhook URL от self-hosted n8n | n8n показва вътрешен, а не публичния адрес | Задайте WEBHOOK_URL с публичния https адрес и копирайте Production URL отново |
"Listen for test event" не отчита нищо, макар анкетата да е попълнена | Survio изпраща към Production URL; listener гледа Test URL | Вижте таба Изпълнения |
Последната промяна няма ефект | Процесът е публикуван, но промените не са (Публикувай е цветен) | Натиснете Публикувай отново |
Същият отговор се дублира | Операция Append Row или не е зададена колона за съвпадение | Използвайте Append or Update Row по Response ID |
Клетка е празна и се появява нова колона | Името на полето в Prepare row не съвпада с колоната | Преименувайте полето в Prepare row – идентично на заглавието. Изтрийте новата колона |
Клетка показва [object Object] | Въпрос с избор е съпоставен без | Използвайте |
Колоните се запълват с грешни отговори след редакция на анкетата | Отговорите се избират по позиция | Винаги избирайте по question id |
Колоната за имейл е празна | Избрал е | Вземете имейла от отговора на имейл въпрос или от параметър |
Старите отговори липсват | Webhooks праща само нови отговори след създаване на Webhook | Експортирайте старите отговори от Survio и ги добавете |
Survio изключва Webhook | Webhook URL е недостъпен 5 дни | Оправете причината и активирайте Webhook в Survio |
Важно да знаете
Survio изпраща само попълнени отговори, по един запис, максимум за секунди.
Нищо не се изпраща със задна дата – липсват стари отговори и такива, подадени по време на пауза на Webhook-а.
Неуспешна доставка се пробва до 8 пъти в следващите 27 часа, всяка чака до 30 секунди. Съпоставянето по Response ID прави повторенията безобидни.
Ако 5 дни изпращанията се провалят, Survio изключва Webhook и трябва да го включите отново.
Пауза на Webhook запазва слота; изтриването му е окончателно.
Survio не пази лог на изпратеното. Използвайте таб Изпълнения в n8n.
Изпращането към Webhooks не намалява броя на отговорите според абонамента.
Искате да го настроим вместо Вас? В страницата Webhooks в Survio натиснете Вземете експертна настройка, опишете желаното, и нашият екип ще създаде, тества и предаде работещ Webhook.
