AdMonitor监测代码指南 – 硬广部分
Miaozhen Systemsversion 1.4,2016-02Table of Contents1. 非Flash硬广监测1.1. 非Flash硬广点击1.2. 非Flash硬广曝光2. Flash硬广监测2.1. Flash硬广曝光2.2. Flash硬广点击2.3. Flash硬广内页/按钮等3. UTM代码(点击到达)4. 监测代码合成5. 监测代码常见字段说明
本手册讲解如何正确添加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 | 点击代码的常见问题为什么当使用拼接的点击代码时,用户无法跳转到目标页?请分情况解决:Part B中含有特殊字符“#”当你自行拼接点击代码时,建议Part B部分使用“URL-encode” 编码(编码规则同JavaScript中的“encodeURIComponent”函数),用以避免可能的浏览器兼容性问题。当Part B没有进行编码时,如果遇到Part B中有特殊字符时可能会无法跳转。你需要自行将Part B进行“URL-encode” 编码,或者联系秒针AE重新经过AdMonitor系统生成点击代码(系统会将Part B编码)。例如,使用编码后的Part B:http%3a%2f%2fwww.facebook.com%2f%23!%2fPanteneANZ来代替原始的URL:http://www.facebook.com/#!/PanteneANZ此时完整的点击代码类似:http://e.cn.miaozhen.com/r.gif?k=CAID&p=SPID0&ae=MiniSiteID&af=KeywordID&o=http%3a%2f%2fwww.facebook.com%2f%23!%2fPanteneANZ目标URL在监测代码中重复了两次请先确认是不是拼接时多复制了一次目标URL。如果你使用某些投放系统来管理点击代码和目标地址。那么拼接工作可能已经由系统自动完成。你只需将Part A和目标URL分别输入到投放系统中的不同位置即可。我修改了Part B的目标URL。为什么不能跳转,却来到一个提示页面?请按照如下流程排查:请检查你使用的监测代码(Part A和Part B),确认他们都是正确的。联系AdMonitor AE请求帮助,记得提供出现问题的点击代码和目标URL。出于安全考虑,只有当点击代码中的目标URL的域名在AdMonitor的白名单之中时,服务器才会执行跳转。如果你修改了目标URL的域名,你需要联系AdMonitor AE将新的域名加入到白名单中。某些媒体不支持监测代码含有“&”字符?请将代码中的“&”字符全部替换为“%5E”即可。例如:http://e.cn.miaozhen.com/r.gif?k=CAID%5Ep=SPID0%5Eae=MiniSiteID%5Eaf=KeywordID%5Eo= |
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代码(又称短代码,1×1像素)。
将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监测代码”));
- 请将Flash曝光代码的“//PLACEHOLDER-1”那一行,替换为如下代码:
- 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监测代码
- 利用秒针URL代码(短代码)的跳转功能合成代码。只需将&o=加入到URL代码最后面,再连接其他URL代码即可。曝光和点击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]
- DoubleClick合成
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__ | 符合中广协标准的离线上报时间戳。 |
Version 1.4
Last updated 2016-02-18 11:47:12 CST