Smartlanding

Скрипт мультилендинга

Как сделать мультилендингВсем привет. Недавно я писал статью, о том, как привязать реферальные хвосты к заявке на landing page. По факту, мы получали данные UTM из адресной строки, запоминали их в скрытых полях и передавали в обработчик, как и данные из обычных полей. Подобным образом можно менять контент на странице, в зависимости от того, по какой фразе к нам пришел посетитель. Сейчас, сайт с такой функцией называют мультилендинг, и сегодня мы разберем php скрипт который поможет нам реализовать такой функционал на своем landing page.

Как сделать мультилендинг

Давайте наконец разбираться, как же сделать мультилендинг самостоятельно, без использования сторонних сервисов, за которые нужно платить деньги. Кстати, если надумаете внедрять, пожалуйста, поделитесь потом результатами конверсии. Буду очень признателен за скриншоты в духе «До/После» и если хотите, разместим скрин вместе со ссылкой на ваш лендинг в конце статьи как доказательство работоспособности инструмента. Думаю, это пойдет только в плюс вашему проекту (лишняя естественная ссылка).

Итак, для работы нам понадобится php, а значит, в случае необходимости, нужно переименовать вашу главную страницу с index.html в index.php. Это никак не повлияет на работоспособность лендинга.

Теперь, давайте поставим себе задачу. Допустим я хочу, чтобы у меня на лендинге менялся заголовок в зависимости от запроса. Например, я подобрал такие запросы:

И хочу, чтобы пользователям, при переходе по конкретному запросу, показывался наиболее релевантный заголовок. Давайте под каждый запрос создадим ссылку с UTM меткой. Ориентироваться будем на параметр «utm_content» (Вы можете выбрать любой).

Итак, для запроса «Создание landing page» — utm_content=sozdanie, для «Верстка landing page» — utm_content=verstka, а для «Разработка landing page» — utm_content=razrabotka.

Теперь приведу сам php скрипт:


<?php
 $utm = $_GET['utm_content'];

 if($utm == 'sozdanie') {
   $multiTitle = 'Создание landing page';
 }
 elseif($utm == 'verstka') {
   $multiTitle = 'Верстка landing page';
 }
 elseif($utm == 'razrabotka') {
   $multiTitle = 'Разработка landing page';
 }
 else{
   $multiTitle = 'Блог о создании landing page';
 }
?>

Как видите, при помощи _Get запроса ловим нужные нам данные (utm_content или любой другой интересующий нас параметр), а затем следует элементарное условие. Если значение параметра «sozdanie», то сохраняем в переменную текст «Создание landing page» и выводим в нужное место таким образом:

<h1>Smartlanding.biz - <span><?php echo $multiTitle; ?></span> </h1>

То есть если пользователь перейдет по ссылке с utm меткой в которой параметр utm_content=sozdanie, то он увидит надпись: Smartlanding.biz — Создание landing page. Вот так все просто.

Если не одно из условий не сработало, то выводим значение по умолчанию:

else{
   $multiTitle = 'Блог о создании landing page';
 }

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

скрипт мультилендинга

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

Некоторые ребята, предлагали даже делать кучу разных страниц с разным контентом и давать разную ссылку в зависимости от запроса. Но это уж слишком муторно. Поэтому вот вам исходник. Пользуйтесь :) кроме того, можно менять не только текст, но и картинки, и другой тип контента. А на сегодня — все! Буду благодарен за ретвит. Всем пока!

Кстати, более актуальная версия скрипта, с админкой, возможностью добавления ключевых фраз и параметров UTM меток находиться здесь.

Скачать исходник

Как сделать multilanding — видео

Решил записать небольшое видео и дополнить его выводом разных картинок, так как часто пишут с вопросом о том, как менять и изображение. На сам деле все очень просто… Смотрите:

Поделитесь статьей в социальных сетях, чтобы не потерять

84 комментария

  • Евгений

    Расскажи поподробней о смене текста, картинок и т.д.

    Ответить
  • dimadv7

    А что непонятно то, например, с текстом? Есть переменная utm, в нее сохраняем нужный параметр utm метки. Если это параметр пришел, то выводим в нужное место заранее заготовленную переменную с нужным текстом: $multiTitle = 'Создание landing page'; Вместо текста можно вставить картинку и т.д. В кавычках работают любые теги html. Спроси конкретней, попробую ответить тоже конкретней.

    Ответить
  • Михаил

    Подскажите, с помощью каких операторов можно проверить вхождение конкретных слов в полученных из UTM-меток фразах. Ведь на практике мы рекламируемся по многим ключевым словам. Это могут быть тысячи ключей. И если подставлять их дословно, то может получиться несогласованные и некрасивые сочетания, к тому же с маленькой буквы (если, конечно, не делать еще дополнительную программную обработку для преобразования к виду с большой буквы). К тому же если делать подстановку в UTM при помощи макросов рекламных систем, то в итоге на лендинге может получиться что-нибудь вроде «шаблоны landing page +для web builder бесплатно», что будет выглядеть как-то не очень. А вот если мы сгруппируем наши ключевые слова по нескольким группам, например, «заказать лендинг» и все варианты, «заказать landing page» и все варианты, «заказать продающий сайт» и все варианты, а потом с помощью операторов будем определять, к какой группе у нас относится фраза и подставлять один из заранее составленных вручную заголовков, тогда будет выглядеть «человечнее». Ну и какой-то стандартный вариант должен быть предусмотрен, чтобы подставлялся, в том случае, если фраза не входит ни в одну из наших заготовленных групп.

    Ответить
  • dimadv7

    Ну так почти все, что вы сказали и описано в статье. Группирую по параметру в utm_content, вариант по умолчанию предусмотрен, все в ручную все равно прописывать придется. Не совсем понял что еще вы хотите сделать. Ну группируйте как вам нужно и по нужному параметру подставляйте. Например, для параметра zakazat выберите подходящие ключи: «Заказать лендинг пейдж», «Заказать посадочную страницу», «Заказать верстку» и т.д. Вы же сами создаете utm метки, вот и присвойте нужный параметр для выбранных ключей. Что-то совсем не понял вас… Зачем проверять конкретное слово? Выделите для себя ключевые слова, разбейте по группам, дайте каждой группе параметр и выводит нужный текст при захвате конкретного параметра. Мы же подставляем слова из utm метки, мы просто смотрим параметр, и выводи любую фразу, на наше усмотрение.

    Ответить
  • dimadv7

    Алгоритм же какой, например, у нас есть 20 ключей которые объединены параметром zakaz, затем мы проверяем, есть ли такой параметр в адресной строке, если есть, то выводим фразу, которую считаем релевантной этому параметру, в данном случае что-то связанное с «Заказом». Вот и все. Мы же не берем ключевые слова и не вытаскиваем их из utm метки, чтобы подставить в текст. Или я вас не понял или вы что-то не поняли :) А так, придется писать под каждый запрос свою фразу, которую хотим отобразить на сайте.

    Ответить
  • Алексей

    Привет. Сделал все, как написано, но не работает. Скачал исходник, тоже не работает.

    Понимаю, что косяк у меня. Файл я пытаюсь открыть на компе. Может в этом проблема?

    Ответить
  • dimadv7

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

    Ответить
  • Алексей

    Залил на сервер все ок.
    Теперь вопрос ещё появился.
    А что написать, чтобы картинка менялась?

    Ответить
  • Алексей

    Разобрался.
    Добавил в условия:
    $imagetitle ='название_картинки';
    Саму картинку вставил так: <img src=".jpg»>

    Спасибо большое за статью.

    p.s. А можно ли как-то php-кусок в файл «убрать» и подключить его.

    Ответить
  • dimadv7

    Привет, хорошо)) Извини, вчера уже не заходил не видел твой вопрос. Код наверное не вставися, wp его режет. Конечно можно, но только для этого index.html нужно переименовать в index.php и подключать php файл как обычно.

    <?php include "script.php";?>

    , но думаю нужно позаботиться, чтобы не было прямого доступа к скриптам. То есть закрыть прямой путь к файлу. Чтобы например при заходе по адресу site.ru/script.php, например, происходил редирект на главную. Про функцию header Location почитай, там не сложно вроде.

    Ответить
  • Алексей

    Спасибо большое. Сделал! Вообще у вас очень полезный сайт.

    1. Создаем файл с именем .htaccess.
    2. Кладем этот файл в корневую директорию*
    В этом файле прописываем:

    Redirect / http: //www.site.ru

    где «/» — директория, к которой, если человек будет обращаться, то его перекинет на главную страницу сайта. Например, у вас есть папка /php, в которой лежит файл file.php. Вот если человек введет директорию, где фигурирует папка php ( site.ru/php/…), то его перекинет на главную страницу.

    *Данный файл будет действовать на все дерево файлов папки, в которую мы его положили.
    Например, если вы в корень положили его, то он будет на весь сайт действовать. А если положили в папку /css, то будет на все файлы действовать в этой папке /css, а так же на файлы /css/…
    По сути можно в каждую корневую папку такой файл положить. Но зачем это делать, если можно один в корень положить.

    Ответить
  • dimadv7

    Спасибо. Я сразу даже не понял о чем ты сейчас. А ты о редиректе через .htaccess ))) Ну да, совсем забыл, что можно и через него сделать, даже, наверное, проще)

    Ответить
  • Егор

    Здравствуйте. Немного недопонял. Технически то ясно. А вот = Например, если человек набирает в поисковике Создание landing page, то ему поисковике подставляется название релевантное запросу? А если Создание landing page в Москве, то заголовок меняется на данный, заданый меткой?

    Ответить
  • dimadv7

    Здравствуйте. Ну мы же говорим о utm метках, так как при переходе из поисковика запрос шифруется и мы не сможем вытянуть эту информацию. Поэтому, если человек переходит не по ссылке с utm меткой, то ему показывается значение по умолчанию)

    Ответить
  • Егор

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

    Ответить
  • dimadv7

    Если взять за правило, одно ключевое слово — одно объявление, то все отлично работает и в Яндекс Директе. Соответственно и заголовок под любой запрос будет подставляться. Собственно я всегда и делал так :) И всем советую)

    Ответить
  • Quicksdk

    Дмитрий, а не подскажете, как мне таким же образом сделать мултизаголовки на WordPress?
    На обычных статических лендингах все работает прекрасно.
    Спасибо!

    Ответить
  • dimadv7

    Ну вам нужен плагин, который бы исполнял скрипты php и js в статье. Это распространенная проблема и плагинов очень много в интернете. После установки, все точно также как в статье делаете.

    Ответить
  • Сергей

    Алексей, доброго времени суток.Расскажи подробнее о подмене изображений,а то не понятно,какое «название картинки» и куда вводить.Можешь дать пример?

    Ответить
  • Павел

    Здравствуйте. Спасибо за скрипт. У меня вопрос, как можно сделать отдельный файл например txt где была бы база ключ= заголовок с разделителя по например через ; и брать данные оттуда. Было бы на много удобнее создавать под каждую фразу заголовок и не нужно бы было приписывать вручную кучу if else. Возможно пишу очень подилетантски так как я не программист, но мне кажется по логике было бы на много удобнее. Подскажите как это реализовать?

    Ответить
  • dimadv7

    Я не Алексей, но попробую помочь) Записал видео и выложил в конце статьи. В нем есть пример, как менять и картинки. Посмотрите)

    Ответить
  • Макс

    Привет! Скрипт работает, но есть очень важный для меня момент. У меня в директе ключи не разбиты на группы, все идут в разнобой (1 ключ — 1 объявление это само собой), но группы есть в эксель файле (делал для эдвордса)…и очень долго добавлять utm параметр для каждого ключа, сначала найдя в моём экселе к какой там группе он относится. Нельзя ли сделать так, чтобы скрипт мог искать нужное слово или его часть в ключевой фразе, которая есть у меня в utm_term? В JS скрипте такое вроде как возможно, а хотелось бы сделать на примере данного php скрипта.

    Ответить
  • dimadv7

    Так скрипт и так это делает. Проверяет в указанном параметре (utm_term) наличие ключевого слова и если оно совпадает с указанным, то показываем соответствующий текст или картинку на странице. Вообще, наверное было бы удобнее хранить базу ключевых слов в txt файле, и проверять совпадает ли он с тем, что в utm_content, но руки не доходят разобраться с этим, хотя там просто вроде, но не знаю насколько это быстро будет происходить. Это я для примера разбил на группы. Как нибудь попробую разобраться и подготовить статью, чтобы можно было загрузить все ключи в файл и работать с ним, но вот насколько это оправдано и как быстро работать будет, пока не знаю. Просто писать условие под каждый запрос придется.

    Ответить
  • Макс

    Я может не до конца четко расписал проблему. Проще тогда будет на конкретном примере. Допустим, у меня utm_term=автомобильный, в скрипте elseif($utm == 'автомобильный') — при таком раскладе, конечно всё работает, но в utm_term у меня целые ключевые фразы, а не отдельные слова, соответственно при utm_term=автомобильный_набор_инструментов и elseif($utm == 'автомобильный') скрипт уже не работает.

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

    Ответить
  • dimadv7

    Ясно, нет, не знаю как выдернуть часть фразы из адресной стоки или конкретного параметра utm метки, особенно с учетом того, что нужное нам слово, может находиться как в начале, так и в середине или конце((

    Ответить
  • Lizenkas

    Видимо что-то не так сделали. Базу импортировали? Вы на локальным хосте тестируете? Опиши те подронее, проблему. Что, куда и как копируете Главная страница открывается?

    Ответить
  • Samborena

    Видимо что-то не так сделали. Базу импортировали? Вы на локальным хосте тестируете? Опиши те подронее, проблему. Что, куда и как копируете Главная страница открывается?

    Ответить
  • Сергей

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

    Ответить
  • dimadv7

    Да можно конечно, но я с этим пока не разбирался

    Ответить
  • Алексей

    Здравствуйте, то-есть я правильно понял, что нельзя этот скрипт воткнуть в html версию сайта? Я работаю в adobe muse.
    подскажите как быть?

    Ответить
  • Евгений

    Возможно, наверное, но нужно разрешить исполнение php в html при помощи .htaccess А вообще, что стоит изменить html на php. 4 буквы в расширении заменить на 3. Делов то…

    Ответить
  • Иван

    Спасибо большое! Замечательный блог у вас! А я свой так и не довел до ума)

    Ответить
  • Роман

    У меня почему то работает только с первыми двумя значениями, всего из около 30, если в utm вставляю любое кроме 1го и 2го выводит значение по умолчанию. что не так?
    сайт __http://a-import.starline-nt.ru
    utm: acura, alfaromeo, audi, bmw и тд

    Ответить
  • dimadv7

    Сейчас подставляю значения всех вами указанных марок и работает… Подставлял:

    ?utm_content=bmw
    Ответить
  • Павел

    DIMADV7, а не подскажешь, как можно сделать, чтобы в зависимости от utm метки переключалась вкладка в скрипте? Вот сайт: стоматология-нижний.рф . Например, если человек заходит по протезам, то чтобы сразу была открыта вкладка Протезирование и т. д. Можешь подсказать?

    Ответить
  • Михаил

    DIMADV7 здравствуйте!
    Изучил Ваш блог по созданию мультилендингов. Спасибо статья интересная и полезная. С заголовками все работает, но я не моргу разобраться как делать замену изображений. у меня все изображения находятся в таблице стилей css. Сайт на WordPress

    Ответить
  • dimadv7

    Здравствуйте. Да я не в курсе как менять картинки, если они заданы в css, в зависимости от того, что пришло в адресную строку… Может только если разные таблицы стилей подключать, но это конечно жесть.

    Ответить
  • Fredi3000

    День добрый! Подскажите пожалуйста, сайт на джумле 3. создал php файл,закинул в корень. В материал вставляю код, но на сайте заголовок вообще ни какой не выводится. Правда у меня фильтрация по utm_term происходит. я в php совсем ноль, а так хочется, чтобы заработало. Помогите плиз. сайт__compkyrs.ru

    Ответить
  • dimadv7

    Да я с joomla совсем не работал, не знаю как там все устроено.

    Ответить
  • Виталий Макаркин

    А как это влияет на SEO? Дублированный контент, клоакинг?

    Ответить
  • dimadv7

    Придется выбрать: «SEO или реклама». Я не видел успешного примера продвижения лендинга при помощи SEO, по более — менее среднечастотному или высокочастотному запросу, только по какому-нибудь ультранизкочастотному в 50 — 60 запросов в месяц. И в таких случаях лучше плюнуть на SEO воспользоваться контекстом и получить тех же 50 — 60 за час — два.

    Ответить
  • Влад

    Здравствуйте.
    Спасибо, все понятно, все работает!
    Подскажите, как можно задать ссылке кампаний выдерживание добавочных слов, что я имею в виду:
    Чтобы при website.com/?utm_content=sozdanie_bla или website.com/?utm_content=sozdanie_bla_bla выводило тот-же контент что прописан для website.com/?utm_content=sozdanie
    Заранее благодарен.

    Ответить
  • Влад

    Т.е. чтобы к utm_content=sozdanie можно было дописать в ссылку любой текст, перейти по ней и контент по кампании sozdanie нормально выводился, так для всех кампаний.

    Ответить
  • dimadv7

    Я пока не в курсе, как такое сделать, если utm-content уже занят у вас, отслеживайте по какому-нибудь другому параметру. Любому)

    Ответить
  • dimadv7

    Думаю, нужно разобрать массив по слешам, потом дернуть нужный элемент и проверить его каким-то образом.

    Ответить
  • Юрий

    Если зайти на сайт напрямую, без utm-меток, то появляется ошибка Notice:

    Undefined index: utm_campaign in /var/www/……….

    Это можно исправить цивилизованным методом?

    Ответить
  • dimadv7

    У меня не возникало такой проблемы, вообще, это предупреждение — не ошибка и на «боевом проекте» подобные ошибки и предупреждения стараются не выводить пользователям. Для это полностью отключают вывод предупреждений и ошибок, сделать это можно так:

    ini_set('display_errors','Off');
    error_reporting('E_ALL');
    

    Вставлять это в само верху, после открытия php

    Ответить
  • Виталий

    Как в скрипт мультилендинга вставить обычную ссылку (utm метку) полностью?

    Ответить
  • dimadv7

    Ничего не понял… Куда конкретно вставить? Зачем? А сейчас не полностью вставлена utm-метка? Зачем вставлять обычную ссылку?

    Ответить
  • Денис

    А как сделать чтобы на разные фразы менялся текст в разных местах.
    к примеру utm_content=»создание» меняется текст в заголовке.
    utm_content=»разработка» меняется текст в заголовке и в тексте сайта

    Ответить

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