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

Как сделать мультилендингВсем привет. Недавно я писал статью, о том, как привязать реферальные хвосты к заявке на 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 - видео

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

Понравилась статья? Не хотите пропустить следующие материалы о самостоятельном создании и раскрутке landing page?

Подпиcывайтесь на обновления!

Комментарии: 61

  1. Евгений

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

    • dimadv7

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

  2. Михаил

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

    • dimadv7

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

    • dimadv7

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

  3. Алексей

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

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

    • dimadv7

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

  4. Алексей

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

  5. Алексей

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

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

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

    • dimadv7

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

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

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

    • Сергей

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

    • dimadv7

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

  6. Алексей

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

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

    Redirect / http: //www.site.ru

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

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

    • dimadv7

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

  7. Егор

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

    • dimadv7

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

  8. Егор

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

    • dimadv7

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

  9. Quicksdk

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

    • dimadv7

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

  10. Павел

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

  11. Макс

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

    • dimadv7

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

  12. Макс

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

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

    • dimadv7

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

  13. Lizenkas

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

  14. Samborena

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

  15. Сергей

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

    • dimadv7

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

  16. Алексей

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

    • Евгений

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

  17. Иван

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

  18. Роман

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

    • dimadv7

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

      ?utm_content=bmw
  19. Павел

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

  20. Михаил

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

    • dimadv7

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

  21. Fredi3000

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

    • dimadv7

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

  22. Виталий Макаркин

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

    • dimadv7

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

  23. Влад

    Здравствуйте.
    Спасибо, все понятно, все работает!
    Подскажите, как можно задать ссылке кампаний выдерживание добавочных слов, что я имею в виду:
    Чтобы при 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

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

  24. Юрий

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

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

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

    • dimadv7

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

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

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

  25. Виталий

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

    • dimadv7

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

  26. Денис

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

    • dimadv7

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

  27. Денис

    В тексте сайта чтобы менялось на другие слова не как в заголовке.

  28. Денис

    т.е. в заголовке выводится один текст. в тексте при этом выводится другой текст или картинка

    • dimadv7

      Ну, в чем проблема-то? Как вы уже пробовали? Что не получилось? Какая ошибка?

  29. Денис

    допустим по слову «школа» заходят на сайт. В заголовке пишется Акция в тексте меняется цена.
    как поменять два разных параметра в одном условии?

    • dimadv7

      Ну я же говорю, создать еще переменные и выводить их где угодно:

      if($utm == 'shkola') {
      $multiTitle = 'Акция';
      $someVar = 'Текст';
      $someVar2 = 'Текст2';
      }
      
  30. Денис

    Спасибо. Пока писал вопрос сам понял как это все просто.
    Полезный сайт!

  31. Кир

    йо ребята!

    Вот сервис: __http://adfor.ru — не надо никакого программирования, можно менять на странице текст, телефоны, картинки, заголовки, названия кнопок, дополнительные поля формы вставлять и т.д.

    • Катя

      Кир, Как же вы задолбали уже спамить своими говносеривсами самопальными. Свой сайт в порядок привести не можете. На мобиле все съезжает, формы разваливаются, кнопки идут в разнос, видео не помещается, часть картинок тоже. Что вы людям можете предложить, если свой сайт в порядок привести не можете и что за сервис такой «хороший», который нуждается в спаме в комментариях.

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

    • dimadv7

      Катя, давай не так грубо! Пожалуйста. Но в чем-то ты права. Действительно, Кир. Какие преимущества у вас перед аналогичными сервисами. Что есть такого, чего нет у конкурентов? чем вы выделяетесь? Например, на фоне зарекомендовавшей себя Yagla, как отличный инструмент.

  32. Кир

    Екатерина, спасибо за обратную связь, непременно так будем делать. Все же рекомендую посмотреть видео и разобраться, как работает платформа, которая, кстати, не занимается привлечением аудитории.

    А еще спасибо за критику мобайл версии — всё никак руки не доходили 🙂

    По поводу отличий — основное и главное — ADFOR.RU работает с любым источником трафика. Там небу Adobe muse для визуального редактора и нету алгоритмов с псевдо машинным обучением. Зато есть возможность подрубить и запустить на любом источнике трафика.

    Инструмент отлично подходит для специалистов, кто работает с трафиком: директолог, арбитражник, медиабаер, медиапланер, СРА сеть, фрилансер-разработчик, фрилансер-маркетолог.

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