Для кого це рішення?
Випадок A — універсальний, для всіх: одна інтерактивна діаграма відповідей, яка самостійно оновлюється із кожною новою відповіддю.
Випадок B — для команд, які порівнюють аудиторії: зведена таблиця з можливістю фільтрувати за каналом, мовою чи будь-якою іншою колонкою.
Кожна відповідь на ваше опитування миттєво з’являється в новому рядку Google Sheets. Створіть діаграму або зведену таблицю один раз — і ваш звіт завжди буде актуальним автоматично: без експорту, копіювання чи додаткового очікування на підготовку результатів.
Ось як виглядає звіт для випадку A — діаграма, що одразу оновлюється з кожною новою відповіддю:
А це приклад зведеної таблиці для випадку B, відфільтрованої за каналом за допомогою зрізу:
Як це працює. Survio надсилає кожну завершену відповідь на URL Вебхука. Автоматизація (у цій інструкції використовується n8n) отримує відповідь і додає новий рядок у вашу таблицю. Survio надсилає, n8n фіксує — звіт формується автоматично.
Вперше стикаєтеся з Вебхуками у Survio? Почніть з Вебхуки: надсилайте відповіді у ваші інструменти в реальному часі, після чого поверніться до цієї інструкції.
Що ви отримаєте
Обидва типи звітів працюють за однаковим принципом: кожна завершена відповідь — окремий рядок на вкладці responses.
Загалом | Випадок A: одна діаграма | Випадок B: звіт по сегментах |
Результат | Динамічна діаграма з розподілом відповідей | Зведена таблиця з фільтрами за каналом, мовою чи іншими колонками |
Інструменти | Survio, n8n, Google Sheets | Survio, n8n, Google Sheets (зведена таблиця та зріз) |
Рекомендовано для | Малий бізнес, якому потрібна одна проста діаграма зі свіжими даними | Команди, які порівнюють аудиторії — наприклад, онлайн і офлайн клієнтів |
Перед початком
Опитування Survio на платному тарифі. Вебхуки недоступні на Free, і обсяг доступних Вебхуків залежить від тарифного плану (див. статтю про Вебхуки).
Активний акаунт n8n — у хмарі або з власним хостингом.
Google-акаунт для доступу до Google Sheets.
У цій інструкції ми розглядаємо коротке опитування із зірковим рейтингом, питаннями на кшталт "Загалом, наскільки ви задоволені?", способом покупки, відкритим полем для коментаря та необов’язковим e-mail. Ваше опитування може відрізнятися; на кроці 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 — Створіть Вебхук у n8n
У n8n створіть новий робочий процес і додайте вузол Webhook як тригер.
У полі HTTP Method виберіть POST.
Перейдіть на вкладку Production URL і скопіюйте адресу.
Натисніть Publish. Production URL приймає дані лише коли робочий процес опубліковано.
Використовуйте Production URL, а не Test URL. Test URL діє тільки поки відкрито редактор для тесту. Якщо вказати його в Survio — доставки стануть недійсними одразу після закриття редактора. Survio ще спробує переслати невдалі повідомлення протягом доби, а якщо протягом 5 днів доставки не вдаються — Вебхук буде вимкнено.
Крок 3 — Підключіть опитування у Survio
Відкрийте своє опитування й оберіть розділ Отримати відповіді.
У лівому меню під Автоматизації та інтеграції натисніть Вебхуки і далі + Додати Вебхук.
Вставте Production URL n8n у Webhook URL і натисніть Зберегти Вебхук. Вебхук активується одразу.
Крок 4 — Надішліть тестову відповідь і знайдіть ідентифікатори питань
Перейдіть за посиланням на опитування і заповніть його до кінця — Survio надсилає лише завершені відповіді.
У n8n перейдіть до Executions. Доставка з’явиться через кілька секунд.
Відкрийте виконання, натисніть Webhook, перегорніть
body, потімdataіanswers— тут видноquestion.id,labelтаanswerдля кожного питання.Запишіть ідентифікатори потрібних полів; можна натиснути Pin, щоб закріпити цю відповідь та не повторювати заповнення.
Обирайте відповіді за ідентифікатором питання. Відповіді завжди приходять списком; якщо додати нове питання — порядок зміниться, а ідентифікатори залишатимуться незмінними.
Потрібна e-mail адреса респондента? Не використовуйте data.email: це поле буде порожнім, якщо e-mail введено як відповідь або надано через URL. Читайте адресу безпосередньо з відповіді на питання або з data.parameters.
Крок 5 — Перетворіть кожну відповідь на рядок
Треба дві ланки: Підготувати рядок витягає потрібні дані, а Зберегти відповідь до таблиці записує їх у Google Sheets.
Підготувати рядок
Додайте після Webhook вузол Edit Fields (Set) і назвіть його
Підготувати рядок.У Fields to Set додайте поля для кожної колонки, тип залиште String. Назва — ідентична заголовку колонки; значення — вираз (дивіться нижче).
Підставте власні ідентифікатори питань та відповідний часовий пояс замість Europe/Prague.
Назва поля | Значення |
Response ID |
|
Submitted |
|
Rating (1-5) |
|
Satisfaction |
|
Channel |
|
What could we do better |
|
| |
Order ID |
|
Language |
|
Source |
|
Зберегти відповідь до таблиці
Додайте після вузла Підготувати рядок вузол Google Sheets, назвіть його
Зберегти відповідь до таблиціі оберіть Append or Update Row.Підключіть свій Google-акаунт, у Document оберіть потрібну таблицю або введіть ID вручну, а у Sheet зазначте
responses.В полі Mapping Column Mode виберіть Map Automatically, а у Column to match on — Response ID.
Навіщо окремий вузол Підготувати рядок? Якщо обрати іншу таблицю або вкладку у вузлі Google Sheets — n8n скидає карту колонок у цьому вузлі. Вирази, розміщені у Підготувати рядок, зберігаються: Google Sheets співставляє дані за назвами полів.
Натисніть Publish ще раз. Зміни, внесені після публікації, стануть активними лише після повторного публікування.
Корисні деталі щодо виразів:
Питання з вибором мають структуру
{ ids, labels, value }.labels[0]— текст вибраної відповіді. Для питань з декількома виборами використовуйтеlabels.join(', ')— тоді уся інформація буде в одній клітинці.valueмістить текст "Інше", якщо респондент його ввів.Час записується в UTC. Вираз у Submitted конвертує його у ваш час; у Google Sheets цю колонку можна сортувати та групувати за датою.
URL-параметри з дефісом, наприклад
order-id, потрібно зазначати у форматіparameters['order-id']. Survio не допускає підкреслення у назвах параметрів.Назва опитування не передається з Survio. Якщо кілька опитувань надсилають у ту саму таблицю — додайте колонку Survey і вкажіть її вручну у Підготувати рядок.
Відправте ще одну тестову відповідь — новий рядок з’явиться у Google Sheets за декілька секунд.
Випадок A — діаграма відповідей
Створіть вкладку із назвою
report.В осередку A1 напишіть
Satisfaction, у B1 —Responses. У A2–A6 перелічіть можливі варіанти відповідей із вашого опитування.У B2 впишіть формулу
=COUNTIF(responses!D:D,A2)і протягніть її до B6.Виділіть діапазон A1:B6 і оберіть Вставка → Діаграма. Google Sheets запропонує стовпчикову діаграму. Щоб змінити назву, використайте Налаштувати → Назви схем й осей.
Кожна нова відповідь додається у responses, а статистика і діаграма оновлюються автоматично, як показано на початку інструкції.
Випадок B — аналіз груп у зведеній таблиці
На вкладці
responsesвиділіть таблицю й оберіть Вставка → Зведена таблиця, далі Нова таблиця.У Рядки додайте Satisfaction, у Значення — Response ID, змініть Підсумувати за із SUM на COUNTA.
Оберіть Дані → Додати зріз, зазначте Channel та підтвердьте ОК. Вийде зведена таблиця, як на початку прикладу.
Фільтруйте звіт за будь-якою колонкою: Channel (ваше питання), Language (на якій мові респондент проходив опитування), Source (наприклад, пряме посилання чи e-mail-запрошення) або Order ID.
Обране у зрізі не зберігається після закриття файлу. Після повторного відкриття будуть показані всі варіанти. Щоб зафіксувати обране, призначте його типовим у меню зрізу.
Завантажте готовий робочий процес
Щоб не налаштовувати кроки 2 та 5 вручну, скористайтеся готовим шаблоном. Завантажте файл survio-responses-to-google-sheets.json з вкладень, далі:
У n8n створіть порожній робочий процес. Відкрийте меню (три крапки біля назви), виберіть Імпорт, потім Із файлу і вкажіть завантажений файл.
Відкрийте вузол Підготувати рядок і замініть ідентифікатори питань та часовий пояс на свої.
Перейдіть до Зберегти відповідь до таблиці. Побачите попередження — це нормально до завершення налаштування. Підключіть акаунт Google, оберіть потрібний документ та вкладку
responses. n8n при цьому перемкне Mapping Column Mode на Map Each Column Manually — поверніть на Map Automatically та у Column to match on зазначте Response ID.Відкрийте вузол Survio Webhook, скопіюйте Production URL у Survio (крок 3), потім натисніть Publish.
Перевірте наскрізну інтеграцію
Відправте відповідь через посилання на опитування — рядок з’явиться у
responsesза кілька секунд.Перевірте, чи Response ID заповнений — саме він захищає від дублювання.
Перейдіть до Executions у n8n, щоб побачити всі події та дані.
Як усунути типові проблеми
Симптом | Причина | Рішення |
У n8n нічого не приходить | У Survio вказано Test URL або робочий процес не опубліковано | Скопіюйте Production URL у Survio й натисніть Publish |
Survio не приймає Вебхук із самохостингового n8n | n8n відображає внутрішню адресу, а не публічну | Додайте в n8n параметр |
Вікно "Прослухати тестову подію" порожнє, хоча анкету заповнено | Survio надсилає на Production URL, а слухаєте Test URL | Перевірте вкладку Executions |
Останні зміни не працюють | Робочий процес опубліковано, але зміни не збережено (кнопка Publish з крапкою) | Натисніть Publish ще раз |
Відповідь дублюється у таблиці | Обрана дія Append Row, або не вказано співставлення по колонці | Оберіть Append or Update Row та співставте по Response ID |
Колонка лишається порожньою, а наприкінці додалася зайва колонка | Назва у Підготувати рядок не співпадає із заголовком | Перейменуйте поле у Підготувати рядок згідно із заголовком і видаліть зайву колонку |
У клітинці з'являється [object Object] | Відповідь із вибором додана без | Використовуйте |
Після редагування анкети колонки зміщені | Відповіді взяті по позиції у списку | Орієнтуйтеся по |
Колонка E-mail порожня | Мапінг з | Читати e-mail з відповіді або з URL-параметра |
Відповіді, зібрані до налаштування, відсутні | Вебхуки працюють тільки для нових відповідей після підключення | Експортуйте попередні з Survio вручну |
Survio відключив Вебхук | URL Вебхука був недоступний 5 днів | Виправте причину і знову активуйте Вебхук у Survio |
Що важливо знати
Survio надсилає лише завершені відповіді, окремим повідомленням для кожної, практично миттєво.
Відповіді не надсилаються заднім числом: ні зібрані до створення Вебхука, ні під час перерви.
При невдачі доставка повторюється до 8 разів протягом близько 27 годин; кожна спроба чекає до 30 секунд. Перевірка по Response ID гарантує, що дублікати не з’являться.
Якщо жодна доставка не вдалася за 5 днів — Survio відключає Вебхук і його треба активувати знову.
Після паузи Вебхук зберігається; після видалення — ні.
Survio не зберігає історію доставок у додатку. Вся історія — на вкладці Executions у n8n.
Надсилання відповідей через Вебхуки не впливає на ліміти по вашому тарифу.
Потрібна допомога з налаштуванням? На сторінці Вебхуків у Survio натисніть Отримати експертне налаштування, опишіть ваші потреби — і наша команда все налаштує, перевірить і передасть готовий Вебхук вам.
