Отправка заявок Facebook Leads на e-mail
В первой статье, посвященной выгрузке лидов Facebook в Google Таблицы, подробно описан алгоритм передачи данных на базе вебхуков и собственного приложения. Во втором материале была разобрана передача всех заявок из лид-формы в Google Sheets, включая старые. Настройка в этой публикации позволит вам отправлять информацию по новым рекламным лидам еще и на электронную почту.
Для этого вы можете использовать этот код (оригинал):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
function doGet(request) { if (request.parameter['hub.verify_token'] == 'abcdefghijklmn0123456789') { return ContentService.createTextOutput(request.parameter['hub.challenge']); } } function doPost(request) { var spreadsheet = SpreadsheetApp.openById("INSERT_YOUR_GOOGLE_SHEETS_ID"); var active_sheet = spreadsheet.getSheetByName("Sheet1"); var long_lived_page_access_token = 'INSERT_YOUR_LONG_LIVED_PAGE_ACCESS_TOKEN'; var returned_json = request.postData.getDataAsString(); var returned_data = JSON.parse(returned_json); var entries = returned_data.entry; for( var i = 0; i < entries.length; i++ ) { var entry = entries[i]; // Get the date and time we received the lead var submitted_epoch_timestamp = entry.time; var d = new Date( submitted_epoch_timestamp * 1000 ); var submitted_at = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds(); // Get lead identifier var lead_id = entry.changes[0].value.leadgen_id; // Get lead information var lead_info_endpoint = 'https://graph.facebook.com/' + lead_id + '?access_token=' + long_lived_page_access_token; var lead_info_response = UrlFetchApp.fetch(lead_info_endpoint, {'method': 'get'}); var lead_info = JSON.parse(lead_info_response); var field_data = lead_info.field_data; var final_lead_information = {}; // Compile all data in an object for( var x = 0; x < field_data.length; x++ ) { final_lead_information[field_data[x].name] = field_data[x].values[0]; } final_lead_information['submitted_at'] = submitted_at; // Construct the email content var plain_body = ''; var html_body = ''; var format_order = ['email', 'full_name', 'submitted_at']; for( var y = 0; y < format_order.length; y++ ) { // Plain Body Content if ( y > 0 ) { plain_body += ' || '; } plain_body += final_lead_information[format_order[y]]; // HTML Body Content var title = format_order[y]; html_body += '<b>' + </b>title.replace('_', ' ').toUpperCase() + ': ' + final_lead_information[format_order[y]] + ' '; } // Send an email GmailApp.sendEmail("YOUR_EMAIL_ADDRESS", "У вас новый лид Facebook", plain_body, { htmlBody: html_body, name: 'Уведомление о Facebook Leads', noReply: true, bcc: '', // a comma-separated list of email addresses to BCC cc: '', // a comma-separated list of email addresses to CC }); } } |
В данном коде не забудьте заменить на свои собственные значения:
- INSERT_YOUR_GOOGLE_SHEETS_ID - идентификатор Google Таблицы;
- Sheet1 (если у вас по-русски отображаются названия листов, то Лист1 или другой)
- INSERT_YOUR_LONG_LIVED_PAGE_ACCESS_TOKEN - ваш долгосрочный токен;
- YOUR_EMAIL_ADDRESS - ваш адрес электронной почты, на которую должен приходить новый лид.
Еще, что вам нужно сделать - это задать конфигурацию тех полей, которую вы хотите выгружать на почту. Например, у кого-то лид-форма может содержать имя, телефон, e-mail, а у кого-то только электронный адрес. В вышеописанном коде за это отвечает строка:
1 |
var format_order = ['email', 'full_name', 'submitted_at']; |
Именно в ней и нужно будет задать то количество полей и их названия, которые необходимо передавать на e-mail.
Чтобы узнать поля своей формы, просто выгрузите лиды в отдельный файл (.csv или .xls) и откройте файл локально. Первая строка - это и есть названия полей:
Я рекомендую оставить поле submitted_at, а далее уже выбрать свои. В моем примере - это только эл._адрес
1 |
var format_order = ['эл._адрес', 'submitted_at']; |
В какой последовательности вы добавите поля в этой строке, в такой они и будут передаваться в Google Таблицы. Причем их названия нужно вводить строго как написано - в нижнем регистре, с подчеркиваниями, точками и т.д., как вы видите в файле выгрузки.
После этого вновь разверните приложение через Опубликовать - Развернуть как приложение.
Убедитесь, что вы:
- выполняете свой скрипт от имени Me (ваш e-mail);
- предоставляете любому, даже анонимному пользователю, доступ к вашему приложению (Anyone, even anonymous);
- используете новую версия проекта (Новое).
Нажмите кнопку Обновить.
После этого вы можете запустить рекламу Facebook Leads (Генерация лидов). Как только вы получите новый лид, вам на указанную в скрипте электронную почту придет сообщение с контактами: