Интеграция сайт + гугл формы + Unisender без сервисов

Всем привет!

Возникла идея и задача: чтобы привлечь подписчиков на сайте запустили опрос-исследование для профессиональных пользователей отрасли. Пользователь проходил небольшой опрос и потом получал на почту ссылку с отчетом, в котором были сведены ответы всех участников. Таким образом человек выражал свое мнение и получал сводные результаты голосования, которые могут быть интересны в наше то непростое время. Мы получали как аналитику, так и базу новых целевых подписчиков.

Нужно было отстроить механику и максимально автоматизировать процесс, без ежедневного участия.

Что сделали:

  1. Создаем гугл форму, максимально тестили ее на самих себе и части клиентов. В форме обязательно должен быть вопрос «e-mail» пользователя, на который мы будем отправлять результаты:

2. К форме создается связанная таблица, в которую будут попадать результаты опроса, потом будем работать с ней.

! Сразу скажу, что просто показать юзеру результаты голосования в формах (там есть такая функция) нельзя, т.к. в них попадают все ответы, в том числе адреса e-mail, которые мы собираем с именами. Кроме того, видно количество проголосовавших, чего мы не очень хотели, да и при малом количестве в начале для пользователя репрезентативность такого опроса была бы крайне низкой.

3. Далее идем в личный кабинет Unisender и берем оттуда ключ API, он нам понадобится. Для чего?

Смысл в том, что когда в гугл таблицу добавляется новая строка с ответом, должен сработать скрипт, который дернет определенный адрес и занесет по API адрес нового пользователя в указанный нами список контактов на Unisendere. описывать процесс получения ключа не имеет смысла. Если что, всегда есть хороша поддержка в чате.

Сам метод добавления нового подписчика по API подробно описан в документации https://www.unisender.com/ru/support/api/contacts/subscribe/

Наша задача скриптом после заполнения очередного ответа на форму дергать ссылку вида:

https://api.unisender.com/ru/api/subscribe?format=json&api_key=API-KEY&list_ids=LIST-ID1,LIST-ID2&fields[email]=MAIL-FORM&fields[Name]=NAME-FORM&double_optin=3&tags=FORM_TAGS

где,

API-KEY — ваш ключ полученный в личном кабинете Unisender.

LIST-ID1,LIST-ID2 — ваши ID списка контактов, в которые вы добавляете нового юзера. их можно посмотреть в личном кабинете. Я использую 2 списка, в первый и основной юзер попадает в основную рассылку. А во втором листе. созданном специально под форму он попадает в цепочку автоматизации, где ему приходит ссылка на сводные результаты опроса. Об этом ниже.

MAIL-FORM — собственно e-mail пользователя из формы гугл.

NAME-FORM — имя юзера из формы гугл, которое он сам указал.

FORM_TAGS — метка, которая присваивается юзеры при внесении в список рассылки. потом можно фильтровать таких подписчиков по источнику подписки. удобно. также я использую его, для добавления в основной список подписки.

4. Работаем со скриптом в гугл формах

переходим из форм в связанную таблицу, в которой хранятся ответы на форму:

Далее из таблицы заходим в инструменты- редактор скриптов:

 

Создаем свой скрипт в консоли:

 

function sendFormByEmailuni()
{
// instance of Active Spreadsheet (получаем активный лист):
var responceSheet = SpreadsheetApp.getActiveSheet();

// number of rows in responce form (получаем количество столбцов):
var rows = responceSheet.getLastRow();

// range of names, e-mails (определяем столбцы с именами и e-mail):
var namesRange = responceSheet.getRange(rows, 3, 1, 1);
var emailsRange = responceSheet.getRange(rows, 2, 1, 1);

// last sender’s name, e-mail (получаем имя и e-mail из последней строки):
var nameSender = namesRange.getValue();
var emailSender = emailsRange.getValue();
  
  //url (создаем переменную со ссылкой на unisender (писали выше):
 var urlapi = "https://api.unisender.com/ru/api/subscribe?format=json&api_key=API-KEY&list_ids=LIST-ID1,LIST-ID2&fields[email]="+emailSender+"&fields[Name]="+nameSender+"&double_optin=3&tags=FORM_TAGS";
 
  //send api (инициализируем переход по полученной ссылке)
  var response = UrlFetchApp.fetch(urlapi);
Logger.log(response.getContentText());


}

Описание работы скрипта в коде в комментариях.

У меня в таблице имя пользователя находится в столбце 3, а e-mail в столбце 2. В вашей таблице может быть по-другому.

В ссылке не забудьте поменять данные на свои: API key, номера листов с контактами и теги.

 

5. Триггер для запуска скрипта по время заполнения формы:

Когда скрипт готов и сохранен, надо перейти в триггеры:

Далее надо создать триггер с типом события: «при отправке формы» и сохранить его.

Собственно скрипт готов и работает! Лучше протестируйте работу! Логи ошибок можно посмотреть в консоли, если они есть.

6. В личном кабинете Unisender в разделе «Автоматизация» создаем цепочку писем:

Началом цепочки выбираем добавление контакта в список контактов, в который попадает ответивший на форму.

 

У меня цепочка посылает подписчику ссылку с благодарностью за участие в опросе и ссылку на страницу моего сайта, на котором выведены диаграммы с результатами опроса.

Самое классное, что результаты обновляются сразу и юзер видит в том числе вклад своих ответов в общую картину.

 

Цепочка отслеживает открытие и прочтение письма и пытается доставить его несколько раз, пока оно не будет прочтено.

Собственно все должно работать. Мы получили подписчика, получили ответ на вопрос и заинтересованность со стороны пользователей.

Всем добра и чтоб росла борода!))

Поделиться ссылкой: