# FAQ по лендингам

# Как определить проблему с лендингом?

Откройте консоль браузера Developer Tools. И посмотрите тексты ошибок.

# Как увеличить лимит загружаемых архивов с файлами локальных лендингов?

Вам нужно подключиться к своему серверу через терминал и внести изменения в двух директивах:

  1. Открыть /etc/php/php.ini и изменить значения в двух строках с 20 на 100
  • upload_max_filesize
  • post_max_size Не забудьте сохранить изменения, нажав на ctrl+X
  1. Открыть nano /etc/nginx/nginx.conf и изменить значение в строке
  • client_max_body_size Сохранить и выйти. После этого надо перезапустить процессы
service nginx restart
service php72-php-fpm restart

где 72 - это версия вашего php 7.2 (прописываете вашу версию)

# Почему скачанный с партнерки лендинг не ведет на мои офферы?

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

# Как перебросить все параметры через лендинг?

Решение для лендингов с редиректом.

Решение на PHP: <a href="http://domain.com/page2?id=123&<?= http_build_query($_GET) ?>">Ссылка</a>

Решение на JS: <script>document.write('<a href="http://offer.com/?affid=123&' + window.location.search.replace('?', '') + '">Ссылка</a>'</script>

# Как передать параметр, если на лендинге форма заказа?

Для локальных лендингов и с предзагрузкой: <input type="hidden" name="sub1" value="{subid}">

Для лендинов с редиректом: <input type="hidden" name="sub1" value="<?php echo urlencode($_GET['sub_id_1']);?>">

# Как не засчитывать переход на оффер?

Добавляйте к ссылке перехода на оффер параметр &exit=1. Пользователь попадет на оффер, но это не отразится на показателях LP Клики и LP CTR. Пример с макросом {offer}: <a href="{offer}&exit=1">Offer</a>

# Как вставить subid и другую информацию на лендинге (при использовании редиректа)?

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

Отредактируйте настройки лендинга. Добавьте необходимые параметры и макросы к URL лендинга: http://landing.com/page?model={device_model}&city={city:ru}&subid={subid}

На лендинге теперь можно вставить полученные параметры:

<html>
  <head>
     <script type="text/javascript">
       function getURLParameter(name) {
           return decodeURI(
               (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || ''
           );
       }
       </script>
  </head>
<body>
  Чехлы для телефона <script>document.write(getURLParameter('model'))</script> 
  в городе <script>document.write(getURLParameter('city'))</script>
</body>
</html>

Или на PHP:

Чехлы для телефона <?php echo htmlentities($_GET['model'])?>
 в городе <?php echo htmlentities($_GET['city'])?>

# Как вставить subid и другую информацию на лендинге (при использовании предварительной загрузки)?

Если у лендинга включена предварительная загрузка, то вы можете использовать все макросы прямо в коде лендинга. Пример использования макроса {subid}:

<script type="text/javascript"> 
var m1_product_id = 123; 
var ref = 123; 
var script = document.createElement("script"); 
script.src = "http://m1-shop.ru/send_order/?ref="+ref+"&s={subid}&w="+getC("w")+"&t="+getC("t")+"&p="+getC("p")+"&m="+getC("m")+"&product_id="+m1_product_id+'&out=1'; 
document.body.appendChild(script); 
</script>

# Почему не считаются метрики LP клики, LP CTR и Время продажи?

Чтобы считались эти метрики, необходимо настроить переход на оффер через Keitaro. Т.к. вам нужно добавить офферы в Keitaro, настроить в одном потоке сразу лендинги и офферы. На самом лендинге должен быть установлен код отправки на оффер.

# Как передавать параметры в пиксель FB?

Пример добавление кода для локального лендинга и с предзагрузкой:

<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');
// Insert Your Facebook Pixel ID below. 
fbq('init', 'FB_PIXEL_ID');
fbq('track', 'view', {
   subid: '{subid}'   
})
</script>

# Как подключить Keitaro к lpmotor.ru?

  • Зайдите на страницу "Кампании".
  • Создайте кампанию. Она нужна, чтобы отслеживать конверсии с лендинга.
  • Создайте один поток с действием "Ничего не делать". Иначе клики не будут считаться.
  • Зайдите на страницу "Лендинги".
  • Добавьте лендинг, заполнив название и URL.
  • Нажмите на "Инструкция".
  • Выберите вкладку "Скрипт отслеживания".
  • Выберите лендинг и кампанию.
  • Найдите: Код скрипта отслеживания и Код для страницы благодарности. Они пригодятся нам позже.
  • Зайдите в настройки сайта на lpmotor.ru (Настройки > Общие).
  • Вставьте код скрипта отслеживания.
  • Создайте страницу благодарности. Сейчас это делается через создание еще одного сайта в lpmotor.
  • Зайдите в Настройки > Общие. Вставьте снова код скрипта отслеживания и ниже код для страницы благодарности.
  • Теперь отредактируйте форму.
  • Зайдите во вкладку "Действие" и переключите на "Перейти по ссылке".
  • Впишите адрес вашей страницы благодарности и добавьте параметры. Пример, http://thankyou.lpmotortest.ru/?tid={id_lead}&sub_id_8={name}&sub_id_9={email}&sub_id_10={phone} В этом случае передается id_lead в качестве Tid и информацию с формы в sub_id_8, 9 и 10, чтобы видеть их в отчетах.

# Почему при "Показать HTML" не показываются картинки?

Keitaro показывает страницу не по тому адресу, что вы создавали страницу. Поэтому браузер не может найти картинки. Замените все адреса картинок на абсолютные: http://site.com/folder/image.png.

# Как исключить прямые посещения лендинга?

Решение на PHP:

<?php
if (!isset($_GET['_subid'])) {
    header('Location: http://example.com/campaign');
}
?>

Альтернативное решение:

  • Передавайте в URL лендинга параметр. Например, code=123 (http://landing.com/?code=123)
  • На лендинге добавьте код в самом начале страницы: <?php if (!isset($_GET['code']) && $_GET['code'] != '123') { die(); } ?>

# Нужно ли указывать полные пути до файлов в локальном лендинге?

Достаточно указывать относительные. Пример: <img src="images/photo.png" />

# Нужно ли ставить какой-нибудь код интеграции на локальный лендинг?

Нет. Лендинг уже работает через кампании.

# Почему дублируются клики в статистике при открытии лендинга?

Чаще всего это происходит при включенной опции "Ловить 404 ошибки" в настройках домена. Вы можете её отключить или поискать какие файлы запрашивает ваш лендинг, и которых не было в архиве.

Проверить можно через консоль Javascript.

# Почему в локальных лендингах не работают якоря (#anchor)?

Связано это с тем, что используемый basepath не умеет нормально работать с якорями. Поэтому, решение только одно: не использовать якоря, в скриптах применять class и id.

# Можно ли убрать base path в локальных лендингах?

Нет. Этим тегом указывается путь до всех стилей и картинок лендинга. Если нужно отстраниться от внешнего адреса, используйте действие "Показать HTML" и прописывайте вручную адрес всех файлов стилей и картинок.

# Почему не работает плавный скролл (scroll)?

Скорее всего, скроллинг настроен через якоря. Например, <a href="#order">. В случае использования baseHref, якоря перестают работать и становятся ссылками. Поэтому Keitaro заменяет якоря на такой js код: onclick="document.location.hash='order0';return false;". Это ломает плавный скролл, но оставляет якоря рабочими.

# Вариант починки плавного скролла (scroll)?

Ищем в ленде js код: функция или отдельно метод, в котором используется $('html, body').animate({…});

В общем .ANIMATE. это встроенный метод для библиотеки jQuery. Этот метод выполняет анимацию.

Он используется в методе селектор.Click() или селектор.on('touch, click). Выглядит так:

селектор.click(function() { $('html, body').animate(positionSelector , timeAnimate); })

Вот нам надо найти указанный селектор. Это обычно ссылка с классом. Класс указан как этот самой селектор. Типо: <a class=”to_form” href=”#”>ссылка</a>

Нам надо аккуратно изменить все ссылки, если анимация скролла не работает.

Оборачиваем ссылку в тег span , указаываем тегу класс, который был у ссылки. У ссылки убираем все аттрибуты (класс и href).

Получаем в итоге: <span class="to_form"><a>ссылка</a></span>

Проверяем работу.

# Как записать данные клика в php?

Используйте rawClick

$rawClick->get('parameter')

# Можно ли в коде локального лендинга использовать внешние svg?

Нет, внешние svg не будут работать.

Необходимо вместо <use ...></use> копировать и вставлять содержимое внешнего svg файла.

# Как показывать время на лендинге

Решение для PHP:

echo (new DateTime(null, new DateTimeZone("Europe/Moscow")))->format("Y-m-d H:i");

или

echo date('Y-m-d H:i');