Учёт кликов по баннеру одновременно AdRiver и сторонней системой
Примечание: Возможность учитывать клики описанным способом доступна только для рекламных агентств по коду баннера.
Чтобы учитывать клики по баннеру одновременно AdRiver и сторонней системой в код вызова баннера необходимо добавить параметр &pass= и вписать в него закодированную ссылку на сторонний счётчик. А также прописать кнопку на клик в flash-ролике особым образом.
1. Модификация кода вызова
1.1. IFrame-код
Пример кода:
<!-- AdRiver code START. Type:970x90 Site: primer PZ: 1 BN: 0 --> <script language="javascript" type="text/javascript"><!-- var RndNum4NoCash = Math.round(Math.random() * 1000000000); var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer); document.write( '<iframe src="http://ad.adriver.ru/cgi-bin/erle.cgi?' + 'sid=1&ad=279793&pid=607191&&bid=1325793&bn=1325793&target=top&bt=41&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '" frameborder=0 vspace=0 hspace=0 width=970 height=90 marginwidth=0' + ' marginheight=0 scrolling=no></iframe>'); //--></script> <noscript> <a href="http://ad.adriver.ru/cgi-bin/click.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&bt=41&rnd=1266388962" target=_top> <img src="http://ad.adriver.ru/cgi-bin/rle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&bt=41&rnd=1266388962" alt="-AdRiver-" border=0 width=970 height=90></a> </noscript> <!-- AdRiver code END -->
Пример модифицированного кода (изменения выделены красным):
<!-- AdRiver code START. Type:970x90 Site: primer PZ: 1 BN: 0 -->
<script language="javascript" type="text/javascript"><!--
var RndNum4NoCash = Math.round(Math.random() * 1000000000);
var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer);
document.write(
'<iframe src="http://ad.adriver.ru/cgi-bin/erle.cgi?'
+ 'sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=41&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail
+ '&pass=' + escape("ссылка на сторонний кликовый счётчик, должен начинаться с http://") + '" frameborder=0 vspace=0 hspace=0 width=970 height=90 marginwidth=0'
+ ' marginheight=0 scrolling=no></iframe>');
//--></script>
<noscript>
<a href="http://ad.adriver.ru/cgi-bin/click.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&bt=41&rnd=1266388962" target=_top>
<img src="http://ad.adriver.ru/cgi-bin/rle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&bt=41&rnd=1266388962" alt="-AdRiver-" border=0 width=970 height=90></a>
</noscript>
<!-- AdRiver code END -->
1.2. Код Extension
Пример кода:
<!-- AdRiver code START. Type:extension Site: primer PZ: 1 BN: 0 -->
<script type="text/javascript">
(function(L){if(typeof(ar_cn)=="undefined")ar_cn=1;
var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);',
j=' type="text/javascript"',t=0,D=document,n=ar_cn;L+=escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999);
function _(){if(t++<100){var F=D.getElementById('ar_container_'+n);
if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document);
if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'</sc'+'ript><sc'+'ript'+j+' src="'+L+'"></sc'+'ript>');t=0}
else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain=""
+D.domain+"";"+S+"</sc'+'ript>');document.write('<sc'+'ript"+j+" src=""+L+""></sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}}
D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn
+'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_'+ar_cn
+'" style="display:none;"></div>');_();ar_cn++;
})('http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=43&tail256=');
</script><!-- AdRiver code END -->
Пример модифицированного кода (изменения выделены красным):
<!-- AdRiver code START. Type:extension Site: primer PZ: 1 BN: 0 -->
<script type="text/javascript">
(function(L){if(typeof(ar_cn)=="undefined")ar_cn=1;
var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);',
j=' type="text/javascript"',t=0,D=document,n=ar_cn;L+=escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999);
function _(){if(t++<100){var F=D.getElementById('ar_container_'+n);
if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document);
if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'</sc'+'ript><sc'+'ript'+j+' src="'+L+'"></sc'+'ript>');t=0}
else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain=""
+D.domain+"";"+S+"</sc'+'ript>');document.write('<sc'+'ript"+j+" src=""+L+""></sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}}
D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn
+'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_'+ar_cn
+'" style="display:none;"></div>');_();ar_cn++;
})('http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=43&pass=' + escape("ссылка на сторонний кликовый счётчик, должен начинаться с http://") + '&tail256=');
</script><!-- AdRiver code END -->
1.3. Код Poster
Пример кода:
<!-- AdRiver code START. Type:poster Site: primer PZ: 1 BN: 0 -->
<script language="javascript" type="text/javascript"><!--
function adriverPoster(L){
if(typeof(ar_cn)=="undefined")ar_cn=1;
var W=window,D=document,E=D.documentElement,T=0,N=ar_cn,P=0,C=D.compatMode=="CSS1Compat",
X='<scr'+'ipt type="text/javascript">var ar_bnum='+N+';setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e)}},3000);',
Y='</sc'+'ript><sc'+'ript type="text/javascript" src="'+L+'&tail256='+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999)+'"></sc'+'ript>';
function G(){if(T++<100){var o=D.getElementById('ar_container_'+N);if(o){try{var d=o.contentDocument||(W.ActiveXObject&&W.frames['ar_container_'+N].document);if(d){d.write(X+Y)}else setTimeout(arguments.callee,100)}catch(e){try{o.src = "javascript:{document.write('"+X+'document.domain="'+D.domain+'";'+Y+"')}";return}catch(E){}}}else setTimeout(arguments.callee,100)}}
function A(e,t,f){if(e.addEventListener)e.addEventListener(t,f,false);else if(e.attachEvent)e.attachEvent('on'+t,f)}
function R(e,t,f){if(e.removeEventListener)e.removeEventListener(t,f,false);else if(e.detachEvent)e.detachEvent('on'+t,f)}
function S(){var ch=self.innerHeight||C&&E.clientHeight||D.body.clientHeight,st=self.pageYOffset||C&&E.scrollTop||D.body.scrollTop;if(P>=st&&st+ch>=P){R(W,'scroll',S);G()}}
A(W,'load',function(){var o=D.getElementById('ad_ph_'+N);if(o){while(o.offsetParent){P+=o.offsetTop;o=o.offsetParent}A(W,'scroll',S);S()}});
D.write('<div style="position:absolute;visibility:hidden;height:0px;"><iframe id="ar_container_'+N+'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_'+N+'"></div>');
ar_cn++;
}
adriverPoster("http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=49");
//--></script><!-- AdRiver code END -->
Пример модифицированного кода (изменения выделены красным):
<!-- AdRiver code START. Type:poster Site: primer PZ: 1 BN: 0 -->
<script language="javascript" type="text/javascript"><!--
function adriverPoster(L){
if(typeof(ar_cn)=="undefined")ar_cn=1;
var W=window,D=document,E=D.documentElement,T=0,N=ar_cn,P=0,C=D.compatMode=="CSS1Compat",
X='<scr'+'ipt type="text/javascript">var ar_bnum='+N+';setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e)}},3000);',
Y='</sc'+'ript><sc'+'ript type="text/javascript" src="'+L+'&tail256='+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999)+'"></sc'+'ript>';
function G(){if(T++<100){var o=D.getElementById('ar_container_'+N);if(o){try{var d=o.contentDocument||(W.ActiveXObject&&W.frames['ar_container_'+N].document);if(d){d.write(X+Y)}else setTimeout(arguments.callee,100)}catch(e){try{o.src = "javascript:{document.write('"+X+'document.domain="'+D.domain+'";'+Y+"')}";return}catch(E){}}}else setTimeout(arguments.callee,100)}}
function A(e,t,f){if(e.addEventListener)e.addEventListener(t,f,false);else if(e.attachEvent)e.attachEvent('on'+t,f)}
function R(e,t,f){if(e.removeEventListener)e.removeEventListener(t,f,false);else if(e.detachEvent)e.detachEvent('on'+t,f)}
function S(){var ch=self.innerHeight||C&&E.clientHeight||D.body.clientHeight,st=self.pageYOffset||C&&E.scrollTop||D.body.scrollTop;if(P>=st&&st+ch>=P){R(W,'scroll',S);G()}}
A(W,'load',function(){var o=D.getElementById('ad_ph_'+N);if(o){while(o.offsetParent){P+=o.offsetTop;o=o.offsetParent}A(W,'scroll',S);S()}});
D.write('<div style="position:absolute;visibility:hidden;height:0px;"><iframe id="ar_container_'+N+'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_'+N+'"></div>');
ar_cn++;
}
adriverPoster("http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=49&pass=' + escape("ссылка на сторонний кликовый счётчик, должен начинаться с http://") + '");
//--></script><!-- AdRiver code END -->
1.4. JavaScript-код
Пример кода:
<!-- AdRiver code START. Type:javascript Site: primer PZ: 1 BN: 0 -->
<script language="javascript" type="text/javascript"><!--
var RndNum4NoCash = Math.round(Math.random() * 1000000000);
var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer);
document.write('<sc' + 'ript language="JavaScript" type="text/javascript" src="http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=16&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '"></sc' + 'ript>');
//--></script><!-- AdRiver code END -->
Пример модифицированного кода (изменения выделены красным):
<!-- AdRiver code START. Type:javascript Site: primer PZ: 1 BN: 0 -->
<script language="javascript" type="text/javascript"><!--
var RndNum4NoCash = Math.round(Math.random() * 1000000000);
var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer);
document.write('<sc' + 'ript language="JavaScript" type="text/javascript" src="http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=16&pass=' + escape("ссылка на сторонний кликовый счётчик, должен начинаться с http://") + '&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '"></sc' + 'ript>');
//--></script><!-- AdRiver code END -->
1.5. Ajax-код
Пример кода:
<script type="text/javascript">
new adriver("adriver_banner", {sid:1, ad:243874, pid:634250, bid:951236, bn:951236, bt:52});
</script>
Пример модифицированного кода (изменения выделены красным):
<script type="text/javascript">
new adriver("adriver_banner", {sid:1, ad:243874, pid:634250, bid:951236, bn:951236, bt:52, pass: 'ссылка на сторонний кликовый счётчик, должен начинаться с http://'});
</script>
2. Прошивка кнопки на клик
Для элемента button в Flash-ролике пропишите следующий скрипт:
on(release){
if (_root.ar_pass){
var temp_mc = _root.createEmptyMovieClip("temp_mc", _root.getNextHighestDepth());
temp_mc._x = -10000;
var mcLoader = new MovieClipLoader();
mcLoader.addListener({onLoadInit:function(mc:MovieClip){
mcLoader.unloadClip(mc);
}});
mcLoader.loadClip(_root.ar_pass, temp_mc);
}
getURL(_root.link1, _root.target)
}
В ActionScript 3 для элемента button пропишите следующий скрипт:
function callLink(event:MouseEvent):void {
var pass:String = LoaderInfo(this.root.loaderInfo).parameters['ar_pass'];
if(pass&&pass!="undefined") (new Loader()).load(new URLRequest(pass));
var url:String = LoaderInfo(this.root.loaderInfo).parameters['link1'];
try {
var ie:String = ExternalInterface.call("function(){return !!window.ActiveXObject}");
if (ie == "true") ExternalInterface.call('window.open',url);
else navigateToURL(new URLRequest(url), '_blank');
}catch (e:Error){
navigateToURL(new URLRequest(url), '_blank');
}
}
click_btn.addEventListener(MouseEvent.CLICK, callLink);