Контекстный товар: новый код вызова + проверка показа

Обсуждение сервиса товарной рекламы Микс-Товары
Ответить
Аватара пользователя
ivanov
Эксперт
Эксперт
Сообщения: 2192
Зарегистрирован: 20 фев 2006, 19:02
Откуда: Санкт-Петербург
Контактная информация:

Контекстный товар: новый код вызова + проверка показа

Сообщение ivanov » 28 апр 2009, 21:00

Пара мелких нововведений по Контекстному товару.

1. Новый код вызова, защищенный от «тормозов» и недоступности нашего сервера состоит из двух частей (как в UNI), например:
<!-- разместите на месте показа блока -->
<div id="mixkt_4294954592"></div>

<!-- разместите в самом конце страницы, перед тегом </body> -->
<script>
document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="http://mixmarket.biz/show/4294954592/&d ... 4294954592[/b]&r=' + escape(document.referrer) + '&rnd=' + Math.round(Math.random() * 100000) + '" charset="UTF-8"><' + '/scr' + 'ipt>');
</script>
Соответственно, если разместить блок так, как указано (в нужном месте <div id="mixkt_4294954592"></div>, а остальное в конце страницы), то при недоступности серверов МиксМаркета загрузка страниц тормозить не будет.

Обратите внимание, что вместо подчеркнутых ID блоков можно использовать любые удобные вам строки (латиницей и без пробелов). Однако будьте внимательны, чтобы их названия совпадали в обеих частях вызова.

Важно: новый формат не поддерживает размещения двух одинаковых блоков на одной странице. Но и для этого есть решение: если надо сделать два блока, то надо зауникалить id блока, в который запихивается Контекстный товар.

Например, первый блок размещаете как есть, а второй так:
<!-- разместите на месте показа блока -->
<div id="mixkt_4294954592_1"></div>

<!-- разместите в самом конце страницы, перед тегом </body> -->
<script>
document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="http://mixmarket.biz/show/4294954592/&d ... 54592[b]_1[/b]&r=' + escape(document.referrer) + '&rnd=' + Math.round(Math.random() * 100000) + '" charset="UTF-8"><' + '/scr' + 'ipt>');
</script>
(обратите внимание на _1 в двух местах)

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

Старый код вызова продолжает работать как раньше.





2. Проверка, был ли показан блок Контекстного Товар.

В код вызова внедрена переменная, которая после отрисовки блока содержит либо TRUE, если блок был показан, либо FALSE, если блок не был показан (например, внезапно отключились все рекламодатели из выбранной категории товаров).

Название этой переменной формируется по такому шаблону:

mix_kt_ID_ГРУППЫ_shown__

Например, в скрипте http://mixmarket.biz/show/4294954592/ эта переменная называется mix_kt_4294954592_shown__.

Как этим пользоваться?

Все случаи использования перечислить трудно, но, вот один пример:

Пусть у нас есть товарная группа, которая очень хорошо подходит под тематику раздела сайта (4294954593). Но в ней довольно часто нет рекламодателей. И есть еще одна товарная группа, которая нам нравится меньше, но мы готовы показывать ее, когда в первой нет товаров (4294954592).

Тогда мы делаем так:

1. В нужном месте вставляем:
<div id="mixkt_4294954593"></div>
<div id="mixkt_4294954592"></div>
2. В конце страницы пишем:
<script>
var mix_kt_4294954593_shown__=false;

document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="http://mixmarket.biz/show/4294954593/&div=mixkt_4294954593&r=' + escape(document.referrer) + '&rnd=' + Math.round(Math.random() * 100000) + '" charset="UTF-8"><' + '/scr' + 'ipt>');
</script>
<script>
if (!mix_kt_4294954593_shown__)
{
document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="http://mixmarket.biz/show/4294954592/&div=mixkt_4294954592&r=' + escape(document.referrer) + '&rnd=' + Math.round(Math.random() * 100000) + '" charset="UTF-8"><' + '/scr' + 'ipt>');
}
</script>
Что мы сделали?

Сначала на всякий случай завели переменную: var mix_kt_4294954593_shown__=false; — чтобы не возникало ошибки при незагрузке кода нужной товарной группы (4294954593).

Потом загрузили код этой товарной группы (4294954593).

Если код показался, то все окей, мы добились того, чего хотели. И значение переменной mix_kt_4294954593_shown__ стало TRUE.

А вот если код нужной товарной группы не показался, то переменная mix_kt_4294954593_shown__ осталась FALSE, и, если это так, мы можем попытаться показать код второй, менее любимой товарной группы (4294954592). Поэтому мы пишем условие: if (!mix_kt_4294954593_shown__) — и далее пытаемся вызвать блок второй товарной группы (4294954592).

Конечно же, на месте вызова второй товарной группы (4294954592) может быть не только Контекстный Товар, но и блок UNI, а также Директа и других рекламных систем.

Пример с Директом:

Первая часть:
<div id="mixkt_4294954593"></div>
Вторая часть (переменные, отвечающие за оформление Директа, опускаю):
<script>
var mix_kt_4294954593_shown__=false;

document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="http://mixmarket.biz/show/4294954593/&d ... 4954593&r=' + escape(document.referrer) + '&rnd=' + Math.round(Math.random() * 100000) + '" charset="UTF-8"><' + '/scr' + 'ipt>');

if (!mix_kt_4294954593_shown__)
{
var yandex_partner_id = 27416;
var yandex_direct_place = 'mixkt_4294954593';
...
document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc'+'ript>');
}
</script>
Обратите внимание на использование переменной var yandex_direct_place = 'mixkt_4294954593'; — это указание на то, что Директ надо загрузить в соответствующий блок.

Ссылки:
Подробнее про yandex_direct_place.
Аналогичный функционал у Директа.
Денис Иванов, экс-Миксмаркет
upyrj@ya.ru

Аватара пользователя
ivanov
Эксперт
Эксперт
Сообщения: 2192
Зарегистрирован: 20 фев 2006, 19:02
Откуда: Санкт-Петербург
Контактная информация:

Сообщение ivanov » 29 апр 2009, 19:47

И еще одно нововведение: с сегодняшнего дня клики по Контекстному Товару, загруженному во фреймах, не учитываются просто так. Нужно поставить трекер на все страницы сайта.

Это сделано в целях обеспечения лучшего контроля за качеством трафика в системе.
Последний раз редактировалось ivanov 30 апр 2009, 18:33, всего редактировалось 1 раз.
Денис Иванов, экс-Миксмаркет
upyrj@ya.ru

Корнелий
Эксперт
Эксперт
Сообщения: 186
Зарегистрирован: 11 фев 2007, 14:08

Сообщение Корнелий » 29 апр 2009, 22:50

А зачем новый код, если и старый хорошо защищал от тормозов?

Аватара пользователя
ivanov
Эксперт
Эксперт
Сообщения: 2192
Зарегистрирован: 20 фев 2006, 19:02
Откуда: Санкт-Петербург
Контактная информация:

Сообщение ivanov » 30 апр 2009, 03:28

TXT, это смотря как вставлять. Если через «пересаживание блоков», то да, ничего принципиально не изменилось. Если прямо втыкать «как есть», то раньше как раз никакой «защиты от тормозов» не было.

На всякий случай повторю, что старый код по-прежнему прекрасно работает.
Денис Иванов, экс-Миксмаркет
upyrj@ya.ru

Ответить