На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Отправка данных после ухода посетителя, или повышаем конверсию лендинга


Сейчас работаю над одним интересным проектом – модернизацией лендинга. Сначала настроил защиту от спама – причем собственно написанную, без капчи (так как падает конверсия при наличии капчи) – когда-нибудь напишу по этой работе статью, если будет время и желание. Но сейчас поговорим о другой доработке лендинга – это отлов посетителей, не отправивших форму.

Посетитель может не оставить заявку на сайте (заказать обратный звонок) по разным причинам. Например, стоит ограничение по числу символов в имени – он нажал отправить, а окошко с ошибкой не заметил. Или не смог нажать отправить – какое-нибудь расширение на его браузере заблокировало операцию. В этом случае он уходит, закрывает вкладку и мы его потеряли. Как этого избежать? Очень просто.

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

Итак, предположим на нашем лендинге несколько форм. Для простоты будем забирать только одно поле из них – поле телефон – именно оно нам и требуется в большинстве случаев. Для этого ставим обработчик закрытия окна:

$(window).unload(function () {
Создаем и заполняем массив значений поле телефон:

var tel = [];
$('input[name="tell"]').each(function(index, element){
  tel.push($(element).val());
});
Отправляем get-запрос с помощью ajax:

   $.ajax({
     type: 'GET',
     async: false,
url: 'obrab.php?tel='+tel[0]+','+tel[1]+','+tel[2]+','+tel[3]
});
Обратите внимание, что запрос должен быть обязательно асинхронным, иначе, к примеру, гугл хром нам ничего не отправит. Теперь надо разобрать обработчик этого самого запроса. Примерный код:

$conn = new mysqli("хост", "имя", "пароль", "база");
$tel = $_GET['tel'];
$result = $conn->query("INSERT INTO `таблица ` (`id`,`times`, `tel`) VALUES (NULL, '".$tel."');");
$conn->close();
Как видите, тоже ничего сложного нет. Подключаемся, получаем телефоны, заносим их в таблицу, закрываем соединение. Можно добавить ip-адрес, реферер посетителя (или с какой страницы идет запрос), время и так далее. Можно разобрать телефоны, добавить отправку имени и текста, в общем, возможностей немало.

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

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




тегизаметки, javascript, php, лендинг





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




JS: сложение иногда совсем не сложение
Реанимация флешки-зайца


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.