Заметка №5: Перехватываем ключевое слово передаваемое UTM-меткой

В своих проектах часто использую плагин обратной связи Contact Form 7, на мой взгляд самый многозадачный и простой в использовании. От одного клиента поступил заказ сверстать landing page под WordPress, но это мы опустим так как здесь загвоздок не было. Разберем нюанс, связанный с формами обратной связи, который заставил меня подумать.
Сложность, даже не сложность, а банальное неведение, состояла в том, что ему в сообщениях с сайта кроме данных, которые указал посетитель, необходимы еще и ключевые слова, по которым тот или иной клиент перешел из Директа. Хорошо что в Директе были настроены utm-метки, это означало что сайту через url уже передаются какие то данные в виде _GET параметров, которые потом отображаются в Метрике, оставалось их только перехватить.

Пример url c utm-метками:
http://site.ru/contacts/?utm_source=yandex|{source_type}|{source}&utm_medium=cpc&utm_campaign={campaign_id}&utm_term={keyword}|{addphrases}Меня интересовал utm_term, эта метка содержит в себе ключевое слово контекстной рекламы. Примерный код ловли ключевых с помощью php:
<form action="" method="post">
<?php
echo '<input type="hidden" name="key" value="'.$_GET['utm_term'].'" size="40">'
?>
<input type="text" name="name" value="" size="40" placeholder="Имя">
<input type="text" name="phone" value="" size="40" placeholder="Телефон">
<input type="text" name="email" value="" size="40" placeholder="E-mail">
<input type="submit" value="Отправить">
</form>
<?php
$key = $_GET['utm_term'];
......
?>

Теперь значение, а именно ключевое слово у вас в переменной $key, с которой можно делать все что угодно, вплоть до размещения его в функции mail(), не забывайте проверять на пустоту и допустимые значения.

Шорткоды плагина Contact Form 7 — Dynamic Text Extension

Выше описан только принцип, который будет работать во всех самописных формах связи. В моем же случае, что бы не заморачиваться с кодом Contact Form 7, я пошел дальше и нашел плагин Contact Form 7 — Dynamic Text Extension, который умеет принимать _GET параметры пришедшие из вне и не только их, вот список шорткодов для вставки в шаблон формы:
[dynamictext dynamicname "CF7_GET key='какая-то ваша переменная'"] - Для получения передаваемых через URL _GET значений.
[dynamictext dynamicname "CF7_POST key='какая-то ваша переменная'"] - Захватывает значение переменных из массива _POST.
[dynamictext dynamicname "CF7_bloginfo show='url'"] - Информация о сайте, в данном случае покажет URL главной страницы, также можно вывести название.
[dynamictext dynamicname "CF7_get_post_var key='title'"] - Заголовок статьи от куда отправилось письмо.
[dynamictext dynamicname "CF7_URL"] - Текущий URL страницы, то есть страница откуда было отправлено письмо.
[dynamictext dynamicname "CF7_get_custom_field key='name_field'"] - Добавит в письмо значение произвольного поля, "name_field" устанавливаете вы сами, относительно того какое поле нужно вытащить из статьи.
[dynamictext dynamicname "CF7_get_current_user"] - Покажет в письме данные о пользователе, если он авторизовался на сайте.
[dynamictext dynamicname "CF7_referrer"] - Я так понимаю что выводит сайт от куда перешел пользователь, не использовал

Вот так выглядел шорткод для получения ключевого слова [dynamictext dynamicname «CF7_GET key=’utm_term'»], его нужно вставить в шаблон формы. По этому принципу можно перехватить любое значение utm-меток.

Сontact form 7

Собственно все. Будут какие то вопросы, или увидели неточности, пишите.

Всего ( 0 )
  • Жду ваших комментов

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *