Приветствуем, друзья!
Решили собрать почти мануальчик.
Почему “почти”? Потому, что очень сложно в одной статье охватить всё.
Он больше предназначен для внутреннего пользования новичков в нашей команде, и тех команд и ребят кому мы помогаем. Но мы решили его выкатить на общее обозрение и оценку.
Сей мануал, подойдёт скорее тем, кто уже нюхнул арбитраж, знает что такое лид, ПП, вайт, блэк и прочее… Но боится, стесняется, либо не знает нормальных технических решений.
По нашим наблюдениям, поработав с разными командами, общаясь с арбитражниками, вспарывая чужие блэки, мы очень чётко видим печальную картинку, на которой есть толковые арбитражники, но которые не вытягивают техническую составляющую. И большое количество новичков, которые не знают как к этой технической составляющей подойти и взять её за тестикулы.
Нам нужен набор определённых вещей:
- Трекер
- Покупка и разворачивание сервера, на примере Contabo.com
- Настройка Кейтаро
- Настройки для клоаки.
- Интеграция с ПП
- Everad.com
- TrafficLight
- leadtrade.ru
- Немного теории про постбэк
- Антидетект браузер.
- Учётки ФБ
- На что следует обратить внимание при запуске
- Креативы
- Видим классный вайт – угоняем.
- Блэки (офферы)
- Первая часть кода проброса пикселя
- Форма отправки лидов
- Код отправки лидов в Everad
- Универсальная ссылка на страницу спасибо
- А теперь мы поделимся нашей страницей спасибо.
- Вторая часть проброса пикселя
- Сабайдишники в оффере
- Для Everad:
- Для Трафиклайт (CPA.TL):
- Для LeadTrade:
- А теперь файлы order.php
- Для Трафиклайт (CPA.TL):
- Для LeadTrade:
- Карты для оплаты
- Домены
- Подготовка к запуску
- Источники трафика
- Кампания
- Тестирование лидов
- Сслыка для запуска
- Заключение
- Эксперимент
ТРЕКЕР
И так. Настоятельно рекомендуем трекер, без него арбитражник – как рыба без воды. Мы работаем с Кейтаро, так что речь будет про этот трекер.
Кто не знаком с трекером – смотрим, изучаем – https://keitaro.io/
Смело регистрируемся, и получаем триалку на две недели, вполне хватает чтобы сделать запуски и отбить стоимость лицензии.
И примите к сведению – у Кейтаро одни из самых лучших саппортов. Но стараемся не наседать на них глупыми вопросами, а сначала читать документацию.
Покупка и разворачивание сервера, на примере Contabo.com
В первую очередь для трекера нужен сервер. Тут можете выбирать любой, благо и в документации Кейтаро есть информация.
Но если хотите недорогое, но очень классное решение – то https://contabo.com/en/
Цены стартуют от 6 евро, и при этом получаем 4 vCPU ядра, 8 GB RAM, 50 GB NVMe или 200 GB SSD.
Но рекомендую смотреть на тарифы чуть повыше – там вкуснее.
За всего €17.49 получаем 8 ядер, 30 гигов оперативы, 200 гигов NVMe (рекомендуем) или 800 SSD. Для небольшой команды хватит с головой.
Только учитываем, что за первую установку сервера – берут 6 евро. И главное не проебать с оплатой, тушат сервак, за включение штраф – 15 евро. Так что за балансом надо внимательно следить. И берут только карты и Paypal. Но даже с виртуальными картами обычно проблем нет.
Провайдер отличный, за 3 года более 10 трекеров мы погоняли только там. Сейчас там, кстати, акция – двойной объем дисков бесплатно.
Единственное что, есть нюанс при заказе сервера. Кейтаро требует операционку CentOS 8/9 Stream. А Contabo стандартно их не предоставляет, но это не проблема.
Выбираем Ubuntu. Потом установим нужную версию операционной системы. Это легко и просто.
После того, как сервер развернулся (это может занять время), топаем в управление VPS и включаем Cloud-Init. Это даст возможность установить нужную ОС.
Далее жмём соседнюю кнопочку Reinstall. И в Standart Installation выбираем уже то, что надо.
Заполняем пароль, жмём Install и немного ждём. И всё, у нас есть необходимая ОС для установки Кейтаро.
Для установки следуем инструкции по адресу https://docs.keitaro.io/ru/get-started/installation.html
На самом деле всё устанавливается очень просто, одной командой в терминале –
curl keitaro.io/kctl.sh | bash -s -- install
Ждём пока всё установится. Получаем свой адрес для входа http://xxx.xxx.xxx.xxx/admin
Далее уже вводим лицензию, валюту, создаём админа. Там предельно всё понятно.
Настройка Кейтаро
Теперь нам надо немного настроить трекер.
Справа вверху – Обсулуживание -> Настройки
Мы обычно снимаем “автосохранение кампаний”.
Так же рекомендуем поменять имя папки для локальных лендингов, но это не обязательно.
И включить игнорирование prefetch запросов.
Настройки для клоаки.
Клока будет отсекать ботов и вести их на вайт пейдж. Кейтаро отлично с этим справляется, абсолютно не хуже других, проверенно на практике. При этом у Кейтаро своя гео база IP адресов и ботов, которая постоянно обновляется (каждые 2 недели), что редко бывает в других клоаках.
И есть возможность кастомных настроек, которые нам очень пригодятся на следующем шаге.
Далее топаем на вторую вкладку “Боты”
Список IP забираем тут – https://elarbitrage.tools/ip-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%b0-%d0%ba%d1%80%d0%b0%d1%83%d0%bb%d0%b5%d1%80%d0%be%d0%b2-facebook/
Юзер агентов здесь – https://elarbitrage.tools/%d1%8e%d0%b7%d0%b5%d1%80-%d0%b0%d0%b3%d0%b5%d0%bd%d1%82%d1%8b-facebook/
Это будет дополнение к клоаке. Многие почему-то это не используют. Но об этом чуть далее.
Интеграция с ПП
Далее в Кейтаро в разделе “Партнерские сети” заводим свои партнёрки.
Мы покажем на примере 3х партнёрок – Everad.com, Leadtrade.ru, TrafficLight.
Everad.com
Топаем в “Партнерские сети”, жмём “создать”.
Находим шаблон в списке партнерок.
Копируем полностью “Postback URL”.
Нажимаем создать.
Топаем в саму партнёрку. Переходим в “Потоки”. И находим “Глобальный постбэк”.
И вставляем наш Postback URL и обязательно ставим галочку “Постбэк при смене статуса“.
Соответственно всё сохраняем.
TrafficLight
В Кейтаро, так же, по шаблону TrafficLight создаем Партнерскую сеть. И копируем урл постбэка.
В самой партнерке переходим в профиль, и переходим в “Глобальный постбек”, где во всех местах (Новые, Холд, Подтверждения, Отмены, Треш) вставляем один и тот же постбэк из Кейтаро.
Не пугаемся что он один и тот же, Кейтаро отлично справляется с обработкой.
Сохраняем.
leadtrade.ru
Чуть усложняем. Добавляем так же в Кейтаро, по шаблону.
Сохраняем.
И в списке партерок жмем еще раз на leadtrade.ru и наблюдаем дополнительную информацию. Это немного странное решение, но пока что есть, то есть.
Теперь нам надо немного поиграться с урл постбэков.
Не забываем в начале ссылок вставить постбэк до знака “?”
И заполняем поля в своём профиле на leadtrade.ru.
Глобальный postback 1 (вызывается при принятии действия)
?subid={subid1}&offer_sale_id={offer_sale_id}&offer={offer}&payout={payment}¤cy=usd&status=lead&from=Leadtrade.ru
Глобальный postback 2 (вызывается при подтверждении действия)
?subid={subid1}&offer_sale_id={offer_sale_id}&offer={offer}&payout={payment}¤cy=usd&status=sale&from=Leadtrade.ru
Глобальный postback 3 (вызывается при отклонении действия)
?subid={subid1}&offer_sale_id={offer_sale_id}&offer={offer}&payout={payment}¤cy=usd&status=rejected&from=Leadtrade.ru
И сохраняем.
С партнерками пока закончили.
Немного теории про постбэк
Теперь немного теории, для тех кто не знает. Постбэк нужен для обмена информацией между трекером и партнеркой. Происходит это по параметру “subid”. Это очень важный пункт, если сабайди не будет, то и статистики не будет. Это уникальный идентификатор каждого посещения страницы, который автоматически генерируется.
В кажой партнерке он может иметь своё имя:
Everad – sid5
Leadtrade – subid1
TrafficLight – sub1
Не пугаемся, это нормальная ситуация и как это настроить в офферах и протестировать – мы расскажем дальше.
АНТИДЕТЕКТ БРАУЗЕР.
Нужен для того чтобы запускать учётки Facebook и не палиться Цукеру.
Выбирайте любой, на цвет и вкус. Они все примерно одинакого работают. Воспрос удобства и цены.
Современные антики, как минимум для запусков Facebook, “не текут”. Не знаем почему ходят такие байки, но это скорее просто от не понимания как это всё работает.
В основном проблемы взникают из-за неправильных настроек и прокси. Так что если берёте аккаунты в магазинах, которые передают учетки, например, в Anty.Dolphin, то берите его. Можете брать Indigo. А можете и свой собрать бесплатно на Firefox – Гугл в помощь.
УЧЁТКИ ФБ
Магазинов просто море. Что-то конкретное не посоветуем.
Но старайтесь покупать учётки сразу с родной проксёй, на которой происходил фарм.
Фейсбук сучка ветренная, иногда со свежерегов даёт запуститься, иногда только с крепких акков по 30 баксов и выше. Но даже во время шторма, мы видели как запускаются с аккаунтов по 2 бакса, но там надо с бубном прыгать.
Зачастую к каждому магазину и их фарму надо найти свой подход. Так что лучше уточняйте как лучше запускаться на покупаемых аккаунтах.
НА ЧТО СЛЕДУЕТ ОБРАТИТЬ ВНИМАНИЕ ПРИ ЗАПУСКЕ
Исходим из того, что запускаем не первобилл (фу таким быть), а нормально, по-взрослому, на бюджет.
При этом в нутре лучше работает запуск “по широкому” – то есть, страна, возраст и пол, иногда язык. И всё, более детальный таргет будет съедать бюджет и увеличивать стоимость лида.
Тезисно, что делать и не делать при запуске рекламы в Facebook:
- Не меняйте валюту в кабинетах.
- Вяжите одну карту на один кабинет, так легче потом будет.
- Запускайте 2-3 эдсета. Можно с одним и тем же крео, можно с разными. Можете на каждом эдсете чуть изменить возраст.
- Дайте ФБ покрутить денёк, а может даже и 2, эдсет должен зацепиться за аудиторию.
- Как произойдёт зацеп и начнут капать лидочки по вменяемой цене, более дорогие эдсеты можно отключить.
- Запускайтесь утром или в обед по времени ГЕО оффера. Можно и запланировать запуск в ФБ, чтоб не подлавливать этот момент.
- Когда реклама уже идёт – никаких резких движений, не увеличиваем бюджеты, ничего не меняем. Бюджеты лучше увеличивать когда поднимется суточный лимит аккаунта, и то очень постепенно, не чаще чем каждые 2-3 дня, и не более чем на 15%
- Следите за картами, как только ФБ не сможет списать с карты, лимит кабинета упадёт.
- ФБ любит тайминги, можете распределить работу с акками как удобно, закинули в антик, зашли в акк, потыкались, поскролили. На следующий день привязали карту. На другой день пробуем запускаться. Тут волшебной пилюли нет, но спешка не самый лучший вариант.
- Не забывайте, как только вы в кабинете указали ссылку, то сразу по ней набегает куча ботов, даже если объявление не опубликовано. Соответственно ссылка должна быть заклоачена.
- Можно, кстати, готовить запуск полностью, но оставить в черновиках, утром запустить, возможно будет очень быстрая модерация, так как боты за это время уже всё проверят.
КРЕАТИВЫ
Тут можно либо заказывать, либо самим.
Хорошие креативщики – на вес золота.
Нет своих креативщиков – тогда различные спайсервисы в помощь, либо просто изучаем Ad Library Facebook.
Вот пример из Ad Library, вбиваем для Греции поиск по слову “суставы” (на греческом).
Вот вам и креативы. Две картинки и одно видео. Качаем, и уникализируем. На таких картинках очень легко изменить текст, в любом редакторе, оффлайн или онлайн.
Кстати, удачный пример попался, ведёт на один очень симпатичный вайтпейдж.
ВИДИМ КЛАССНЫЙ ВАЙТ – УГОНЯЕМ.
Топаем на https://saveweb2zip.com/ и вбиваем урл. На выходе получаем zip файл, который загоняем в Кейтаро.
Пройдемся чуть подробнее по попавшемуся вайту.
Вот его полный скрин
И так что мы на этом вайте имеем.
Собран вайт на тильде. Если его уникализировать каждый раз, то тильда – не самое лучшее решение, очень много тильда в коде меток оставляет.
Вот он для скачивания в zip – https://elarbitrage.tools/wp-content/uploads/2023/08/SaveWeb2zip-jointsgreece-ve-lure-com.zip
Но сам вайт сделан очень неплохо.
Текст + картинки – есть простор для уникализации. Можно даже просто все картинки менять для каждой уникализации вайта.
Есть форма для лида – это очень важно, так как запускаемся мы с целью лид. Иногда арбитражники упускают этот момент, а потом удивляются, почему ловят отклон. Реклама, запускаемая на лид, должна привести на страницу, где будет форма для этого лида, если её нет, то ФБ закономерно её отклонит, так как боты или модераторы попадут именно на вайт.
Есть номер телефона, email, адрес – это тоже на каждую уникализацию вайта можно легко заменить.
Есть на вайте и ссылка на куки и полиси, правда ребята сделали вообще на отъебись – ссылки ведут на другие страницы, но там всё тоже самое. Логика какая-то в этом есть, но лучше подзаморочиться и вести нормально на полиси, а сам полиси можно и не менять.
И делайте каждый раз новый вайт, на каждый запуск.
БЛЭКИ (ОФФЕРЫ)
Берём в качестве примера оффер с Everad.
Вот его превьюшка – https://gr-plus.ottomax-remedy.com/
Загружаем оффер в кейтаро. Кстати, не все партнёрки дают выкачать исходник оффера, по этому топаем опять на https://saveweb2zip.com/
И открываем редактор кода и тут начнётся вся магия.
Первое, что нам надо сделать – это добавить код проброса пикселя. Не будем вдаваться в подробности как это работает, Жёлтый всё расписывал, да и не только он, но его до сих пор мучают этим вопросом. Надеюсь мы ему облегчим немного жизнь. И настоятельно рекомендуем подписаться на его канал.
Первая часть кода проброса пикселя
<script>
var date = new Date();
date.setTime(date.getTime() + (5 * 24 * 60 * 60 * 1000));
if (!'{pixel}'.match('{')) {
document.cookie = "pixel={pixel}; " + "expires=" + date.toUTCString() + "";
}
</script>
Берём этот код, вставляем его перед тегом </head>
Форма отправки лидов
Далее надо найти код формы отправки лида.
В Кейтаро удобно нажать ctrl+f и появиться форма поиска – вбиваем
<form
Так найдётся самое начало тега формы.
Обязательно что должно быть в этом теге
method=”post”
action=”order.php”
Заменяем action=”/submit” на action=”order.php”. Теперь за отправку заявки в партнёрку будет отвечать файл order.php
А так как его у нас нет, то создаём его.
Далее идём его редактировать. Он пустой.
Код отправки лидов в Everad
Для Everad вставляем вот этот код:
<?php
function get_client_ip() {
$ipaddress="";
if (isset($_SERVER['HTTP_CLIENT_IP']))
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
else if(isset($_SERVER['HTTP_X_FORWARDED']))
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
else if(isset($_SERVER['HTTP_FORWARDED']))
$ipaddress = $_SERVER['HTTP_FORWARDED'];
else if(isset($_SERVER['REMOTE_ADDR']))
$ipaddress = $_SERVER['REMOTE_ADDR'];
else
$ipaddress="";
return $ipaddress;
}
$order = array (
'campaign_id' => 'xxx',// айди потока в евераде
'ip' => get_client_ip(),
'name' => $_POST['name'],
'phone' => $_POST['phone'],
'sid5' => $_POST['sid5']
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://tracker.everad.com/conversion/new" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($order) );
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
$result=curl_exec ($ch);
if ($result === 0) {
echo "Timeout! Everad CPA 2 API didn't respond within default period!";
} else {
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode === 200) {
echo "Good! Order accepted!";
} else if ($httpCode === 400) {
echo "Order data is invalid! Order is not accepted!";
} else {
echo
"Unknown error happened! Order is not accepted! Check campaign_id, probably no landing exists for your campaign!";
}
}
header('Location: https://'.$_SERVER['HTTP_HOST'].'/lander/xxx');// cылка на фенкью
?>
Находим строку ‘campaign_id’ => ‘xxx’,// айди потока в евераде
Вместо xxx вставляем айди потока из партнёрки. Как его получить, если будет необходимость, мы расскажем в другой статье.
Универсальная ссылка на страницу спасибо
Топаем в самый низ кода и видим строку
header('Location: https://'.$_SERVER['HTTP_HOST'].'/lander/xxx');// cылка на фенкью
Где ххх надо будет заменить на соответствующее странице спасибо. Такая строка упрощает жизнь, сама определяет домен.
Идём в Кейтаро в раздел “Лендинги”, нажимаем на нужный нам лендинг, который является страницей спасибо. И там будет то, что нам надо.
А теперь мы поделимся нашей страницей спасибо.
Выглядит она вот так
Состоит она всего из одного файла – index.php
Вот весь её код
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Merci</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<!--pixel-->
<script>
var matches = document.cookie.match(new RegExp("(?:^|; )" + 'pixel' + "=([^;]*)"));
var pixel = matches ? decodeURIComponent(matches[1]) : undefined;
var img = document.createElement('img');
img.src="https://www.facebook.com/tr?id=" + pixel + '&ev=Lead&noscript=1';
img.style.display = 'none';
document.body.appendChild(img);
</script>
<!--/pixel-->
<div class="vh-100 d-flex justify-content-center align-items-center">
<div class="card col-md-4 bg-white shadow-md p-5">
<div class="mb-4 text-center">
<svg xmlns="http://www.w3.org/2000/svg" class="text-success" width="75" height="75"
fill="currentColor" class="bi bi-check-circle" viewBox="0 0 16 16">
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
<path
d="M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z" />
</svg>
</div>
<div class="text-center">
<h1>Votre commande a été reçue.</h1>
<p>Merci pour votre commande!</p>
<p>Notre opérateur vous contactera dans les plus brefs délais.</p>
<p>Veuillez garder votre téléphone allumé.</p>
</div>
</div>
</body>
</html>
Её очень легко адаптировать по любой язык.
Вторая часть проброса пикселя
После тега <body> вставляем вторую часть кода проброса пикселя.
Теперь под один язык нам надо сделать всего одну страницу спасибо. И в коде order.php в офферах ссылаться на неё.
Вот собственно сам код второй части проброса пикселя.
<!--pixel-->
<script>
var matches = document.cookie.match(new RegExp("(?:^|; )" + 'pixel' + "=([^;]*)"));
var pixel = matches ? decodeURIComponent(matches[1]) : undefined;
var img = document.createElement('img');
img.src="https://www.facebook.com/tr?id=" + pixel + '&ev=Lead&noscript=1';
img.style.display = 'none';
document.body.appendChild(img);
</script>
<!--/pixel-->
Сабайдишники в оффере
В форме нам надо вставить скрытые поля для сабайди.
Для Everad:
<input type="hidden" name="sid5" value="{subid}">
<input type="hidden" name="country" value="{country}">
Для Еверада, правда достаточно первого, страну он определяет сам, но мы стараемся приучать своих ребят вставлять сразу со страной, так как в другие партнёрки зачастую это параметр улетает с оффера.
Для Трафиклайт (CPA.TL):
<input type="hidden" name="sub1" value="{subid}" />
<input type="hidden" name="country" value="{country}">
Для LeadTrade:
<input type="hidden" name="subid1" value="{subid}" />
<input type="hidden" name="country" value="{country}">
А теперь файлы order.php
Правильный код для партнёрок, для отправки лидов
Для Трафиклайт (CPA.TL):
<?php
$apiKey = 'aaa'; // API ключ веба
$offer_id = yyy; // для каждого оффера свой айди, надо уточнять его в админке или у суппортов
$stream_hid = 'zzz'; // не обязательное, если указано, заявка будет привязана к потоку
$apiUrl="http://api.cpa.tl/api/lead/send";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$data_post = $_POST;
$data = array(
'key' => $apiKey,
'id' => microtime(true), // тут лучше вставить значение, по которому вы сможете идентифицировать свой лид; можно оставить microtime если у вас нет своей crm
'offer_id' => $offer_id,
'stream_hid' => $stream_hid,
'name' => $data_post['name'],
'phone' => $data_post['phone'],
'comments' => $data_post['comments'],
'country' => $data_post['country'], // формат ISO 3166-1 Alpha-2 - https://ru.wikipedia.org/wiki/ISO_3166-1
'address' => $data_post['address'],
'tz' => $data_post['timezone_int'], // очень желательно получать его с ленда, но если никак лучше оставить пустым или 3 (таймзона мск)
'web_id' => '',
'ip_address' => isset($_SERVER["HTTP_CF_CONNECTING_IP"]) ? $_SERVER["HTTP_CF_CONNECTING_IP"] : $_SERVER['REMOTE_ADDR'],
'user_agent' => $_SERVER['HTTP_USER_AGENT'],
"utm_source" => @$data_post['utm_source'],
"utm_medium" => @$data_post['utm_medium'],
"utm_campaign" => @$data_post['utm_campaign'],
"utm_content" => @$data_post['utm_content'],
"utm_term" => @$data_post['utm_term'],
//сабы
"sub1" => @$data_post['sub1'],
"sub2" => @$data_post['sub2'],
"sub3" => @$data_post['sub3'],
"sub4" => @$data_post['sub4'],
"sub5" => @$data_post['sub5'],
);
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
'ignore_errors' => true,
)
);
$context = stream_context_create($options);
$result = file_get_contents($apiUrl, false, $context);
$obj = json_decode($result);
if (null === $obj) {
// Ошибка в полученном ответе
print("Invalid JSON");
} else if (!empty($obj->errmsg)) {
// Ошибка в отправленном запросе
print("Ошибка: " . $оbj->errmsg);
} else {
print('ID заявки: ' . $obj->id);
}
}
header('Location: https://'.$_SERVER['HTTP_HOST'].'/lander/xxx); //ссылка на фенкью
В начале кода видим такие строки
$apiKey = 'aaa'; // API ключ веба
$offer_id = yyy; // для каждого оффера свой айди, надо уточнять его в админке или у суппортов
$stream_hid = 'zzz'; // не обязательное, если указано, заявка будет привязана к потоку
API ключ забираем в профиле, в соответствующем разделе.
Айди оффера и поток – уже в самих офферах.
Не забываем отредактировать ссылку на страницу спасибо.
Для LeadTrade:
<?php
$post = [
'name' => $_REQUEST['name'],
'country' => $_REQUEST['country'],
'hash' => 'zzz', // хэш ссылки
'ip' => (isset($_SERVER['HTTP_CF_CONNECTING_IP']) ? $_SERVER['HTTP_CF_CONNECTING_IP'] : $_SERVER['REMOTE_ADDR']),
'phone' => $_REQUEST['phone'],
'aim' => $_REQUEST['aim'] > 1 ? $_REQUEST['aim'] : 1
];
foreach(["subid1", "subid2", "subid3", "subid4", "description"] as $s) {
if(!empty($_REQUEST[$s])) $post[$s] = $_REQUEST[$s];
}
$ch = curl_init("http://leadtrade.ru/api/send_lead");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
$doc = curl_exec($ch);
curl_close($ch);
$result = json_decode($doc, 1);
$number = $result['mm_number'];
/*
if(isset($result['is_spam']) || empty($result['mm_number'])) {
header("Location: failure.php");
die();
}
*/
header('Location: https://'.$_SERVER['HTTP_HOST'].'/lander/xxx');
?>
Здесь обращаем внимание на
'hash' => 'zzz', // хэш ссылки
Меняем на нужное значение для оффера.
Не забываем отредактировать ссылку на страницу спасибо.
КАРТЫ ДЛЯ ОПЛАТЫ
Как и с антидетект браузерами – на любой вкус и цвет.
Одни из самых популярных и адекватных – Kartex, Flex, Brocards.
Зачастую минималка для открытия – 500 баксов.
Важно следить за лимитом карт, они бывают суточные, недельные, месячные. Можно играться на первых этапах, но лучше ставить 100-150 суточный.
Facebook в большинстве случаев, не будет списывать больше 50 за сутки, но это на первом этапе, потом лимиты подрастут. И лимиты на картах надо будет менять. Так что тут, кто как хочет, так и следит за этим.
Стараемся запускаться – 1 кабинет = 1 карта. Так легче мониторить и отключать карты.
Можете давать картам такие же имена как и учёткам в антике – проще ориентироваться.
ДОМЕНЫ
Мы уже три года запускаемся с доменов третьего уровня, по типу – vasya.pupkin.com
Почему-то среди арбитранов, особенно олдскульных, да и те кто начитался старых мануалов, ходило неверное утверждение, что надо запускаться либо с домена второго уровня (pupkin.com), либо с популярных сервисов (wix, tilda, …). Но на практике отлично запускается и с третьего уровня.
Жёлтый не так давно об этом говорил в интервью, но в реальности мы видим, что очень много кто запускается с доменов второго уровня.
В кейтаро домены третьего уровня клепаются в пару кликов.
Единственный нюанс, если забанится домен второго уровня – то скорее всего и все его третьи уровни так же.
Но в любом случае, это дешевле, чем покупать каждый раз отдельно домен. Просто старайтесь миксовать. Надо сделать 10 запусков и у нас есть 10 доменов, например, то поддомены делаете на каждом, а не все на одном, меньше подозрений у Facebook будет.
Как привязывать домены – есть инструкция в документации Кейтаро:
По Namecheap – https://docs.keitaro.io/ru/third-party-integrations/namecheap.html
По Cloudflare – https://docs.keitaro.io/ru/third-party-integrations/cloudflare.html
Можно не заморачиваться, и покупать сразу в Cloudflare, но будет чуть дороже, чем в Namecheap.
И не забываем обязательно включать прокси через Cloudflare на каждом домене, а то спалите фейсбуку айпишник трекера.
Одни из самых дешёвых доменых зон на Cloudflare до 5 баксов:
.date , .bit, .trade, .party, .uk
Но цены могут меняться.
ПОДГОТОВКА К ЗАПУСКУ
И так, будем считать что у нас уже в наличии
- Сабдомены
- Вайты
- Офферы
Теперь плавно переходим к созданию Кампании.
Одна Кампания – это по-сути одна сслыка. То есть одна Кампания – на один запуск.
Получается такая схема: 1 акк = 1 карта = 1 Кампания = 1 домен
При этом мы не будем использовать прелендинги, они сильно снижают конверсию.
Ведём сразу на оффер, в нутре это работает лучше. Ботов и модераторов мы отправим на вайтпейдж.
Предватрительно, для проброса пикселя и удобства запуска, нам нужно кое-что ещё добавить в Кейтаро – это источник трафика.
Так как мы делаем всё под Facebook, то для него и добавим.
Источники трафика
Топаем Кейтаро в меню “Источники“.
Создаём новый, в шаблоне выбираем Facebook
Обращаем внимание на параметр “pixel“. Прописываем как на картинке. Если поле будет пустое, то мы не увидим этот параметр потом в нужной нам ссылке для запуска.
Сохраняем.
Кампания
Создаём Кампанию.
Для удобства, разобьём её визуальную составляющую на левую и правую часть.
И так, слева мы видим такую картину:
Домен – выбираем созданный домен третьго уровня.
Идентификатор – это уникальное поле, генерируется Кейтаро, оставляем как есть.
Источник выбираем Facebook, который мы создали ранее.
Модель затрат – CPA (так как крутим на лиды)
Остальное оставляем как есть.
Теперь переходим в правую часть. Там интереснее.
Создаём поток. Первый поток должен быть перехватывающим – он как раз и будет отсекать ботов.
Далее топаем на вкладку Схема
Из списка Лендингов выбираем наш вайтпейдж.
И далее идём во вкладку Фильтры
Выбираем “отношение” = или. Это значит что при любом срабатывании любого из выбранных фильтров, трафик пробросится на вайтпейдж.
Выбираем “Бот” = да. То есть, если Кейтаро определит что это бот, то подсунет вайтпейдж. И помним, что айпиадреса и юзер агентов мы уже внесли в глобальный список ботов. И не надо как делают в некоторых мануалах, прописывать это вручную.
Выбираем страну, у нас это Греция в примере. Ставим “нет”. То есть всех посетителей, кто не из Греции, поток отправит на вайт пейдж.
И ставим значение “пустой реферер” = да. Это значит что все кто пытается перейти по прямой ссылке, так же попадают на вайт пейдж.
Применяем.
Создаём второй поток – Обычный. Тут у нас будет оффер.
В схеме указываем оффер.
Идём в фильтры
Тут добавляем страну = да. В которую прописываем страну таргета, в нашем примере это Греция. И можно свою страну, чтобы прокинуть тестовый лид. Например, вы запускаетесь, находясь на Бермудах %)
И добавляем бот = нет.
И отношение =”И”. То есть должно быть соблюдение одновременно этих двух правил.
Возможно это немного излишне, и некоторые с этим не согласятся, но мы так делаем, и это хорошо работает. Могут появиться у фейсбука новые боты, новые айпи адреса, либо с каких-то девайсов будут заходить модераторы, но сводим к минимому их попадание на оффер, врядли будет живой модератор в Греции.
Кстати, на заметочку. Если в оффере прописано, что нет доставки в какие-то регионы, то это можно отфильтровать не только в фейсбуке, но и в Кейтаро. Либо вообще в фейсбуке не фильтровать. А добавить в Кейтаро в первый поток Регионы с параметром = да.
Теперь нам нужен замыкающий поток. Он нужен на всякий случай, туда очень редко попадает трафик, но лучше делать всё по классике. В эток поток указываем тот же лендинг, что и в первом.
Кампанию сохраняем.
В принципе мы всё настроили. Теперь можно переходить к тестированию.
Тестирование лидов
Мы обычно не заморачиваемся, у нас есть отдельные Кампании без настройик клоаки, в которых только один обычный поток, где указан нужный оффер.
Но можете тестировать и с клоакой. Проверить как она работает %)
Можно для теста и отключить перехватывающий поток.
Делается это просто – ставиться галочка рядом с потоком, и клацаем по кнопке “Отключить”
Делайте так только на тестовых кампания, ни в коем случае не на живом трафике. Так как боты забегают частенько для дополнительных проверок по вашей ссылке.
Если оффер отработал, лид ушёл в партнёрку, и вы видите в статистике партнёрки subid, а в Кейтаро регистрацию конверсионного действия – то всё отлично.
!Внимание! Тестовые лиды надо кидать только через ссылку в Кампании, иначе не будет сабайди.
Для более дотошных, можно проверять через Обслуживание – Логи – Postbacks.
Если лид не получает сабайди, там будет надпись по типу Empty subid.
Если нет сабайди, то скорее всего, вы либо не прописали его в форму, либо прописали не тот. Такое случается. Будьте внимательны, некоторые партнёрки лиды без сабайди вообще сразу отклоняют, а если и нет, то у вас будет очень кривая статистика.
А теперь, как получить ссылку для запуска и что там надо исправить.
Сслыка для запуска
Теперь идём обратно в левую часть Кампании, там есть вкладочка “Tracking”, где мы можем забрать нашу ссылку. Либо в списке всех Кампаний, рядом с необходимой, есть кнопочка с иконкой ссылки.
И нам в эту ссылку надо вставить номер нашего пикселя.
Ссылка имеет примерно такой вид:
https://vasya.pupkin.com/идентификатор?fbclid={fbclid}&utm_campaign={{campaign.name}}&utm_source={{site_source_name}}&utm_placement={{placement}}&campaign_id={{campaign.id}}&adset_id={{adset.id}}&ad_id={{ad.id}}&adset_name={{adset.name}}&pixel={{pixel}}&ad_name={{ad.name}}
Находим в ссылке pixel={{pixel}}
И вместо {{pixel}} вставляем номер нашего пикселя и получаем
pixel=123456789
Остальные параметры оставляем как есть.
Всё ссылка для запуска готова!
Теперь можете смело запускаться, но не забывайте тестировать офферы перед запуском, и проверяйте в трекере и партнёрках, что всё работает как надо.
ЗАКЛЮЧЕНИЕ
Нас самом деле не так страшен трекер и клоакинг, как может показаться на первый взгляд, всё приходит с практикой.
И не возможно рассказать в одном месте всё что знаешь, так что цикл мануалов мы продолжим.
Всем удачных запусков!
ЭКСПЕРИМЕНТ
Давайте сделаем совместно небольшой эксперимент.
Посмотрим на органику от данного мануала.
Подписываемся на телеграм канал, на котором ноль подписчиков на момент публикации. И продвигать его платно мы не планируем, ну как минимум пару месяцев. Мы потом сделаем отчёт.
Источник