Как правильно добавить сбор согласий с политикой сайта на WordPress

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

Интересный скрин и подпись под ним.

Если сделать это неправильно, можно попасть на штрафы. В некоторых случаях рекомендуется собирать факты каждого согласия: выставленный чекбокс, дату и 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>

С помощью такого простого кода и формы мы собираем согласие пользователей в нужный момент.

Список литературы