Как добавить чекбоксы и обязательное согласие на обработку персональных данных в Contact Form 7

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

В Contact Form 7 это решается штатными средствами: обычным полем checkbox и специальным тегом acceptance. Они ведут себя по-разному, и если выбрать не тот вариант, форма либо начнёт отправляться без нужного подтверждения, либо будет постоянно выдавать ошибку валидации.

Чем обычный чекбокс отличается от обязательного согласия

Обычный чекбокс в Contact Form 7 — это поле выбора. Пользователь может поставить галочку или оставить поле пустым, а вы уже сами решаете, считать это обязательным или нет. На практике такой чекбокс удобен, когда нужно собрать дополнительный признак, но не блокировать отправку.

Обязательное согласие — это отдельный механизм. Он предназначен именно для подтверждения условий, и форма не отправится, пока пользователь не отметит галочку. Для этого в Contact Form 7 используется тег [acceptance]. Его не стоит заменять обычным чекбоксом с пометкой «обязательно», потому что визуальная пометка сама по себе не включает нужную логику проверки.

Если коротко:

  • [checkbox] — поле выбора, которое может быть обязательным или необязательным в зависимости от настроек;
  • [acceptance] — согласие, без которого отправка формы блокируется;
  • для юридически значимого подтверждения обычно используют именно [acceptance], а не обычный чекбокс.

Как добавить обычный чекбокс в форму

Если вам нужно просто дать пользователю выбор, добавьте чекбокс в редактор формы Contact Form 7. Например, для подписки на новости или согласия получать ответ по мессенджеру.

Пример простого поля:

[checkbox newsletter use_label_element "Хочу получать новости и акции"]

Здесь newsletter — имя поля. Именно оно используется в mail-tag при отправке письма, если вы хотите вывести выбранное значение в уведомлении. Например, в шаблоне письма можно вставить [newsletter].

Если чекбоксов несколько, можно задать несколько вариантов:

[checkbox contact_method use_label_element "Звонок" "WhatsApp" "Telegram"]

В таком случае пользователь может выбрать один или несколько вариантов в зависимости от конфигурации поля. Для обычной формы это удобно, когда нужно уточнить предпочтительный канал связи.

Проверьте два момента:

  • имя поля в форме и mail-tag в письме должны совпадать;
  • если поле необязательное, не ждите, что оно само заблокирует отправку.

Как сделать обязательное согласие на обработку персональных данных

Для согласия на обработку персональных данных в Contact Form 7 лучше использовать тег [acceptance]. Он не просто показывает галочку, а участвует в проверке формы. Пока пользователь не подтвердит согласие, отправка не пройдёт.

Пример рабочей конструкции:

[acceptance consent] Я даю согласие на обработку персональных данных и принимаю условия <a href="/privacy-policy/" target="_blank" rel="noopener noreferrer">политики конфиденциальности</a>.[/acceptance]

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

Есть важная практическая деталь: не стоит прятать согласие среди других полей или делать его неочевидным. Если человек не понимает, что именно подтверждает, это плохой вариант и с точки зрения UX, и с точки зрения юридической аккуратности.

Когда согласие должно быть обязательным

Обязательное согласие имеет смысл, если форма собирает имя, телефон, email, комментарий или другие данные, по которым можно идентифицировать человека. В этом случае галочка должна быть отдельной, заметной и не предустановленной.

Не рекомендую ставить галочку по умолчанию. Для согласия это плохая практика: пользователь должен совершить явное действие сам. В Contact Form 7 acceptance-поле как раз рассчитано на такой сценарий.

Как оформить поле, чтобы его было понятно заполнять

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

Хороший вариант — короткая подпись рядом с чекбоксом и отдельная ссылка на политику. Плохой вариант — длинный юридический текст, который никто не дочитает, или формулировка в духе «Соглашаюсь со всем». Лучше писать конкретно:

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

Если форма короткая, согласие лучше ставить ближе к кнопке отправки. Если форма длинная, не прячьте его в самом конце мелким шрифтом — пользователь может не заметить обязательное поле и решить, что форма сломана.

Как не сломать отправку формы и уведомления

После добавления чекбокса или acceptance-поля важно проверить не только внешний вид, но и всю цепочку обработки: валидацию, отправку и письмо администратору. В Contact Form 7 форма может выглядеть как отправленная успешно, но проблема иногда возникает уже на этапе уведомления.

Проверьте следующее:

  • в форме нет опечатки в имени поля;
  • mail-tag в шаблоне письма совпадает с именем поля;
  • обязательное согласие действительно оформлено через [acceptance], а не через обычный [checkbox];
  • в шаблоне письма не используется пустой или неверный тег;
  • текст согласия не конфликтует с HTML-разметкой темы или конструктора страниц.

Если после отправки появляется сообщение об успехе, но письмо не приходит, это уже не проблема чекбокса как такового. Тогда нужно отдельно проверять настройки Mail, адрес получателя, заголовки письма, работу почтового сервера и, при необходимости, SMTP. Успешная отправка формы в интерфейсе Contact Form 7 не гарантирует доставку письма в почтовый ящик.

Пример формы с обычным чекбоксом и обязательным согласием

Ниже пример, который можно адаптировать под типовую контактную форму:

[text* your-name placeholder "Ваше имя"]
[email* your-email placeholder "Email"]
[tel your-phone placeholder "Телефон"]
[checkbox newsletter use_label_element "Хочу получать новости и акции"]
[acceptance consent] Я даю согласие на обработку персональных данных и принимаю <a href="/privacy-policy/" target="_blank" rel="noopener noreferrer">политику конфиденциальности</a>.[/acceptance]
[submit "Отправить"]

В шаблоне письма можно вывести только то, что действительно нужно администратору. Например, если чекбокс подписки важен для обработки заявки, добавьте mail-tag [newsletter]. Если нет — не выводите его в письмо, чтобы не перегружать уведомление лишними данными.

Для поля согласия обычно не требуется выводить его значение в письмо. Важнее, чтобы форма не отправлялась без подтверждения. Сам факт успешной отправки уже означает, что пользователь согласие отметил.

Как проверить, что всё работает правильно

После сохранения формы откройте страницу с формой и проверьте три сценария:

  1. Отправка без галочки согласия. Форма должна показать ошибку и не отправляться.
  2. Отправка с галочкой согласия. Форма должна пройти проверку и показать успешный результат.
  3. Проверка письма администратора. В уведомлении должны быть корректные данные из полей, а не пустые или сломанные теги.

Если форма не отправляется даже с отмеченным согласием, проверьте, не добавили ли вы лишние символы в тег [acceptance] или не сломали ли HTML внутри текста. Если письмо уходит, но данные в нём отображаются неправильно, почти всегда проблема в несоответствии между именем поля и mail-tag.

Что учитывать на сайтах с персональными данными

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

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

На практике для Contact Form 7 рабочая схема обычно выглядит так: обычные поля для заявки, отдельный [acceptance] для согласия, понятная ссылка на политику, проверка отправки и проверка письма. Если всё это настроено аккуратно, форма остаётся удобной для пользователя и не создаёт проблем с валидацией или уведомлениями.

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

⭐⭐⭐⭐⭐
Contact Form 7: универсальные хуки для расширения функциональности
03.10.2026
Contact Form 7: как создать свой шорткод для формы в WordPress
02.10.2026
Как добавить чекбоксы и обязательное согласие на обработку персональных данных в Contact Form 7
19.10.2026
Contact Form 7: как отправлять данные формы во вторые сервисы через Webhook
03.10.2026
Contact Form 7 и Magento: способы интеграции и обмена данными
03.10.2026
×
Твой WordPress — твои правила!

Топовые темы и плагины со скидкой 20%.

Забрать выгодно ⋙