1. Получи максимум инфопродуктов, оформи подписку всего за 295 рублей!
    Скрыть объявление

Чтиво Реселлим incent трафик

Тема в разделе "Разное", создана пользователем Gustav, 11 май 2015.

  1. Gustav

    Gustav Команда форума Администратор

    Сообщения:
    9.411
    Симпатии:
    5.674
    Понадобилось мне, во время работ с белыми инсталлами, вести учет скачиваемых приложений. Загвоздка была в том, что офферы на созданной странице были из разных СРА сетей, и мониторить стату одновременно нескольких сетей не очень-то удобно. Конечно, можно было прочитать тонну мануалов по настройке TDS, но заморачиваться не хотелось, да и паранойя категорически протестовала против возможного слива данных разработчикам TDS’ок. Решено было наладить учет самостоятельно. Где удобно хранить и анализировать большое количество данных? Конечно же, в таблице. Но EXCEL не наш метод – лениво всё самостоятельно заполнять, надо внедрять автоматизацию процессов.

    Вывод напрашивается сам-собой: таблицы от гугла. С этим понятно, идём дальше. Для учета переходов по ссылкам заюзаем старый добрый PHP. Ну и сам креатив – просто моделируем(крадём) найденные в интернете шаблоны страничек, с которых будем сливать трафик, либо страничек, которые будем через iframe вставлять в приложение. Инструменты готовы, действуем.

    Идем в диск google: Пожалуйста, войдите или зарегистрируйтесь , чтобы просматривать ссылки, и, нажав в верхнем левом углу красную кнопку «СОЗДАТЬ», выбираем «ФОРМА». Гугл любезно откроет нам страничку, на которой уже есть одно поле формы, готовое к редактированию. То, что введем в поле «Вопрос» будет, в дальнейшем, отображаться в заголовке таблицы как названия столбцов. В поле «Пояснение» можно ничего не писать, а вот «Тип вопроса» везде выбираем «Текст». Чекбоксы “Сделать этот вопрос обязательным”, и “Проверка данных” не отмечаем галочкой. Жмем ниже “Добавить элемент”, и выбираем “Текст”. Мне нужно было сделать чтоб в таблице отображалось 7 столбцов, столько же текстовых полей я и добавил. Столбец “Дата и время” гугл добавит в таблицу автоматически.

    14.jpg

    Вот такая заготовка формы получилась. По каждому переходу, в зависимости от оффера, в таблице будет появляться новая строчка. Офферы будут из разных СРА сетей, оплата у всех разная, рекламы тоже будет несколько вариантов (для сплит-тестирования), ещё я хочу знать под какую операционную систему этот оффер, и IP-адрес юзера (для анализа географии). Ещё я хочу знать сколько мне заплатят за лид по этому офферу, а так же тип записи (переход/аппрув) для того чтоб потом добавить в эту же таблицу информацию о зачисленной конверсии.

    Будущие названия столбцов таблицы получились такие:
    1. CPA - название сетки откуда взят оффер (будем работать с несколькими)
    2. affID - мой ID в этой сетке (можно посмотреть в своей рефссылке, или при создании ссылки/потока)
    3. ID offer - ID оффера в CPA
    4. OS / IP - в этом столбце будет OS оффера при переходе юзера на скачивание, и IP юзера при получении Postback, когда лид засчитают
    5. SubID - столбец для SubID (номер тизера/объявления/приложения)
    6. Bonus - сумма оплаты за лид
    7. Operation - в этот столбец будет подставляться “download” когда юзер перейдёт по ссылке, и “approwed” когда от СРА придет Postback - о том, что лид засчитан
    На той вкладке браузера, где у нас открыт редактор формы, вверху страницы нажимаем “Просмотреть ответы”, и видим получившуюся таблицу. В дальнейшем, эту таблицу можно будет найти на диске google, либо, что проще, сразу добавить страницу с таблицей в “Избранное” браузера. Пробуем, ради праздного любопытства, заполнить форму, проверяем появляются-ли в таблице данные. Первый этап завершен, переходим к следующему шагу.

    В общем случае, имея шаблон странички со списком офферов, мы меняем текст (корректируем название игры, жанр, и т.д.), картинку, и меняем ссылку кнопки “Загрузить” на свою партнёрскую, либо TDS. Мы же пойдём немного другим путём, и “обернём” эту кнопку в форму. Тем самым, у нас на кнопке будет не просто <a href=”…”>ЗАГРУЗИТЬ</a>, а исчерпывающая информация об оффере, но невидимая пользователю.

    Переходим в браузере снова на вкладку редактирования формы, нажимаем «Открыть форму» вверху страницы, и видим получившуюся неказистую форму. Дизайн, конечно, не важный, но не суть. Открываем исходный код страницы, и ищем начало кода формы:
    Код:
    <form action=»https://docs.google.com/forms/d/1FcEuVRIN_rFJvWnzN5yWu2xtFu3kemVzPSf-sgqiYW8/formResponse» method=»POST» id=»ss-form» target=»_self» onsubmit=»»>
    Копируем себе в блокнот или html редактор (кому как удобнее). Убираем лишнее, меняем таргет формы на наш пока ещё не созданный обработчик “download.php”. Должно получиться так:
    Код:
    <form method=»post» action=»download.php» target=»_blank» >
    Смотрим чуть дальше исходный код страницы готовой формы, и находим первое текстовое поле:
    Код:
    <input type=»text» name=»entry.330760197″ value=»» class=»ss-q-short» id=»entry_330760197″ dir=»auto» aria-label=»CPA  » title=»»>
    Вот здесь уже поинтереснее. Меняем type=»text» на type=»hidden» (мы же не хотим показывать это юзеру?). Удаляем class, id, dir, aria-label, title. Смотрим что у нас там по плану в таблице ответов на форму. Первым столбцом идёт отметка времени — этот столбец появляется автоматически, переходим к следующему. Следующий столбец таблицы — это “СРА”. Подставляем в value понятное для нас название СРА-сети (напрмер, value=»mobileader», или value=»95АSsQ1#d» для тех, кто боится, что юзер будет подглядывать в код страницы). Так же, чтоб в последующем, при написании обработчика, не путаться с полями, меняем name поля на “cpa”. При этом, пока сохраняем где-нибудь в отдельном месте удаялемый name=»entry.330760197″.

    Таким образом, код поля формы примет вид:
    Код:
    <input type=»hidden» name=»cpa» value=»mobileader»>
    Следующим столбцом таблицы у нас идёт affID. Открываем страницу CPA-сети, на странице со своим профилем находим свой ID в сети. Либо, тот же номер можно увидеть в рефссылке, которую нам предоставляет сеть для привлечения рефералов. Например, наша рефссылка имеет вид: Пожалуйста, войдите или зарегистрируйтесь , чтобы просматривать ссылки. Значит наш ID в этой сети “2355”.

    Во вкладке браузера с исходным кодом формы находим следующий <input>, и поступаем с ним аналогично первому.
    Было:
    Код:
    <input type=»text» name=»entry.728386550″ value=»» class=»ss-q-short» id=»entry_728386550″ dir=»auto» aria-label=»affID» title=»»>
    Стало:
    Код:
    <input type=»hidden» name=»affID» value=»2355″>
    Так же поступаем со всеми остальными столбцами таблицы. К примеру, возьмём оффер «Game Of War [iOS] incent RU+». Выплата по офферу составляет 13 рублей. Смотрим ссылку, по которой партнерская программа будет принимать от нас установки:

    Пожалуйста, войдите или зарегистрируйтесь , чтобы просматривать ссылки

    В этой ссылке мы видим, что ID оффера в системе 609. Основываясь на этой информации, заполняем следующие поля нашей формы:
    Код:
    <input type=»hidden» name=»offerID» value=»609″>
    <input type=»hidden» name=»offer» value=»GameOfWar»>
    <input type=»hidden» name=»os» value=»iOS»>
    <input type=»hidden» name=»bonus» value=»13R»>
    Особо внимательные, наверное, заметили, что оффер допускает мотивированный трафик. Данный оффер был выбран не случайно, а с целью показать возможность добавления на нашу рекламную страницу с офферами полей для ввода различной информации. Поэтому, следующее поле нашей формы делаем видимым. В это поле юзер будет вводить свой номер телефона, или WMR кошелёк на которые, в дальнейшем получит от нас бонус за то, что скачал наше приложение. Не будем вдаваться в подробности как заставить пользователя сделать это, вариантов масса — информация на тизере, прелендинг, инструкция на главной странице и т.д. Просто делаем следующее поле нашей формы видимым.
    Было:
    Код:
    <input type=»text» name=»entry.827446832″ value=»» class=»ss-q-short» id=»entry_827446832″ dir=»auto» aria-label=»affID» title=»»>
    Стало:
    Код:
    <input type=»text» name=»phone» placeholder=»+7 927 000 00 00″ title=»+7 927 000 00 00″ />
    В нашей таблице остался незаполненным столбик “Operation”. Такой <input> мы не будем копировать на нашу страницу для демонстрации того, что поля отправляемой формы можно заполнять не только из html, но и помощью РНР.

    Понимаю, что всё это кажется сложным на первый взгляд, но потерпите, осталось совсем чуть-чуть.

    Если посмотреть какие ещё поля есть в исходном коде гугловской формы, можно увидеть три непонятных поля:
    Код:
    <input type=»hidden» name=»draftResponse» value=»[,,&quot;-785124894004134248&quot;]»>
    <input type=»hidden» name=»pageHistory» value=»0″>
    <input type=»hidden» name=»fbzx» value=»-785124894004134248″>
    Эти поля являются служебной информацией, необходимой для заполнения формы. Их просто копируем к себе в блокнот/html-редактор к тем самым сохраняемым нами записям name=»entry.827446832″, ничего не изменяя.

    И, наконец, видим в исходном коде формы заветную кнопку:
    Код:
    <input type=»submit» name=»submit» value=»&#1043;&#1086;&#1090;&#1086;&#1074;&#1086;» id=»ss-submit» class=»jfk-button jfk-button-action «>
    Копируем себе в блокнот, и меняем на более простое и понятное:
    Код:
    <input type=»submit» name=»submit» value=»Загрузить из AppStore» id=»ss-submit» >
    На этом наши мучения с html закончены. Не забываем поставить закрывающий тег </form>. В итоге, имеем такой код нашей формы:
    Код:
    <div>
    <!— здесь будет описание игры, картинки, скриншоты и т.д. —>
    </div>
    <form method=»post» action=»download.php» target=»_blank» >
    <input type=»hidden» name=»cpa» value=»mobileader»>
    <input type=»hidden» name=»affID» value=»2355″>
    <input type=»hidden» name=»offerID» value=»609″>
    <input type=»hidden» name=»offer» value=»GameOfWar»>
    <input type=»hidden» name=»os» value=»iOS»>
    <input type=»hidden» name=»bonus» value=»13R»>
    <input type=»text» name=»phone» placeholder=»+7 927 000 00 00″ title=»+7 927 000 00 00″ />
    <input type=»hidden» name=»draftResponse» value=»[,,&quot;-785124894004134248&quot;]»>
    <input type=»hidden» name=»pageHistory» value=»0″>
    <input type=»hidden» name=»fbzx» value=»-785124894004134248″>
    <input type=»submit» name=»submit» value=»Загрузить из AppStore» id=»ss-submit» >
    </form>
    На первый взгляд, сложно, но, набрав это один раз, всё становится легко и понятно. В будущем, если вдруг в этой CPA сети данный оффер отключится, можно будет просто поменять название сети, affID, ID оффера, и продолжить работать с другой сетью, не нарушая своего учёта.

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

    Теперь, при нажатии кнопки “Загрузить из AppStore” данные из формы будут уходить в наш обработчик, и оттуда пользователя будет перекидывать на скачивание игры по нашей партнерской ссылке. Для этого создаём в той же папке, где и наша страница с рекламируемыми офферами, файл download.php

    В содержимое файла вставляем следующий код:
    Код:
    <?php
    // формируем запись в таблицу google
    $url = «https://docs.google.com/forms/d/1FcEuVRIN_rFJvWnzN5yWu2xtFu3kemVzPSf-sgqiYW8/formResponse»;
    $post_data = array (
    «entry.330760197″ => $_POST[‘cpa’],
    «entry.728386550″ => $_POST[‘affID’],
    «entry.783479816″ => $_POST[‘offerID’],
    «entry.866577618″ => $_POST[‘offer’],
    «entry.978819182″ => $_POST[‘os’],
    «entry.827446832″ => $_POST[‘phone’],
    «entry.334634721″ => $_POST[‘bonus’],
    «entry.1072258350″ => «download»,
    «draftResponse» => «[,,&quot;-785124894004134248&quot;]»,
    «pageHistory» => «0»,
    «fbzx» => «-785124894004134248″
    );
    // формируем ссылку на скачивание приложения
    // для примера взяты ссылки из популярного в мобайле движка hasoffers
    // соответственно, ссылки на скачивание офферов
    // из сетей mobileader, tapgerine, cpaplanet, mobioffers
    // для статистики добавляем к ссылке subID (aff_sub) и subID2 (aff_sub2)
    // в aff_sub заносим то, что пользователь ввел в форму на странице
    // в aff_sub2 пропишем сколько обещали юзеру за скачивание
    // обратите внимание на отличия в формирование ссылки для CITYADS
    switch ($_POST[‘cpa’]) {
    case «mobileader»:     $link=’http://track.mobileader.ru/aff_c?offer_id=’.$_POST[‘offerID’].’&aff_id=’.$_POST[‘affID’].’&aff_sub=’.$_POST[‘phone’].’&aff_sub2=’.$_POST[‘bonus’];
    break;
    case «tapgerine»:      $link=’http://tracking.tapge.com/aff_c?offer_id=’.$_POST[‘offerID’].’&aff_id=’.$_POST[‘affID’].’&aff_sub=’.$_POST[‘phone’].’&aff_sub2=’.$_POST[‘bonus’];
    break;
    case «cpaplanet»:        $link=’http://ads.offerkings.net/aff_c?offer_id=’.$_POST[‘offerID’].’&aff_id=’.$_POST[‘affID’].’&aff_sub=’.$_POST[‘phone’].’&aff_sub2=’.$_POST[‘bonus’];
    break;
    case «mobioffers»:  $link=’http://apps.rumobi.info/aff_c?offer_id=’.$_POST[‘offerID’].’&aff_id=’.$_POST[‘affID’].’&aff_sub=’.$_POST[‘phone’].’&aff_sub2=’.$_POST[‘bonus’];
    break;
    case «cityads»:
    $link=’http://cityadspix.com/click-‘.$_POST[‘offerID’].’?sa=’.$_POST[‘phone’];
    break;
    //если что-то пошло не так, то перекидываем юзера на начальную страницу нашего сайта
    default:
    $link=’../';
    };
    // с помощью CURL заносим данные в таблицу google
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // указываем, что у нас POST запрос
    curl_setopt($ch, CURLOPT_POST, 1);
    // добавляем переменные
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    //заполняем таблицу google
    $output = curl_exec($ch);
    curl_close($ch);
    //перенаправляем браузер пользователя на скачивание оффера по нашей ссылке
    header(‘Location: ‘.$link);
    ?>
    Всё, можно расслабиться, большую часть работы мы сделали. Каждый раз, когда кто-то будет переходить к скачиванию игр по нашей партнёрской ссылке, у нас будет появляться новая строчка в таблице, независимо от того, с какой из подключенных CPA сетей происходит скачивание. Могут расслабиться даже любители подрочить на стату. Теперь не надо покупать запасные кнопки “F5” для клавиатуры — если открыть таблицу, можно увидеть, что данные по переходам появляются автоматически без обновления страницы.

    В коде PHP присутствует CURL. Следовательно, хостинг для размещения сайта надо выбирать соответствующий. Начинающим, с небольшими объемами, рекомендую Пожалуйста, войдите или зарегистрируйтесь , чтобы просматривать ссылки. Бесплатного тарифа вполне хватит на первое время.

    Дело осталось за малым — прикрутить к нашей системе обратную связь от партнерки (Postback). Помните, мы обещали юзеру бонус за скачивание? Ну увидели мы по появившейся строчке в таблице, что юзер заполнил свой номер телефона, и перешел по нашей ссылке. А вдруг он не стал после этого скачивать, или не докачал игру, или утопил свой телефон во время скачивания? Всякое может быть. Но мы-то ведь не будем всем подряд отправлять бонусы на телефон (да-да, мы же честно работаем, и создаём настоящий cashback сайт). Нам надо знать какие из переходов будут оплачены партнерской программой. На самом деле здесь всё очень просто. Отчасти, простота обуславливается тем, что почти все партнеркские программы сделаны на одном движке, и Postback принципиально ничем не отличается.

    Создаём в той же папке, где наша страница с рекламируемыми офферами и обработчик download.php ещё один файл — postback.php.

    В содержимое файла вставляем следующий код:
    Код:
    <?php
    // формируем запись в таблицу google
    $url = «https://docs.google.com/forms/d/1FcEuVRIN_rFJvWnzN5yWu2xtFu3kemVzPSf-sgqiYW8/formResponse»;
    $post_data = array (
    «entry.330760197″ => $_GET[‘cpa’],
    «entry.728386550″ => $_GET[‘affID’],
    «entry.783479816″ => $_GET[‘offerID’],
    «entry.866577618″ => $_GET[‘offer’],
    «entry.978819182″ => $_GET[‘os’],
    «entry.827446832″ => $_GET[‘phone’],
    «entry.334634721″ => $_GET[‘bonus’],
    «entry.1072258350″ => «approved»,
    «draftResponse» => «[,,&quot;-785124894004134248&quot;]»,
    «pageHistory» => «0»,
    «fbzx» => «-785124894004134248″
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // указываем, что у нас POST запрос
    curl_setopt($ch, CURLOPT_POST, 1);
    // добавляем переменные
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    //заполняем таблицу google
    $output = curl_exec($ch);
    curl_close($ch);
    ?>
    Как видно, файл практически ничем не отличается от download.php, но тип зароса уже GET, а не POST (не смотря на название Postback, запросы эти приходят от партнёрки методом GET). Теперь, когда юзер скачает игру по нашей партнерской ссылке и запустит её, в нашей табличке автоматически появится строчка в столбце “Operation” которой будет стоять “approved”. Такому пользователю уже можно начислять бонус на указанный им телефон. Для того чтоб СРА сеть знала куда и как нам отправлять Postback, делаем следующее:

    Снова открываем страницу партнерской программы с оффером, листаем до Postback, вставляем строчку вида:

    Пожалуйста, войдите или зарегистрируйтесь , чтобы просматривать ссылки

    Здесь:

    • mobileader — статичное значение (меняем вручную в зависимости от того, из какой сети берём данный оффер);
    • {affiliate_id} — наш ID в системе (значения в скобках {} подставляются сетью автоматически);
    • {offer_id} — ID оффера в системе (очень полезно отслеживать на какой оффер переходил пользователь, и что в итоге скачал т.к. многие сети не брезгуют втихаря перенаправлять юзеров на другие офферы);
    • {offer_name} — название оффера;
    • {session_ip} — IP адрес пользователя (когда мы отправляли пользователя на скачивание, мы в эту ячейку таблицы занесли OS оффера);
    • {aff_sub} -здесь subID (в нашем случае — номер телефона, который ввёл пользователь);
    • {payout} — в этой переменной СРА сеть отправит нам сумму, которую мы заработали за выполнение условий данного оффера (не путать с суммой, которую обещали юзеру за скачивание!).
    Нажимаем “Сохранить Postback”, просим друга/маму/бабушку скачать, убеждаемся, что всё работает.

    21.png

    Если сайт делается не для мотивированного трафика, то тут всё гораздо проще. Нам понадобится только таблица, и файл postback.php. Создаем объявления/приложения с разными subID, прописываем Postback в описаниях офферов СРА, запускаем рекламу, и следим за статой одновременно из нескольких CPA в одном окне, в режиме online.
     
    classic102873 и boolean нравится это.