# Описание типов интеграций

Keitaro позволяет интегрироваться большим числом способов: от использования обычной ссылки до подключения KClient PHP или KClient JS. Ниже рассмотрены основные виды интеграций.

# Ссылка (URL)

Используется для прямой отправки трафика в кампанию. Это могут быть объявления в рекламных сетях.

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

//Плюсы://

  • Подходит для рекламных сетей
  • Подходит для ссылок
  • Не требует PHP и JS

//Минусы://

  • В качестве ссылки не перебрасывает параметры из URL.

Пример:

https://demo-ru.keitaro.io/8JdJ4D?keyword={keyword}&external_id={click_id}&creative_id={creative_id}&ad_campaign_id={campaign_id}&source={domain_id}

# Динамически создаваемая ссылка

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

//Плюсы://

  • Передает все параметры и рефереры со страницы, где размещена ссылка.

//Минусы://

  • Уже не подходит для рекламных сетей

Пример ссылки:

<span id="cdb44106-7087-1193-cb40-e6e28409e66d"></span>
<script type="application/javascript">
document.getElementById('cdb44106-7087-1193-cb40-e6e28409e66d').innerHTML = '<a href="http://demo-ru.keitaro.io/LNtLfH?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'">Link</a>';
</script>

# Принудительный PHP редирект

Моментальный редирект на PHP. Вставьте его на страницу, которая должна уводить посетителей.

# iframe

Создание тега iframe с загрузкой кампании внутри него.

Для показа полноэкранного фрейма посмотрите способ интеграции "Фреймсет".

Обратите внимание на список совместимых редиректов и действий.

//Плюсы://

  • Подходит для конструкторов сайтов
  • Подходит для выполнения редиректов и показа чего-либо на странице

//Минусы://

  • Выполняется как JS код
  • Может блокироваться Adblock’ами

Пример:

<div id="a7d02a82e-2b52-b413-fbd4-c1422aa64e8e"></div>
<script type="application/javascript">
document.getElementById('a7d02a82e-2b52-b413-fbd4-c1422aa64e8e').innerHTML = '<iframe sandbox="allow-top-navigation allow-scripts allow-popups allow-forms" frameborder="0" width="" height="" src="http://demo-ru.keitaro.io/8JdJ4D?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'&frm=frame"></iframe>'
</script>

# Script асинхронный

Создание тега script. Применим для выполнения редиректов из потоков (редирект "Редирект для Script") или загрузки внешних скриптов (действие "CURL").

Если сайт, на котором стоит код использует https, то и трекер должен быть на https.

//Плюсы://

  • Подходит для конструкторов сайтов
  • Подходит для запуска JS скриптов

//Минусы://

  • Ждет окончания загрузки всей страницы
  • Может блокироваться Adblock’ами

Пример:

<span id="67461868-aa82-910e-c1da-a3116685c291"></span><script type="application/javascript">
var d=document;var s=d.createElement('script');
s.src='http://demo-ru.keitaro.io/8JdJ4D?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'&frm=script&_cid=67461868-aa82-910e-c1da-a3116685c291';
if (document.currentScript) {
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}
if (document.location.protocol === 'https:' && 'http://demo-ru.keitaro.io/8JdJ4D?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'&frm=script'.indexOf('http:') === 0 ) {alert('The website works on HTTPS. The tracker must use HTTPS too.');}
</script>

# Script синхронный

Это устаревший способ создания скрипта, с использованием document.write. Chrome объявил о постепенной блокировке такого способа вставки скриптов.

Если сайт, на котором стоит код использует https, то и трекер должен быть на https.

//Плюсы://

  • Подходит для конструкторов сайтов
  • Подходит для запуска JS скриптов
  • Выполняется, не ожидая загрузки всей страницы

//Минусы://

  • Блокируется в Chrome при низкой скорости сети (3G)
  • Может блокироваться Adblock’ами

Пример:

<script type="application/javascript">
document.write('<script type="application/javascript" src="http://demo-ru.keitaro.io/8JdJ4D?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'&frm=script"><' + '/script>');
</script>

# Статический фреймсет (frameset)

Отображение кампании внутри полноэкранного фрейма. Разместите код вместо тега <body>. Фреймсет не будет работает, если на странице с тегом <body>.

//Плюсы://

  • Показывает страницу на весь экран
  • Без промежуточного редиректа

//Минусы://

  • Теряет параметры из URL
  • Не подходит для конструкторов сайтов (из-за <body>)
  • Может блокироваться Adblock’ами

Пример:

<frameset rows="100%"><frame src="http://demo-ru.keitaro.io/8JdJ4D?frm=frame"></frameset>

# Динамический фреймсет (frameset)

Показывает такой же фрейм, тогда с передачей параметров (UTM-меток).

//Плюсы://

  • Показывает страницу на весь экран
  • Без промежуточного редиректа
  • Перебрасывает параметры из URL

//Минусы://

  • Не подходит для конструкторов сайтов (из-за <body>)
  • Может блокироваться Adblock’ами

Пример:

<script type="application/javascript">
document.write('<frameset rows="100%"><frame src="http://demo-ru.keitaro.io/8JdJ4D?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'&frm=frame"></frameset>')
</script>

# QR код

Заворачивает вашу кампанию в QR код

//Плюсы://

  • Подходит для печатных материалов.

//Минусы://

  • Очень узкая область применения.

Пример: PICTURE

# Скрипт отслеживания

Скрипт отслеживания позволяет собирать посещения и отправлять конверсии в Keitaro прямо с сайта. Подробнее об этом функционале читайте на странице SCRIPT OTSLEZIVANIA

//Плюсы://

  • Поддерживает ссылки на оффер и мультиофферность
  • Умеет отправлять постбеки
  • Без промежуточного редиректа
  • Поддерживаются редиректы

//Минусы://

  • Сложность в интеграции
  • Регулярно попадает в бан Google Adwords

Пример:

<!-- Keitaro tracking script -->
<script type='application/javascript'>
if (!window.KTracking){window.KTracking={collectNonUniqueClicks: false, multiDomain: false, R_PATH: 'http://demo-ru.keitaro.io/LNtLfH', P_PATH:'http://demo-ru.keitaro.io/f1ec56f/postback', listeners: [], reportConversion: function(){this.queued = arguments;}, getSubId: function(fn) {this.listeners.push(fn);}, ready: function(fn) {this.listeners.push(fn);} };}(function(){var a=document.createElement('script');a.type='application/javascript';a.async=true;a.src='http://demo-ru.keitaro.io/js/k.min.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(a,s)})();
if (document.location.protocol === 'https:' && KTracking.R_PATH.indexOf('https') === -1) {alert('The website works on HTTPS. The tracker must use HTTPS too.');}
</script><noscript><img height='0' width='0' alt='' ''src='http://demo-ru.keitaro.io/LNtLfH'/></noscript>

# Пиксель для Email рассылок

Помогает отслеживать открытие писем при почтовых рассылках.

//Плюсы://

  • Чистый HTML, без JS

//Минусы://

  • Не поддерживает редиректы
  • Не все почтовые клиенты отображают без согласия картинки

Пример:

<img height='1' width='1' alt='' ''src='http://demo-ru.keitaro.io/8JdJ4D?frm=img'/>

# KClient PHP

Скрипт для работы с внешники сайтами, написанными на php. Более подробно на странице KClient PHP.

//Плюсы://

  • Выполняется на стороне сервера
  • Поддерживаются офферы и мультиофферность
  • Совместим со всеми типами действий и редиректов

//Минусы://

  • Требует поддержки PHP на сайте
  • Требует ручного копирования файла kclick_client.php

Пример:

<?php
// Query params are: keyword={match}&external_id={cid}&creative_id={target}&ad_campaign_id={campaign_name}&sub_id_1={target}&sub_id_2={traffic_type}&sub_id_3={visitor_type}

require_once dirname(__FILE__) . '/kclick_client.php';
$client = new KClickClient('http://demo-ru.keitaro.io/api.php?', 'fdmj4xfn7tkcc4cbdnbw85hxq4jhp4wn');
$client->sendAllParams();       // to send all params from page query
$client->forceRedirectOffer();       // redirect to offer if an offer is chosen
// $client->param('sub_id_5', '123'); // you can send any params
// $client->keyword('PASTE_KEYWORD');  // send custom keyword
// $client->currentPageAsReferrer(); // to send current page URL as click referrer
// $client->debug();              // to enable debug mode and show the errors
// $client->execute();             // request to api, show the output and continue
$client->executeAndBreak();     // to stop page execution if there is redirect or some output
?>

# KClient JS

KClient JS базируется на решениях представленных в KClient PHP, но позволяет интегрироваться на проекты в которых нет поддержки PHP или для сокращения скорости интеграции. Подробно читайте на странице KClient JS.

# WordPress

Подключение Keitaro к WordPress. Более подробно о работе плагина "Keitaro Tracker Integration" читайте на странице WP PLUGIN.

//Плюсы://

  • Нативный плагин для WordPress
  • Поддерживает офферы и мультиофферность
  • Совместим со всеми типами действий и редиректов

//Минусы://

  • Сложность настройки при наличии форма заказа на сайте

# Блок баннеров (iframe)

Код позволяет показывать баннеры внутри фрейма, совместим со почти всеми видами объявлений и кодами RTB сервисов. В потоках выбирайте действие "Показать HTML", чтобы появилась возможность вписать код баннера.

Для показа типов рекламы, как popups, popovers, sliders, используйте метод интеграции "JS реклама".

//Плюсы://

  • Совместим со многими видами баннеров, включая Adsense и РСЯ.

//Минусы://

  • На сайте всегда рисуется блок, даже если нет баннеров
  • Не поддерживает popunder, message и т.д

Пример:

<div id="acfe48101-635e-da6a-2bb6-80bde28eeea8"></div>
<script type="application/javascript">
var w=240var h=240document.getElementById('acfe48101-635e-da6a-2bb6-80bde28eeea8').innerHTML = '<iframe frameborder="0" width="'+w+'" height="'+h+'" src="http://demo-ru.keitaro.io/8JdJ4D?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'&frm=frame"></iframe>'
</script>

# Блок баннеров (script)

Этот метод позволяет показывать баннеры прямо в контексте страницы (без фрейма). Метод совместим со многими популярными баннерными сетями.

//Плюсы://

  • Показывает рекламу прямо на странице, без фрейма

//Минусы://

  • Ограниченный список поддерживаемой рекламы

Пример:

<span id="4879cb99-f118-8ca5-9168-d021886fc631"></span>
<script type="application/javascript">
var d=document;var s=d.createElement('script');
s.src='http://demo-ru.keitaro.io/8JdJ4D?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'&frm=script&_cid=4879cb99-f118-8ca5-9168-d021886fc631';
d.getElementById("4879cb99-f118-8ca5-9168-d021886fc631").appendChild(s);
</script>

# JS реклама (slider, topline, video, popunder, clickunder)

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

//Плюсы://

  • Показывает сложные динамические форматы (popunder, message)
  • Без фрейма

//Минусы://

  • Поддерживает не все скрипты рекламных сетей

Пример:

<script type="application/javascript">
var d=document, sc = d.getElementsByTagName('script')[0];
var s=d.createElement('script');
s.type='text/javascript'; s.async = true;
s.src='http://demo-ru.keitaro.io/8JdJ4D?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'&frm=script&_cid=9236c883-7437-f892-c520-80bbdc5be91d' + '&'+new Date().getTime();
sc.parentNode.insertBefore(s, sc.nextSibling);
if (document.location.protocol === 'https:' && 'http://demo-ru.keitaro.io/8JdJ4D?se_referrer=' + encodeURIComponent(document.referrer) + '&default_keyword=' + encodeURIComponent(document.title) + '&'+window.location.search.replace('?', '&')+'&frm=script'.indexOf('http:') === 0 ) {alert('The website works on HTTPS. The tracker must use HTTPS too.');}
</script>
<span id="9236c883-7437-f892-c520-80bbdc5be91d"></span>