Прежде всего, давайте популяризировать текущие виды интернет-рекламы. Обычно они включают CPC, CPM, CPA, CPS и CPV.
CPC рассчитывается по клику (Click), CPM рассчитывается по всплывающему окну (Mxxx?), CPA/CPS рассчитывается по регистрации и продажам, а CPV рассчитывается по количеству показов. Таким образом, CPC, CPA и CPS, которые получают доход в зависимости от поведения посетителей веб-сайта, являются одной категорией, а CPM и CPV, которые связаны только с трафиком веб-сайта, — другой категорией.
Как вы можете себе представить, эффекты CPC, CPA и CPS необходимо корректировать путем анализа многих факторов, таких как группы посетителей и привычки кликов. Их невозможно достичь в одночасье. В этой статье я главным образом хочу изучить, как поднять шум. о трафике без обмана. Получите как можно больше дохода, когда рекламный альянс будет использовать его все больше и больше, и со временем это также даст некоторые оценки различных рекламных альянсов.
1. Самая элементарная поставка
Если взять в качестве примера альянс, то встраивание аналогичного кода непосредственно в любое место веб-страницы может привести к появлению медийной рекламы, плавающей в правом нижнем углу.
<тип сценария="текст/javascript">
u_a_client="20326";
u_a_width="270";
u_a_height="200";
u_a_zones="37972";
u_a_type="1"
</скрипт>
<script src=" http://www.XXXX.com/i.js"></script >
2. Ротация похожих объявлений из разных рекламных сетей.
Поскольку CPV/CPM рассчитывает количество просмотров на основе IP, один и тот же пользователь, неоднократно просматривающий одну и ту же рекламу, не увеличит доход, поэтому вводится механизм карусели.
Обычно, если это один и тот же альянс, он автоматически чередуется в случайном порядке, но что, если вы хотите чередовать объявления CPV разных альянсов?
Фактически, вы можете выполнить рандомизацию самостоятельно и использовать Javascript для случайной генерации кодов в соответствующих позициях. Вы можете определить файл Dynamic.js, а затем импортировать его в соответствующее место.
<script type="text/javascript" src="dynamic.js"></script>
Затем Dynamic.js использует функции document.write и Math.random для динамического отображения рекламы с разных веб-сайтов. Здесь я использовал рекламу другого рекламного альянса, Tai Chi Circle (я видел, что playsc.com использует этот альянс, поэтому я тоже подал заявку). . Код выглядит следующим образом:
выбор вар = Math.random()*2;
если (выбор<=1){
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
}еще{
document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";</script> <script src=" http://www.admin6.com/i.js"></script>' );
}
Очевидно, что если нужно отобразить три, то будет достаточно случайных*3 и трех ветвей и так далее. Это всего лишь форма. Если рекламы много, вы можете определить файл Dynamic.js, поместить приведенный выше код в функцию cpv, а затем вызвать функцию cpv в соответствующем месте. Это облегчает унифицированное управление рекламой.
Еще одним преимуществом этого является то, что статическую страницу не нужно перегенерировать. Вам нужно только изменить содержимое Dynamic.js, чтобы изменить рекламный контент.
В ходе использования я обнаружил, что генерация случайных чисел в JavaScript не очень надежна, поэтому вы также можете отказаться от метода Math.random и использовать метод нечетно-четного времени: отображать рекламу A в нечетные минуты, отображать рекламу B в четные минуты. -нумеровать минуты, а то и делить на секунды. Поддерживает до 60 ротаций рекламы (так извратили-.-). Основная идея этого метода заключается в том, что пока веб-страница просматривается дольше, чем заданный интервал времени (здесь я использую минуты), два рекламных объявления неизбежно будут просматриваться одновременно. Код Dynamic.js изменяется следующим образом.
вар сейчас = новая дата();
вар минут = now.getMinutes();
если (минут%2==0){
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
}еще{
document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";</script> <script src=" http://www.xxx.com/i.js"></script>' );
}
Еще одним преимуществом метода нечетно-четного времени является то, что вы можете сравнить, какой рекламный альянс имеет больший объем, поскольку вполне возможно, что если используется нечетно-четное распределение времени, вообще говоря, количество кликов, выделенных двум альянсам, должно быть равно аналогичный, только для справки.
3. Невероятный трюк с каруселью
После использования методов в 2 по сравнению с одиночным альянсом рекламный эффект сразу составит *1,5, но этого все равно недостаточно. Нам следует быть более жадными: выжимать пользовательский трафик с каждого IP.
Как его можно аккуратно сжать? Представьте себе этот алгоритм:
Пользователь посещает сайт впервые в этот день и показывает объявление 1.
Пользователь заходит на сайт во второй раз за день и показывает объявление 2.
Пока количество посещений пользователя меньше количества существующих объявлений, каждый раз при его посещении будут показываться разные объявления, и объявления будут показываться столько раз, сколько он нажмет на страницу! Реклама с ценой за просмотр — это действительно цена за просмотр. (Но не будет ли это ошибочно принято за читерство? Поскольку соотношение явных отображаемых цифр к статистике слишком велико, это выглядит фейком. Это нужно измерить)
Другой вопрос, как определить, в какое время заходит пользователь и, следовательно, какая реклама отображается? Самая простая идея — построить локальную систему статистики трафика, такую как система piwik, а затем запросить локальную базу данных. Мне очень хотелось реализовать это в самом начале, но вы можете себе представить, насколько это снизит производительность хоста. . Подумайте, есть ли у JavaScript способ сохранить эту информацию о доступе самостоятельно?
На самом деле существуют локальные файлы cookie. Пока файл cookie записывается автоматически, будет очевидно, сколько раз заходил пользователь, а поскольку файл cookie имеет автоматический механизм тайм-аута, нам нужно только разрешить ему установиться; таймаут до 24 часов, затем второй раз. Статистика будет автоматически пересчитываться каждый день.
Во-первых, вам нужны функции set_cookie и get_cookie.
функция set_cookie (имя, значение, срок действия истекает) {
вар сегодня = новая дата();
сегодня.setTime(сегодня.getTime());
истекает = истекает * 1000;
var expires_date = новая дата(today.getTime()+(expires));
document.cookie=name+"="+escape(value)+";expires="+expires_date.toGMTString()+";domain=simplecd.org";
}
функция get_cookie(имя){
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++){
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^s+|s+$/g,"");
если (x==имя){
вернуть unescape(y);
}
}
}
Тогда можно немного модифицировать алгоритм и упростить код: для каждого объявления создавать свой cookie, значением которого будет количество посещений.
Новый алгоритм следующий:
1. Просмотр файлов cookie каждого рекламного места.
2. Если файл cookie не существует, отобразите рекламное место и установите файл cookie.
3. Если все файлы cookie существуют, любая реклама будет отображаться или не отображаться, и одновременно будет обновляться файл cookie отображаемой рекламы.
Кроме того, чтобы плавающее окно не беспокоило вас, вы также можете добавить еще одно:
Если общее количество раз, когда пользователю была показана реклама, превышает 6 раз, то этот тип рекламы сегодня отображаться не будет.
Весь следующий код выглядит следующим образом:
вар total_ad = 3;
вар max_show = 6;
вар cookie_PRe = 'cpvad_counter_';
вар cookie_time = 60*60*8;
var show = -1 // показать идентификатор объявления;
вар show_counter = 0;
// первый проход, циклический алгоритм
for (var i=0;i<total_ad;i++) {
вар имя_куки = cookie_pre+i;
счетчик вар = get_cookie (имя_cookie);
если (счетчик){
show_counter += parseInt(счетчик);
}еще{
показать = я;
перерыв;
}
}
// покажем, если не показывалось больше max_show раз
если (show_counter <max_show){
// второй проход, случайное отображение
если (показать == -1){
показать = Math.floor(Math.random()*total_ad);
}
//обработка файлов cookie
var имя_куки = cookie_pre+show
вар cookie_value = get_cookie(cookie_name);
если (cookie_value){
set_cookie(cookie_name,''+(parseInt(cookie_value)+1),cookie_time);
}еще{
set_cookie(cookie_name,'1',cookie_time);
}
// показываем добавление
переключить(показать){
случай 0:
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
перерыв;
случай 1:
document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";</script> <script src=" http://www.xxx.com/i.js"></script>' );
перерыв;
случай 2:
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="283";u_a_height="189";u_a_zones="63369";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
перерыв;
}
}
4. Резюме
В этой статье технически анализируется и реализуется максимизация дохода от ротации объявлений CPV. Что касается аналогичных объявлений CPM, то же самое.
Однако реклама — это не только максимизация эффективности за счет игры с JavaScript. Существуют и другие категории рекламы, такие как CPC/CPA/CPS. Существует также взаимосвязь между количеством и качеством, взаимосвязь между позицией и скоростью отображения, а также взаимосвязь между ними. неудобство и эффективность Есть много вещей, которые нужно изучить.
Что касается интернет-рекламы, я всего лишь новичок, который занимается рекламой всего неделю. Мне еще предстоит многому научиться и исследовать, поэтому название этой статьи такое: (1 Когда у меня появятся некоторые идеи и я смогу). написать отдельную статью, Это (2). Однако на данный момент я имею лишь приблизительное представление об эксперименте и не знаю, когда его провести и когда записать.
Источник статьи: http://obmem.info/?p=844 При перепечатке указывайте ссылку на источник.