Contact Form 7 и отправка данных в Google Sheets: подробное руководство

Интеграция Contact Form 7 с Google Sheets — частая задача для тех, кто хочет собирать данные с форм WordPress и автоматически сохранять их в удобном табличном формате без использования дополнительных платных сервисов. В этой статье мы подробно разберём, как настроить такую интеграцию с помощью бесплатных инструментов и немного кода.

Почему стоит отправлять данные из Contact Form 7 в Google Sheets

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

  • Избежать ручного копирования данных из писем;
  • Собрать всю информацию в одном месте для удобного анализа;
  • Легко делиться результатами с коллегами;
  • Автоматизировать дальнейшую обработку данных с помощью скриптов, фильтров и формул.

Обзор способов интеграции Contact Form 7 и Google Sheets

Существует несколько способов отправки данных из Contact Form 7 в Google Sheets:

  1. Использование плагинов, например, «Contact Form 7 Google Sheets Connector» или «CF7 to Google Sheets».
  2. Настройка Google Apps Script для приёма данных через вебхук и запись их в таблицу.
  3. Использование внешних сервисов автоматизации, таких как Zapier или Integromat (Make).

В этой статье мы сосредоточимся на втором методе — самостоятельной настройке с помощью Google Apps Script и вебхуков Contact Form 7. Это даёт полный контроль и не требует платных подписок.

Шаг 1. Подготовка Google Sheets и Apps Script

Создайте новую таблицу в Google Sheets и назовите её, например, «Данные форм Contact Form 7».

Перейдите в меню Расширения > Apps Script. В открывшемся редакторе удалите пример кода и вставьте следующий скрипт:

function contactform7ruDoPost(e) {
  try {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var params = e.parameter;
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
    var row = [];

    for (var i = 0; i < headers.length; i++) {
      row.push(params[headers[i]] || '');
    }

    sheet.appendRow(row);
    return ContentService.createTextOutput(JSON.stringify({result: 'success'})).setMimeType(ContentService.MimeType.JSON);
  } catch (error) {
    return ContentService.createTextOutput(JSON.stringify({result: 'error', message: error.message})).setMimeType(ContentService.MimeType.JSON);
  }
}

Объяснение кода:

  • Функция contactform7ruDoPost обрабатывает POST-запросы.
  • Она получает параметры из запроса и записывает их в новую строку таблицы.
  • Для корректной работы на первой строке таблицы должны быть заголовки, совпадающие с именами полей формы.

Далее нажмите Опубликовать > Развернуть как веб-приложение. В настройках выберите:

  • «Кто имеет доступ» — «Все, даже анонимные»
  • Сохраните URL веб-приложения — он понадобится для Contact Form 7.

Шаг 2. Настройка Contact Form 7 для отправки данных в Google Sheets

В админке WordPress откройте нужную форму Contact Form 7 и добавьте необходимые поля. Например:

[text* your-name placeholder "Имя"]
[email* your-email placeholder "Email"]
[text your-phone placeholder "Телефон"]
[textarea your-message placeholder "Сообщение"]
[submit "Отправить"]

Теперь добавим отправку данных на Google Apps Script по вебхуку. Для этого используйте хук Contact Form 7 wpcf7_before_send_mail в functions.php вашей темы или в отдельном плагине:

add_action('wpcf7_before_send_mail', 'contactform7ru_send_to_google_sheets');
function contactform7ru_send_to_google_sheets($contact_form) {
  $submission = WPCF7_Submission::get_instance();
  if (!$submission) {
    return;
  }
  $data = $submission->get_posted_data();
  
  $url = 'ВАШ_URL_ВЕБ_ПРИЛОЖЕНИЯ_GOOGLE_APPS_SCRIPT'; // Замените на URL из шага 1

  $response = wp_remote_post($url, [
    'method' => 'POST',
    'timeout' => 15,
    'redirection' => 5,
    'httpversion' => '1.0',
    'blocking' => true,
    'headers' => [
      'Content-Type' => 'application/x-www-form-urlencoded',
    ],
    'body' => http_build_query($data),
  ]);

  if (is_wp_error($response)) {
    error_log('Contact Form 7 Google Sheets error: ' . $response->get_error_message());
  }
}

Объяснение:

  • Получаем данные формы через WPCF7_Submission::get_instance().
  • Отправляем POST-запрос на ваш Apps Script URL с данными формы в формате URL-кодирования.
  • В случае ошибки записываем её в лог.

Шаг 3. Настройка заголовков таблицы Google Sheets

Чтобы корректно записывать данные, в первой строке Google Sheets пропишите названия столбцов, соответствующие атрибутам полей формы. В нашем примере:

  • your-name
  • your-email
  • your-phone
  • your-message

Имена должны строго совпадать с ключами массива $data, чтобы скрипт правильно сопоставил данные с колонками.

Шаг 4. Тестирование и отладка интеграции

Отправьте тестовое сообщение через форму. Если всё настроено верно, данные должны появиться в Google Sheets в новой строке.

Если данные не появляются:

  • Проверьте права доступа веб-приложения Google Apps Script.
  • Убедитесь, что URL веб-приложения указан правильно в коде Contact Form 7.
  • Посмотрите логи ошибок WordPress через error_log.
  • Проверьте, совпадают ли заголовки таблицы и имена полей формы.

Дополнительные советы и рекомендации

Добавление проверки данных перед отправкой

Для улучшения качества данных можно добавить дополнительную валидацию в Contact Form 7, например, проверять телефон или email через фильтры, чтобы не отправлять в таблицу мусор.

Отправка только определённых полей

Если нужно отправлять не все поля, а только выбранные, отфильтруйте массив $data перед отправкой:

$allowed_fields = ['your-name', 'your-email', 'your-phone'];
$filtered_data = [];
foreach ($allowed_fields as $field) {
    $filtered_data[$field] = isset($data[$field]) ? $data[$field] : '';
}

Использование WPGPT для расширенной автоматизации

Если вы хотите автоматизировать анализ данных, генерацию отчетов или ответы на основе данных форм, рекомендуем обратить внимание на плагин WPGPT. Он интегрируется с WordPress и позволяет использовать ИИ для обработки информации прямо на вашем сайте.

Заключение

Отправка данных из Contact Form 7 в Google Sheets — мощный способ систематизировать информацию и автоматизировать рабочие процессы. Благодаря Google Apps Script и небольшому коду в WordPress интеграция становится доступной без лишних затрат и сервисов.

Если вы хотите расширить функционал своего сайта, советуем посмотреть другие полезные инструменты на WPShop.ru.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Contact Form 7: Автозаполнение полей формы по IP-адресу пользователя
20.02.2026
Contact Form 7: автоматическая отправка данных формы в Google Analytics через событие
02.02.2026
Contact Form 7: динамические поля с помощью шорткодов и фильтров
05.02.2026
Contact Form 7: как автоматически удалять отправленные данные и логи формы
02.06.2026
Contact Form 7: как добавить уникальные поля с калькулятором в форму
01.11.2025
×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙