Display & Video 360 与各种第三方广告服务器兼容。如需允许这些第三方跟踪通过 Display & Video 360 投放的展示广告素材的点击次数,您可以使用各种点击跟踪宏和缓存无效化宏。
当您向 Display & Video 360 添加可识别的第三方展示广告代码时,系统会自动插入点击跟踪宏和缓存无效化宏。如果系统无法识别该代码,您必须自己插入宏。每个第三方展示广告代码都略有不同,但您可以参考下面的示例。
什么是宏?
宏是一个占位符(例如:${CLICK_URL}
)- 当广告素材投放时,广告服务器会将此占位符替换为实际值。如果您希望 Display & Video 360 实时地在代码中插入信息,可在代码中使用宏。
例如,假如您使用了以下第三方广告代码:
<script type="text/javascript" src="http://example.com?click="></script>
第三方广告服务器要求在“click=
”后添加 Display & Video 360 点击跟踪网址。如需获取该网址,请在代码中插入点击跟踪宏:
<script type="text/javascript" src="http://example.com?click=${CLICK_URL}"></script>
每次投放广告时,系统都会将占位符 ${CLICK_URL}
替换为 Display & Video 360 的实际点击跟踪网址。
点击跟踪宏和缓存无效化宏
点击跟踪宏是最常用的宏类型。借助此类宏,第三方广告服务器可以在 Display & Video 360 中跟踪点击并将其与正确的广告素材、订单项和竞价相关联。点击广告素材的用户会被先定向到 Display & Video 360 广告服务器(以便记录点击和相关的竞价信息),然后重定向到广告客户的网址。
代码和宏示例
Celtra 代码
添加 Click 宏之前:
<div class="celtra-ad-v3">
<img src="data:image/png,celtra" style="display: none" onerror="
(function(img) {
var params = {'clickUrl':'http://www.celtra.com/','preferredClickThroughWindow':'new','clickEvent':'advertiser','externalAdServer':'Custom'};
var req = document.createElement('script');
req.id = params.scriptId = 'celtra-script-' + (window.celtraScriptIndex = (window.celtraScriptIndex||0)+1);
params.clientTimestamp = new Date/1000;
var src = (window.location.protocol == 'https:' ? 'https' : 'http') + '://ads.celtra.com/65fb825c/mraid-ad.js?';
for (var k in params) {
src += '&' + encodeURIComponent(k) + '=' + encodeURIComponent(params[k]);
}
req.src = src;
img.parentNode.insertBefore(req, img.nextSibling);
})(this);
"/></div>
添加 Click 宏之后:
<div class="celtra-ad-v3">
<img src="data:image/png,celtra" style="display: none" onerror="
(function(img) {
var params = {'clickUrl':'${CLICK_URL}','preferredClickThroughWindow':'new','clickEvent':'advertiser','externalAdServer':'Custom'};
var req = document.createElement('script');
req.id = params.scriptId = 'celtra-script-' + (window.celtraScriptIndex = (window.celtraScriptIndex||0)+1);
params.clientTimestamp = new Date/1000;
var src = (window.location.protocol == 'https:' ? 'https' : 'http') + '://ads.celtra.com/65fb825c/mraid-ad.js?';
for (var k in params) {
src += '&' + encodeURIComponent(k) + '=' + encodeURIComponent(params[k]);
}
req.src = src;
img.parentNode.insertBefore(req, img.nextSibling);
})(this);
"/></div>
Conversant(以前称为 Mediaplex)代码
添加 Click 宏之前:
<a href="http://adfarm.mediaplex.com/ad/ck/1091-86796-2738-5?mpt=[CACHEBUSTER]">
<img src="http://adfarm.mediaplex.com/ad/bn/1234-12345-1234-1?mpt=[CACHEBUSTER]"?alt="点击此处" border="0"></a></noscript>
添加 Click 宏之后:
<a href="${CLICK_URL}http://adfarm.mediaplex.com/ad/ck/1234-12345-1234-1?mpt=${CACHEBUSTER}"> <img src="http://adfarm.mediaplex.com/ad/bn/1091-86796-2738-5?mpt=${CACHEBUSTER}"alt="点击此处" border="0"></a></noscript>
${CLICK_URL_ENC}
,但偶尔也需要双重编码的 Click 宏 ${CLICK_URL_ENC_ENC}
。如果您的广告服务器未指明使用哪一种宏,您可以在广告投放管理流程中通过 Display & Video 360 验证点击跟踪。Campaign Manager 360 JavaScript 代码
添加 Click 宏之前:
<SCRIPT language='JavaScript1.1' SRC="https://ad.doubleclick.net/ddm/adj/Nxxxx.site-keyname/Byyyyyyy;sz=widthxheight;dc_expa=URL;ord=[timestamp];dc_lat=N;dc_rdid=Czzzz;tag_for_child_directed_treatment=I;kw=[keyword];click=?">
添加 Click 宏之后:
<SCRIPT language='JavaScript1.1' SRC="https://ad.doubleclick.net/ddm/adj/Nxxxx.site-keyname/Byyyyyyy;sz=widthxheight;dc_expa=URL;ord=${CACHEBUSTER};dc_lat=N;dc_rdid=Czzzz;tag_for_child_directed_treatment=I;kw=[keyword];click=
${CLICK_URL}?">
Campaign Manager 360 ins 代码
在使用 Campaign Manager 360 的 ins 代码时,请添加 data-dcm-click-tracker
参数并将值设置为 ${CLICK_URL}
宏。另外,为了避免报表数据存在差异,您必须使用脚本呈现模式(而非 iframe)(将 data-dcm-rendering-mode 属性设置为“script”:data-dcm-rendering-mode='script'
)。
如需详细了解 ins 代码,请访问 Campaign Manager 360 帮助中心
添加 Click 宏之前:
<ins class='dcmads'
style='display:inline-block;width:300px;height:250px'
data-dcm-placement='N7480.1664088DOUBLECLICK.NETTEST/B8299600.114131924'
data-dcm-param-custom_key='custom_value'
data-dcm-rendering-mode='script'>
<script src='https://www.googletagservices.com/dcm/dcmads.js'></script>
</ins>
添加 Click 宏之后:
<ins class='dcmads'
style='display:inline-block;width:300px;height:250px'
data-dcm-placement='N7480.1664088DOUBLECLICK.NETTEST/B8299600.114131924'
data-dcm-rendering-mode='script'
data-dcm-click-tracker='${CLICK_URL}'>
<script src='https://www.googletagservices.com/dcm/dcmads.js'></script>
</ins>
Campaign Manager 360 i-frame/JavaScript 代码
添加 Click 宏之前:
<IFRAME SRC="https://ad.doubleclick.net/ddm/adi/Nxxxx.site-keyname/Byyyyyyy;sz=widthxheight;ord=[timestamp];dc_lat=N;dc_rdid=Czzzz;tag_for_child_directed_treatment=I;kw=[keyword];click=?" WIDTH=X HEIGHT=Y MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no BORDERCOLOR='#000000'>
<SCRIPT language='JavaScript1.1' SRC="https://ad.doubleclick.net/ddm/adj/Nxxxx.site-keyname/Byyyyyyy;abr=!ie;sz=widthxheight;ord=[timestamp];dc_lat=N;dc_rdid=Czzzz;tag_for_child_directed_treatment=I;kw=[keyword];click=?">
</SCRIPT>
</IFRAME>
添加 Click 宏之后:
<IFRAME SRC="https://ad.doubleclick.net/ddm/adi/Nxxxx.site-keyname/Byyyyyyy;sz=widthxheight;ord=${CACHEBUSTER};dc_lat=N;dc_rdid=Czzzz;tag_for_child_directed_treatment=I;kw=[keyword];click=${CLICK_URL}" WIDTH=X HEIGHT=Y MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no BORDERCOLOR='#000000'>
<SCRIPT language='JavaScript1.1' SRC="https://ad.doubleclick.net/ddm/adj/Nxxxx.site-keyname/Byyyyyyy;abr=!ie;sz=widthxheight;ord=${CACHEBUSTER};dc_lat=N;dc_rdid=Czzzz;tag_for_child_directed_treatment=I;kw=[keyword];click=${CLICK_URL}?">
</SCRIPT>
</IFRAME>
FlashTalking 和 DoubleVerify 代码
添加 Click 宏之前:
<script language="javascript" type="text/javascript">
new function() {
this.rand = Math.floor((Math.random() + "") * 1000000000000);
this.dvparams = 'ctx=12345&cmp=12345&plc=12345&sid=12345';
this.dvregion = '0';
this.tagsrc = '<noscr'+'ipt>\n<a href="http://servedby.flashtalking.com/
click/4/12345;12345;0;12345;0/?url=12345" target="_blank">\n
<img border="0" src="http://servedby.flashtalking.com/imp/4/12345;12345;12345;gif;
FIOS112MDUInviteBT2DallasDMAMPG3160x600FT213to331/?"></a>\n
</noscr'+'ipt>\n<scr'+'ipt language="Javascr'+'ipt1.1" type="text/javascr'+'ipt">
\nvar ftClick = "";\nvar ftX = "";\nvar ftY = "";\nvar ftZ = "";\nvar ftContent = "";
\nvar ftCustom = "";\nvar ft160x600_OOBclickTrack = "";\nvar ftRandom = Math.random()*1000000;
\nvar ftBuildTag1 = "<scr";\nvar ftBuildTag2 = "</";\nvar ftTag = ftBuildTag1 +
'ipt language="javascr'+'ipt1.1" type="text/javascr'+'ipt" ';nftTag +=
'src="http://servedby.flashtalking.com/imp/4/12345;12345;12345;js;
FIOS112MDUInviteBT2DallasDMAMPG3160x600FT213to331/?click='+ftClick+'&
ftx='+ftX+'&fty='+ftY+'&ftadz='+ftZ+'&ftscw='+ftContent+'&
ft_custom='+ftCustomn+'&cachebuster='+ftRandom+'" id="ftscr'+'ipt_160x600"
name="ftscr'+'ipt_160x600"';nftTag += '">' + ftBuildTag2 + 'scr'+'ipt>
';ndocument.write(ftTag);\n</scr'+'ipt>nn';
this.altsrc = '<a href="http://www.example.com/defaultads/comp160x600.gif"
width="160" height="600" border="0"></a>';
this.callbackName = '__dvredirect_callback_' + this.rand;
var thisRedirect = this;
window[this.callbackName] = function () { return thisRedirect; };
var src = 'http://rtbcdn.doubleverify.com/bsredirect5.js?callback=' + this.callbackName;
document.write('<scr' + 'ipt src=' + src + '></scr' + 'ipt>');
}
</script>
添加 Click 宏之后:
<script language="javascript" type="text/javascript">
new function() {
this.rand = Math.floor((Math.random() + "") * 1000000000000);
this.dvparams = 'ctx=12345&cmp=12345&plc=12345&sid=12345';
this.dvregion = '0';
this.tagsrc = '<noscr'+'ipt>\n<a href="${CLICK_URL}http://servedby.flashtalking.com/
click/4/12345;12345;0;12345;0/?url=1419304" target="_blank">\n
<img border="0" src="http://servedby.flashtalking.com/imp/4/12345;12345;12345;gif;
FIOS112MDUInviteBT2DallasDMAMPG3160x600FT213to331/?"></a>\n
</noscr'+'ipt>\n<scr'+'ipt language="Javascr'+'ipt1.1" type="text/javascr'+'ipt">
\nvar ftClick = "${CLICK_URL_ENC}";\nvar ftX = "";\nvar ftY = "";\nvar ftZ = "";\nvar ftContent = "";
\nvar ftCustom = "";\nvar ft160x600_OOBclickTrack = "";\nvar ftRandom = Math.random()*1000000;
\nvar ftBuildTag1 = "<scr";\nvar ftBuildTag2 = "</";\nvar ftTag = ftBuildTag1 +
'ipt language="javascr'+'ipt1.1" type="text/javascr'+'ipt" ';nftTag +=
'src="http://servedby.flashtalking.com/imp/4/12345;12345;12345;js;
FIOS112MDUInviteBT2DallasDMAMPG3160x600FT213to331/?click='+ftClick+'&
ftx='+ftX+'&fty='+ftY+'&ftadz='+ftZ+'&ftscw='+ftContent+'&
ft_custom='+ftCustomn+'&cachebuster='+ftRandom+'" id="ftscr'+'ipt_160x600"
name="ftscr'+'ipt_160x600"';nftTag += '">' + ftBuildTag2 + 'scr'+'ipt>
';ndocument.write(ftTag);\n</scr'+'ipt>nn';
this.altsrc = '<a href="http://www.example.com/defaultads/comp160x600.gif"
width="160" height="600" border="0"></a>';
this.callbackName = '__dvredirect_callback_' + this.rand;
var thisRedirect = this;
window[this.callbackName] = function () { return thisRedirect; };
var src = 'http://rtbcdn.doubleverify.com/bsredirect5.js?callback=' + this.callbackName;
document.write('<scr' + 'ipt src=' + src + '></scr' + 'ipt>');
}
</script>
Sizmek 代码
Please note, Display & Video 360 will automatically insert click tracking macros into your Sizmek tags for you.
I 类代码
添加 Click 宏之前:
<noscript>
<a href="http://bs.serving-sys.com/BurstingPipe/BannerRedirect.asp?FlightID=1234567&Page=&PluID=0&Pos=5756" target="_blank"><img src="http://bs.serving-sys.com/BurstingPipe/BannerSource.asp?FlightID=1280098&Page=&PluID=0&Pos=5756" border=0 width=160 height=600></a>
</noscript>
添加 Click 宏之后:
<noscript>
<a href="${CLICK_URL}http://bs.serving-sys.com/BurstingPipe/BannerRedirect.asp?FlightID=134567&Page=&PluID=0&Pos=5756" target="_blank"><img src="http://bs.serving-sys.com/BurstingPipe/BannerSource.asp?FlightID=1234567&Page=&PluID=0&Pos=5756" border=0 width=160 height=600></a>
</noscript>
II 类代码
添加 Click 宏之前:
添加 Click 宏之后: