Учёт кликов по баннеру одновременно 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);