Привет!
Решил для API Экзо 2.0 написать простенький автоблеклистинг рекламных зон (до этого именно в Экзо обходился как-то вручную). Столкнулся с некоторыми сложностями и решил, что, возможно, кому-то пригодится этот опыт, собранный в готовом виде.
Будьте в курсе последних новостей партнерского маркетинга, статей, руководств и тематических исследований. Подпишитесь на наш Telegram канал сегодня!
В текущем состоянии API Экзо часть задокументированных функций не работает и они «работают над исправлением ситуации»: что-то высылает саппорт в виде воркэраундов, эти воркэраунды не документированы и приходится что-то додумывать самому и так далее. Поэтому, помучившись, решил попробовать избавить кого-то от аналогичного пути.
Также есть ряд зон, которые выдают ошибку 400 при добавлении в блеклист. Экзо проблему знает и опять-таки в поте лица «работает над исправлением». Такие зоны, замеченные мной, сразу добавил тут в исключения в скрипте. Их, имхо, лучше блочить вручную через домены (в разделе «дополнительные установки — таргетинг доменов» добавлять со знаком минус в начале, например -porn.com).
Пишу в первую очередь:
Что делает скрипт? Парсит кампанию в трекере, находит зоны, соответствующие нашим критериям отсева, блокирует их в кампании в Экзоклике и отправляет в Телеграм отчет в случае успешного прохождения сценария, либо в случае ошибки. Успешный отчет он разбивает на критерии, по которым произошел блеклистинг, и перечисляет там заблокированные зоны.
Опытные товарищи, конечно, могут заметить, что скрипт весьма примитивен и было бы правильно его модернизировать (добавить ошибки в репорты, добавить попытку второго запроса в случае ошибки и т. д.) — но и в текущем виде скрипт вполне можно повесить на крон и использовать.
Для примера в качестве критериев для отбора паблишеров в блек взяты два наиболее элементарных — отсутствие конверсий на стоимости в 3 лида и отсутствие CTR на 100 кликах.
Хочу обратить внимание новичков, что эти критерии будут варьироваться в зависимости от гео, вертикали, типа флоу, сегментов и типов трафика, ваших эмпирических находок. На старте я бы не советовал увлекаться автоматизацией, а подобные скрипты предлагал бы использовать только для отсева самого очевидного шлака, чтобы не было страшно на ночь оставлять кампанию, например.
Помимо собственно скрипта, постарался изложить некое пошаговое руководство, как его собрать и настроить.
1. Итак, какие нам понадобятся данные
— API-токен Экзоклика
Идем в интерфейсе в раздел API и создаем New Token.
— API-токен Бинома
Идем в интерфейсе трекера в раздел Settings — API и копируем его оттуда.
— Ваш урл Бинома, по которому открывается интерфейс.
— ID вашей кампании Экзоклика в Биноме, в списке кампаний в интерфейсе первый столбец.
— ID вашей кампании, где надо блочить зоны, в Экзоклике — точно так же, как и в Биноме, первый столбец на этой странице.
— ID вашего бота Телеграм. Чтобы его получить, пишем в Телеграме пользователю @BotFather /start, далее следуем его подсказкам, чтобы создать бота. Он выдаст этот самый ID c текстом Use this token to access the HTTP API.
— ID вашего чата в Телеграм. Чтобы его получить, открываем ссылку (https://api.telegram.org/botYOURBOTID/getUpdates), где вместо YOURBOTID подставляем токен из пункта выше, несколько раз пишем сообщение своему боту, обновляем страницу и записываем номер id, который появился среди всех данных. Если написать несколько сообщений, то можно увидеть, что это константное число, в отличие от message_id, которое меняется.
2. Последовательность действий
— Берем код, который содержит Экзокликовский класс по работе с API и сохраняем в файл с именем request.php — мы уже сделали это за вас. Далее загружаем файл на свой веб-сервер в любую папку — неважно, стоит у вас на сервере панель или нет, действуем просто по аналогии с работой с лендами.
— Вот код самого скрипта. Данные из пункта 1 нужно прописать в тех местах в верхней части скрипта, где есть соответствующие пояснения (между одинарными кавычками; в случае домена трекера заменяем https://example.com/ на свой домен.
После этого загружаем (ВАЖНО) в ту же папку, где лежит request.php.
Примечание: в коде есть строчка $CPL = 1, тут задается стоимость лида. Можно ее менять.
— Ставим его на крон с нужным расписанием — все зависит от того, как часто вы хотите запускать процедуру. Постановка на крон отличается в разных панелях управления и на разных серверных OS, лучше отдельно погуглить это, это несложно.
Нужны качественные трастовые аккаунты платформ и соцсетей? Приглашаем в раздел Продажа аккаунтов.
А в разделе Конференции вы узнаете о предстоящих знаковых событиях в мире арбитража трафика и интернет-маркетинга. Не упустите шанс побывать на мероприятии и приобрести выгодные знакомства для вашего бизнеса!