Documentation index
- ReadMe
- Things To Know
-
- New Style Rotation
Суть: разливаем траф по брокерам в зависимости от того, кто дает больше бид для конкретного гео.
Это начальная версия, пишите какие фичи надо добавить. У нас именно этот вариант работает для себя.
Как работать:
1. traffic rules - brokers Добавляем брокеров с которыми вы работаете.
2. Основные понятия, которые надо запомнить и не путатья: зона и спот. Спот это место у нас на сайте, где мы выводим что-то. Обратите внимание, что редиркт - это тоже спот, только на котором мы не выводим что-то на странице, а делаем редирект, но суть таже.
Зоны - это рекламы у спонсора. Каждый брокер по своему ведет эту методологию, где-то это зона, где-то сайт и тп. Суть в том, что зона - это какой-то ИД у брокера, который он вам выдает когда вы у брокера доавляете сайт.
3. Идем в broker zones и добавляем эти зоны. ИД зоны берется у брокера. Обычно это например брокерА - номер зоны 1243712. Этот ИД нам надо что бы с брокера брать статистику для конкретно этой зоны (ИД)
4. Site spots - место где выводим брокера. Например, у нас баннер 100 на 200. Мы работаем с 3мя брокерами. Идем на каждого из них, получаем ИД зоны для этого баннера - у нас получится 3 записи в broker zones (!), после этого в site spots заводим спот, который называем например banner100x200 и добавляем туда 3 зоны. Это значит там будет показан баннер от каого-то из брокеров.
Если это баннер то выводим его на странице как <!--SPOT_1-->, где 1 это ИД спота, который вы видите рядом с каждой записью.
Если у вас редирект, то все тоже самое, только при добавлении зоны, в html code указываем урл, начиная его с Location: (это значит редирект), например Location:http://broker.com/your_id
После этого можно слать на /cgi/out.php?broker_spot_id=..
Обычный вариант - мы добавили 2+ брокера, у каждого из них взяли код для баннера (2+ broker zones) и создали спот в котором отметили, что там будут крутиться эти 2+ broker zones. В темплейте выводим как <!–SPOT_1–> - этот таг заменит на актуальный код от брокера.
Например, у брокера отдельные баннеры для мобильных. Поэтому у нас получается 2 брокера, и уже 4 зоны. Мы создаем 2 спота: 1 как и выше, 2й - для мобильных, и в нем отмечаем баннеры для мобильных.
Далее есть 2 варианта:
1. Если темпелйты для мобильных и десктопа у нас сильно отличаются, то делаем 2 темпелйта index and mobile_index, последний показывается мобильным. В одном ставим <!–SPOT_1–> в другом <!–SPOT_2–>
2. Либо если темплейт один, то делаем пхп вставку вида
<?php if ($GLOBALS['SCJ_VISITOR']['mobile']) { ?> <!--SPOT_2--> <?php } else { ?> <!--SPOT_1--> <?php } ?>
Используется когда надо отдать немного трафа на свой ресурс (с каким-то фильтром), а остальное на брокера.
1. Traffic rules - TDS заводим схему где первое правило, это например мобильный траф (выставляется в сетингах правила) - туда пойдет весь мобильный траф. 2. второе правило будет BROKER_SPOT_1 - где 1 это ИД спота из брокеров.
Таким образом весь мобильный траф пойдет на первое правило, а остальное траф будет разлит по брокерам в соответствии с их ценами.
Если у брокеров есть например отдельная цена на мобильный траф, то можно сделать 2 правила в ТДС: одно на BROKER_SPOT_1 где будут мобильные зоны с брокера, и BROKER_SPOT_2 где будут обычные зоны с брокера.
В зависимости от брокера (и оффера у конкретного брокера) может быть выгодно слать только уникальные хиты ( условно в проданные брокер считает только уникальных), но бывает так что считает уникальными 1-2-3 хита от одного и того же серфера.
Добавлен брокер Fixed price, суть его в том, что стоимость трафа по всем странам для него - как вы укажете. Это удобно если вы хотите продать какую-то часть трафа по оговоренной цене. По факту все страны такого брокера автоматически получат указанную вами цену.
Как с этим работать:
Итого: если у вас например 2 брокера и fixed price то при показе баннера (или раздаче трафа) скрипт выберет куда выгоднее отправить серфера из конкретной страны.
Когда мы отправляем пользователя на какой-то урл (брокера) или показали рекламу, то мы запоминаем время когда мы его туда отправили. Например, у нас 4 баннера (или урла куда слать), capping 30 (секунд).
00:00 человека послали на урл1 (показали баннер1) 00:10 человек загружает страницу снова, беннер1 он уже видел, шлем на баннер2 00:20 человек загружает страницу снова, баннеры 1 и 2 уже видел, показываем баннер 3 00:35 человек загружает страницу снова, у нас есть баннер 4 который мы могли бы показать, но баннер1 был показан более 30 секунд, мы показываем баннер1
00:37 баннер 1 показали 2 секунды назад, баннер2 - 27 секунд назад, баннер3 - 17 секунд назад, а баннер 4 еще не показываели - показываем его.
00:39 у всех баннеров время показа менее 30 секунд назад, смотрим If all zones has been showed: варианты или начинаем сначала (те “забываем” когда были показаны баннеры) или показываем какой-то определенный баннер пока не пройдет 30 секунд.
В большинстве случаев у вас больше чем 1 сайт и один и тот же код брокера часто используется либо на всех, либо как минимум на какой-то части.
Если брокеры добавлены на сайте 1, то что бы загрузить их на сайте 2 у нас есть 2 варианта:
1. классический master - slave ( как с ротацией ), те зоны добавляются на сайте 1, а на сайте 2 в настройках прописываются данные базы сайта 1 и он оттуда берет всю стат
2. схема похожая на master-slave ротации, но что бы не путать возьмем новую терминологию (на самом деле заимствовано из mysql терминогии): source - replica. Суть в том, что вы настраиваете брокеров только на одном сайте - source, он же тянет статистику с брокеров. Но при этом в CJ Settings - TDS\Brokers - Export вы можете настроить куда эти данные будут автоматически скопированы. В настройках будут доступны сайты, добавленные в Global Admin.
Таким образом как только вы делаете изменения в брокера - инфа автоматически копируется на указанные сайты. Когда забирается статистика с брокеров - она так же копируется. Таким образом на каждом домене получается копия брокеров и они отдаются мгновенно, с того же домена. При этом статистика по показам у каждого домена своя.
Те в варианте 2 минус в том что данные дублируются, но плюс в том что хранятся они на том же серваке где и сайт. Если у вас серваки стоят на разных хостингах то вариант 2 лучше, если на одном - вариант 1 лучше.
Бывает так, что брокер позволяет вставлять в свой код пользовательские переменные, например, у брокера попап в котором есть строка
ad_tags = “сюда можно списать таги которые будут использованы брокером”;
суть в том, что прямо в код зоны вставить таги скрипта нельзя, тк это мешает кешированию. Например, у нас шаблон
<html> ... тут список категорий галеры <category_list><!--CATEGORY_CUSTOM_NAME-->,</category_list> <!--SPOT_1-->
например в спот 1 входит 3 брокера, у одного из них есть зона в html которой хотелось бы внести <!–DESCRIPTION–>. Данные галеры собираются из базы 1 раз, таги заменяются и в кеше хранится уже практически просто html, который скрипт может отдать быстро, не обращаяясь к базе.
SPOT_1 заменяется на код зоны “на лету”, те мы просто заменяем SPOT_1 заданными HTML блоками (broker zones), если же нам надо еще что-то заменить в html зоны на данные галеры, то нам надо для каждого хита достать данные галеры, что значительно увеличит нагрузку.
Поэтому если надо что-то заменять в блоке брокера, то лучше эти данные подготовить заранее. Тут есть 2 варианта:
1. JS
например в зоне брокера выглядит как
<script type="application/javascript"> var ad_idzone = "12345667", ad_width = "300", ad_height = "250" ad_tags = "тут надо таги"; </script>
тогда мы ДО SPOT_1 ставим
<script type="application/javascript"> var my_tags = "<category_list><!--CATEGORY_CUSTOM_NAME-->,</category_list>"; </script>
а в коде брокера меняем
ad_tags = "тут надо таги";
на
ad_tags = my_tags;
2. PHP
Суть та же, только до SPOT_1 пишем
<? $my_var = "<category_list><!--CATEGORY_CUSTOM_NAME-->,</category_list>"; ?>
а в коде брокера меняем
ad_tags = "тут надо таги";
на
ad_tags = <?=$my_var?>;
Вариант пхп хорош там где блок не на JS.
В большинстве случаев при добавлении брокера все пункты обычные API key, login\password
Единственное исключение из всех Traffic Stars, для него в API Key надо писать 2 значения через двоеточие а именно client_id:client_secret например lkdjflksjd213:344343kdkksk