本手册讲解如何正确添加AdMonitor监测代码(适用于普通硬广监测部分, 有关可见曝光监测部分请点击这里)。AdMonitor监测代码按形式可以分为Flash代码、JS代码、URL代码三大类。一般地,Flash物料相关的监测采用Flash代码,网页相关的监测采用JS代码,其他无法使用Flash和JS代码的情况下采用URL代码,需要媒体确保秒针监测代码在广告素材正确展示后才能被触发。
1. 非Flash硬广监测
对于非Flash硬广监测,请查看本节说明。
1.1. 非Flash硬广点击
监测硬广点击采用URL代码。使用URL代码替换原目标URL。当用户点击广告链接时,他/她会首先访问AdMonitor监测服务器记录点击,而后迅速跳转到目标页。
-
点击URL代码样例 【代码编号1a-1】
http://e.cn.miaozhen.com/r.gif?k=CAID&p=SPID0&ae=MiniSiteID&af=KeywordID&o=http://www.miaozhen.com
点击代码由两部分组成。Part A (例子中的前半部分,以o=结尾),包含发送给AdMonitor服务器的CAID、SPID、MiniSiteID、KeywordID等信息。Part B (例子中的后半部分)是目标URL。如果在AdMonitor生成点击代码时,目标URL还没有确定,则点击代码只包含Part A。你需要在目标URL(即Part B)确定时,将其自行拼接在Part A之后。
有时,不需跳转到某一目标链接(例如,不希望秒针进行跳转或者监测页内按钮的点击次数,此时秒针仅负责记录点击数,不负责跳转),则可以仅仅使用Part A,但需修改页面的HTML代码配合。
以下是一个监测点击数的HTML代码的例子,点击后会直接到达KFC网站(不经过秒针服务器跳转)。
-
点击监测 HTML代码 样例 【代码编号1a-2】
<a href="http://kfc.com.cn" target="_blank" onclick="var i=new Image(1,1); i.onload=i.onerror=function(){}; i.src='http://e.cn.miaozhen.com/r.gif?k=CAID&p=SPID0&ae=MiniSiteID&af=KeywordID&o=';">点击进入KFC</a>
以下是一个监测点击数的JS代码的例子,把其加入到您的JS代码相应位置可完成点击监测功能(如监测一个页面内部按钮弹窗)。
-
点击监测 JS代码 样例 【代码编号1b-2】
(function() { var url = "http://e.cn.miaozhen.com/r.gif?k=CAID&p=SPID0&ae=MiniSiteID&af=KeywordID&o="; var img = new Image(1,1); img.onload = img.onerror = function() {}; img.src = url; })();
Tip
|
点击代码的常见问题
|
1.2. 非Flash硬广曝光
对于非Flash硬广,有JS和URL两种代码可选。
- JS代码
-
在硬广所在页面添加JS代码,用于监测页面PV,从而可测得到硬广曝光。但媒体需保证代码和硬广同时同页上下线。粘贴代码到网页,使其出现在HTML页面源代码的<body>和</body>之间。
-
硬广JS代码样例 【代码编号1b-1】
<noscript><div style='display:none'> <img src='http://g.cn.miaozhen.com/x.gif?k=CAID&p=SPID' width='1' height='1' border='0' /> </div></noscript> <script type='text/javascript'> //<![CDATA[ //Miaozhen Code Start _mzh=window._mzh || []; _mzh.push( ['_clear'], ['_set_k', 'CAID'], ['_set_p', 'SPID'], ['_send', 'http://g.cn.miaozhen.com/x.gif'] ); (function(){ var mz=document.createElement('script'); mz.type='text/javascript';mz.async=true;mz.src='http://js.miaozhen.com/t.js'; var t=document.getElementsByTagName('script')[0]; t.parentNode.insertBefore(mz,t); })(); //Miaozhen Code End //]]> </script>
-
- URL代码
-
在媒体无法支持使用Flash代码和JS代码监测曝光的情况下(例如视频贴片广告、客户端广告等),可使用URL代码(又称短代码,1x1像素)。
将URL直接提供给媒体输入其投放系统当中。媒体需保证仅仅当每次广告曝光时,此URL才会被访问一次,特别注意轮播的情况,如果没有显示监测的广告,不得使用此URL。访问需从浏览广告的用户端发出,不接受媒体服务器使用此URL代为访问。如果为客户端广告,要求客户端通过IE浏览器的API访问,使得IE Cookie可用。
媒体可以在URL代码后面直接拼接随机数的方式避免浏览器缓存,但并不必须。AdMonitor服务器已经使用HTTP no-cache方法防止浏览器缓存。
-
URL曝光代码样例 【代码编号1a-3】
http://g.cn.miaozhen.com/x.gif?k=CAID&p=SPID0&rt=2
-
有些媒体采取自己的JS代码发送秒针URL监测请求,此时请特别注意JS的发送方式,应当使用Image.onload(),Image.onerror()防止局部变量被销毁,否则可能会导致部分监测请求无法发出,造成数据差异。具体见下例:
-
JS代码样例 【代码编号1b-3】
(function() { var url = "http://g.cn.miaozhen.com/x.gif?k=CAID&p=SPID0&rt=2"; var img = new Image(1,1); img.onload = img.onerror = function() {}; img.src = url; })();
-
-
有些形式的广告(如EDM)可能需要HTML代码监测,HTML代码是URL短代码简单包装后的结果。下面例子包含了集中常见的包装方式(img形式、iframe形式)。
-
HTML代码样例(img) 【代码编号1a-4】
<div style="display:none"><img src= "http://g.cn.miaozhen.com/x.gif?k=CAID&p=SPID0&rt=2" width="1" height="1" border="0" /></div>
-
HTML代码样例(iframe) 【代码编号1a-6】
<iframe src="http://g.cn.miaozhen.com/x.gif?k=CAID&p=SPID0&rt=2" width="0" height="0" frameborder="0" scrolling="no"> </iframe>
-
-
2. Flash硬广监测
对于Flash硬广监测,请查看本节说明。
由于秒针AE不是Flash专业制作人员,无法应对较复杂的Flash物料。故一般情况下,Flash代码由创意公司根据秒针所给代码和以下说明,将监测代码按照需求嵌入。秒针AE拿到物料后,负责检查代码添加的正确性。
首先准备Flash物料文件(.fla文件),确认此物料除去秒针监测代码外,都已制作完成。即,播放此Flash可以完成所有功能,并且点击Flash可以直接来到Landing Page。
2.1. Flash硬广曝光
Flash曝光代码是一段Action Script代码用于监测Flash广告曝光。
使用Flash打开物料,在某图层(或新建图层)的第一帧(或需要监测的某帧,例如15s处)位置右键点击“动作”。查看左侧窗口中显示的AS版本,如果显示为“ActionScript 1.0 & 2.0”,则为A S2.0,如果显示为“ActionScript 3.0”则为AS 3.0。将对应版本的AS代码粘贴进右侧空白窗口即可。
以下是Flash代码样例(包括AS 2.0及AS 3.0版本):
-
AS2.0 【代码编号1c-1】
this._lockroot=true; _root.miaozhen_caid="CAID"; _root.miaozhen_spid="SPID"; _root.miaozhen_ver="47"; _root.miaozhen_ext=""; if(!_root.mz_obj) _root.mz_obj=new Object(); if(!_root.mz_obj.spl) _root.mz_obj.spl=new Array(); var mz_spl=_root.mz_obj.spl; for(i=0;i<mz_spl.length;i++) { if(mz_spl[i]==_root.miaozhen_spid){mz_f=1;break;} } if(!mz_f) { import flash.external.*; mz_spl.push(_root.miaozhen_spid); if(ExternalInterface.available) { try { _root.miaozhen_loc=String(ExternalInterface.call("function(){return document.location.href;}")); _root.miaozhen_ref=String(ExternalInterface.call("function(){return document.referrer;}")); } catch(mz_e) {} } var mz_a=System.security; mz_a.allowDomain("js.miaozhen.com"); mz_a.allowInsecureDomain("js.miaozhen.com"); var mz_c=_root.createEmptyMovieClip(_root.miaozhen_spid,_root.getNextHighestDepth()); mz_c.loadMovie("http://js.miaozhen.com/c.swf"); //PLACEHOLDER-1 }
-
AS3.0 【代码编号1c-2】
import flash.external.*; import flash.display.Loader; import flash.net.URLRequest; addEventListener(Event.ENTER_FRAME,function(e:Event):void { e.currentTarget.removeEventListener(e.type,arguments.callee); var caid="CAID",spid="SPID",ver="47",ext,loc,ref; var str="function(){return encodeURIComponent(document."; if(ExternalInterface.available) { try { loc=String(ExternalInterface.call(str+"location.href);}")); ref=String(ExternalInterface.call(str+"referrer);}")); } catch(r) {} } if(!Stage.prototype.mz_obj)Stage.prototype.mz_obj=new Object(); var obj=Stage.prototype.mz_obj;if(!obj.spl)obj.spl=new Array(); var f=0;for(var i=0;i<obj.spl.length;i++)if(obj.spl[i]==spid){f=1;break;} if(!f) { obj.spl.push(spid); var url="http://js.miaozhen.com/c.swf#caid="+caid+"&spid="+spid; if(ver)url+="&ver="+ver; if(ext)url+="&ext="+ext; if(loc)url+="&loc="+loc; if(ref)url+="&ref="+ref; var req:URLRequest=new URLRequest(url); var ldr:Loader=new Loader();ldr.load(req);addChild(ldr); //PLACEHOLDER-1 } });
2.2. Flash硬广点击
在Flash中,只需将Landing Page URL替换为URL点击代码即可。具体方法可参考以下例子。
例子:打开Flash物料,点击编辑——查找和替换,搜索范围“当前文档”,搜索Landing Page URL:http://www.kfc.com.cn
你可能会搜索到类似如下代码 (AS 2.0) 【代码编号1c-3】
on (release) { getURL("http://www.kfc.com.cn", "_blank"); }
或者类似如下代码 (AS 3.0) 【代码编号1c-4】
navigateToURL(new URLRequest("http:// www.kfc.com.cn", "_blank");
只需将其中http://www.kfc.com.cn部分替换为URL点击代码即可:
http://e.cn.miaozhen.com/r.gif?k=CAID&p=SPID0&ae=MiniSiteID&af=KeywordID&o=http://www.kfc.com.cn
2.3. Flash硬广内页/按钮等
将URL代码(曝光短代码或点击代码不加目标地址)给到创意公司。创意公司按照如下模板,替换其中的URL代码(红色),将其加入适当位置,使得在按钮点击/显示内页的同时,语句被执行。
-
例子 Flash按钮点击:
-
AS2.0 【代码编号1c-5】
new LoadVars().load("http://e.cn.miaozhen.com/r.gif?k=CAID&p=SPID0&ae=MiniSiteID&af=KeywordID&o=");
-
AS3.0 【代码编号1c-6】
sendToURL(new URLRequest("http://e.cn.miaozhen.com/r.gif?k=CAID&p=SPID0&ae=MiniSiteID&af=KeywordID&o="));
-
-
例子 Flash内页曝光:
-
AS2.0 【代码编号1c-7】
new LoadVars().load("http://g.cn.miaozhen.com/x.gif?k=CAID&p=SPID0");
-
AS3.0 【代码编号1c-8】
sendToURL(new URLRequest("http://g.cn.miaozhen.com/x.gif?k=CAID&p=SPID0"));
-
3. UTM代码(点击到达)
本节介绍手动将硬广来源信息添加在Landing Page URL上的方法(即UTM代码)。此方法适用于如下情况:
-
解决移动端浏览器禁用第三方Cookie导致Minisite无法区分硬广来源的问题(同时兼容PC端)。
-
秒针不监测点击,但是监测Minisite点击到达并区分硬广来源。
修改需两个步骤:
-
Landing Page嵌入秒针MiniSite JS代码。
-
修改Landing Page URL,添加硬广来源参数。
例如:原来的Landing Page URL是http://www.kfc.com.cn/index.html
则使用如下Landing Page URL替代原来的URL【代码编号1a-5】:
http://www.kfc.com.cn/index.html?mz_ca=CAID&mz_sp=SPID
4. 监测代码合成
对于Flash曝光代码,因为代码较为复杂,故一般秒针不负责添加(或合成)其他第三方代码的工作。如客户需求同时使用两套Flash曝光代码,请各自添加。
对于点击代码,不推荐使用多个第三方代码合成的方式,因为连续跳转会增大流失率。如确有需求,原则是“谁在前谁合成”,即秒针只负责合成那些秒针点击代码在前的。
如确有特殊情况需要秒针合成,请按照如下说明:
-
Flash硬广曝光合成
-
请将Flash曝光代码的“//PLACEHOLDER-1”那一行,替换为如下代码:
-
AS 2.0:
_root.createEmptyMovieClip("mz_other_1",_root.getNextHighestDepth()).loadMovie("http://需合成的URL监测代码");
-
AS 3.0:
sendToURL(new URLRequest("http://需合成的URL监测代码"));
-
-
-
URL短代码合成(曝光、点击)
-
利用秒针URL代码(短代码)的跳转功能合成代码。只需将&o=加入到URL代码最后面,再连接其他URL代码即可。曝光和点击URL代码均适用,例如:
-
合成硬广曝光代码
http://g.cn.miaozhen.com/x.gif?k=CAID&p=SPID0&rt=2&o=http://需合成的URL监测代码
-
合成硬广点击代码:
http://e.cn.miaozhen.com/r.gif?k=CAID&p=SPID0&ae=MiniSiteID&af=KeywordID&o=http://需合成的URL监测代码
-
-
-
其他合成例子
-
DoubleClick合成
-
硬广曝光 DoubleClick在秒针之前
http://ad.doubleclick.net/imp;v1;f;256331574;0-0;0;79249356;1|1;47753502|47768920|1;;cs=l;%3fhttp://g.cn.miaozhen.com/x.gif?k=CAID&p=SPID0&rt=2&?[timestamp]
-
-
5. 监测代码常见字段说明
类别 | 参数 | 含义 | |
---|---|---|---|
- | dx= | IPDX配置字段。 | |
- | o= | 落地页(目标链接)地址。 | |
- | ni=__IESID__ | IES服务字段。 | |
- | ns=__IP__ | 媒体回传IP值。 | |
- | v=__LOC__ | 媒体回传监测来源页面地址。 | |
- | ro=sm | 跳转到落地页时,会在落地页后面拼接utm参数。 | |
MMA | mo=__OS__ | 符合MMA标准的设备ID识别宏。回传操作系统信息。 | |
MMA | m0=__OPENUDID__ | 符合MMA标准的设备ID识别宏。iOS OpenUDID。 | |
MMA | m0a=__DUID__ | 符合MMA标准的设备ID识别宏。Windows Phone DUID. | |
MMA | m1=__ANDROIDID1__ | 符合MMA标准的设备ID识别宏。未加密的Android ID。 | |
MMA | m1a=__ANDROIDID__ | 符合MMA标准的设备ID识别宏。加密的Android ID。 | |
MMA | m2=__IMEI__ | 符合MMA标准的设备ID识别宏。加密的IMEI。 | |
MMA | m4=__AAID__ | 符合MMA标准的设备ID识别宏。未加密的AAID (Android Advertising ID)。 | |
MMA | m5=__IDFA__ | 符合MMA标准的设备ID识别宏。未加密的iOS IDFA (Idendifier For Advertising)。 | |
MMA | m6=__MAC1__ | 符合MMA标准的设备ID识别宏。加密的MAC地址。保留分隔符":"。 | |
MMA | m6a=__MAC__ | 符合MMA标准的设备ID识别宏。加密的MAC地址。去除分隔符":"。 | |
剧目监测 | nd=__DRA__ | 用于回传剧目ID或剧目名称。 | |
剧目监测 | np=__POS__ | 用于回传贴片位序。 | |
剧目监测 | nn=__APP__ | 用于回传APP名称。 | |
离线监测 | TIME=__TIMESTAMP__ | 符合中广协标准的离线上报时间戳。 |