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

Если сделать это неправильно, можно попасть на штрафы. В некоторых случаях рекомендуется собирать факты каждого согласия: выставленный чекбокс, дату и IP адрес пользователя.
Подводка к главной мысли
Если ваш сайт использует популярные конструкторы вроде Elementor, то сбор согласий можно реализовать через базовый функционал
Схема создания сбора согласий
- Добавляем в нужное место плагин Elementor -> Форма
- Убираем стандартные поля имя и email, добавляем поля типа «согласие» (галочка), в них можно давать ссылку на политики
- Создаем скрытое поле и в значение по умолчанию записываем актуальную версию политики, в дальнейшем обновляем значение при обновлении политик
- Прописываем нужные стили, если необходимо
- Добавляем дополнительные скрипты, если необходимо (см ниже)
Что еще можно сделать
Можно добавить скрипт, который скрывает форму согласия и показывает другой элемент сайта.
<script>
document.addEventListener('DOMContentLoaded', function() {
const checkbox1 = document.getElementById('form-field-consentCheckbox1');
const checkbox2 = document.getElementById('form-field-consentCheckbox2');
const consentBlock = document.getElementById("concent_form");
const consentButton = document.getElementById("concent-button");
const consentTextElement = document.querySelector("[text-id='consent-text']");
// Обработка изменения чекбокса
consentButton.addEventListener('click', loadIframe );
function loadIframe() {
if (checkbox1.checked & checkbox2.checked) {
// Прячем блок согласия
consentBlock.style.display = "none";
consentTextElement.style.display = "none";
// Тут выполняем другие скрипты
//закрыли if
}
});
</script>