Масштабирование объявлений - показ разных в зависимости от разрешения. Можно ли?

suraev
На сайте с 26.07.2005
Offline
153
1784

Добрый день.

Устанавливаю сейчас в ротации коды контекстных систем на сайт. У бегуна и директа есть масштабируемые горизонтальные объявления, которые хорошо встраиваются в дизайн по ширине страницы. А у adsense таких объявлений нет, только фиксированный размер.

Что я планирую сделать:

javascript анализирует доступную ширину экрана и в зависимости от этого ставит либо объявление 728x90 (при всех разрешениях рабочей части окна браузера >1200), либо 468x60 (<1200).

В принципе, если анализ делать один раз при загрузке страницы, то никаких нарушений нет - показывается одно объявление и баста. Но это неудобно. Если пользователь уменьшит размер окна, допустим с 1400 до 1100, всё равно останется большое объявление, в итоге у всей страницы появится горизонтальный скроллинг и вёрстка расползётся.

Поэтому я хочу попробовать сделать круче: на javascript анализировать изменение ширины экрана. Т.е. если пользователь уменьшает размер окна браузера, то при определённом изменении вместо 728x90 подгружается маленькое 468x60.

Таким образом, без перезагрузки страницы одно объявление подменяется другим.

Как думаете, разрешено ли так делать?

Может есть прецеденты или конкретные правила adsense, которые это запрещают?

Комби-корм
На сайте с 02.07.2008
Offline
119
#1

Прикольно придумано. 🚬

Мне кажется, так можно.

Главное у гугла - это не изменять размер объявлений, а подменять один формат на другой - об этом ничего такого не встречал у них в мануале.

На всякий пожарный перепроверьте.

Maxi21
На сайте с 07.12.2006
Offline
225
#2

Если в коде страницы будет более трех кодов блока, то как бы они не подменялись, следующие после трех не будут ничего показывать. Собсно варианты обойти это есть, но тут уже игра с правилами.. :)

Google ;) (http://google.com)
suraev
На сайте с 26.07.2005
Offline
153
#3
Maxi21:
Если в коде страницы будет более трех кодов блока, то как бы они не подменялись, следующие после трех не будут ничего показывать. Собсно варианты обойти это есть, но тут уже игра с правилами.. :)

Так речь не идёт о том, чтобы было более трёх.

Maxi21
На сайте с 07.12.2006
Offline
225
#4

Я о способе вывода их.

то при определённом изменении вместо 728x90 подгружается маленькое 468x60.
suraev
На сайте с 26.07.2005
Offline
153
#5
Maxi21:
Я о способе вывода их.

Всё равно не вижу проблемы. Сначала загружен код одного объявления. Потом, при изменении размера страницы, подгружается другой. Итого два.

Единственная проблема, которую я пока вижу - чтобы скрыть рекламный блок, который был загружен первым, придётся видимо убирать его в невидимый слой. Ну либо попрошу завтра посмотреть специалиста по js, может есть более изящный способ с заменой параметров объявления на лету и повторным вызовом функции загрузки объявлений.

Maxi21
На сайте с 07.12.2006
Offline
225
#6
suraev:
Всё равно не вижу проблемы. Сначала загружен код одного объявления. Потом, при изменении размера страницы, подгружается другой. Итого два.

Единственная проблема, которую я пока вижу - чтобы скрыть рекламный блок, который был загружен первым, придётся видимо убирать его в невидимый слой. Ну либо попрошу завтра посмотреть специалиста по js, может есть более изящный способ с заменой параметров объявления на лету и повторным вызовом функции загрузки объявлений.

Про это я и говорю. Если мы просто меняем слой, делая его невидимым, то с html кода он не пропадает, меняется лишь его свойство.

Повторный вызов интересно, главно чтоб его не сочли за способ накрутки показов.

Честно говоря - а стоит ли заморачиваться? Много ли юзеров пытаются играться рамерами окна, уменьшать его в рамках браузера? 🤪 Есть статистика по вашему сайту?

Лично мне это както и в голову не приходило никогда )))

suraev
На сайте с 26.07.2005
Offline
153
#7

Да, пожалуй вы правы, что-то я слегка замудрил. Обойдусь простой подстановкой объявления в зависимости от рабочей области в момент загрузки.

Кстати, задался вопросом, не будет ли проблем если вставить в код вызова маааленькое условие, и в зависимости от него показывать разные блоки. Всё-таки какая никакая, а модификация кода вызова. Нашёл такую ссылку:

http://adsense-ru.blogspot.com/2008/07/ab.html

по сути, то же самое - только тут рандом описывается.

Помните, что изменение рекламного кода обычно противоречит правилам программы AdSense. Однако мы проконсультировались со специалистами по правилам программы, и они разрешили нашим издателям изменять код для проведения теста A/B. Просим учесть, что коллектив AdSense не предоставляет поддержку для тестирования данного типа и помощь в устранении неисправностей в этом скрипте.

Функция определения ширины рабочей области -

function getClientWidth()

{

return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;

}

сейчас будем шаманить...

suraev добавил 26.01.2010 в 19:50

Итак, вот решение:

<script type="text/javascript"><!--

google_ad_client = "pub-IDXXXXXXXXXXXXX";

function getClientWidth()

{

return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;

}

if (getClientWidth() > 900)

{

google_ad_slot = "AD1XXXXXXX";

google_ad_width = 728;

google_ad_height = 90;

}

else

{

google_ad_slot = "AD2XXXXXXX";

google_ad_width = 468;

google_ad_height = 60;

}

//-->

</script>

<script type="text/javascript"

src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script>

AD1XXXXXX и AD2XXXXX - идентификаторы объявлений.

Кстати, по аналогичной схеме я поступил с Бегуном и Директом. На больших разрешения показываю 4 объявления в блоке, на маленьких - 3 объявления в блоке (иначе им слишком тесно).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий