我正在处理一个页面应用,每个页面加载可能会触发超过1次转换。
我需要触发google转换代码段,所以我假设我可以在运行时将其抛出。该片段看起来像这样:
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = XXXXXXXX;
var google_conversion_language = "en";
var google_conversion_format = "2";
var google_conversion_color = "ffffff";
var google_conversion_label = "XXXXXXXXXXXXXXX";
var google_conversion_value = 25.00;
/* ]]> */
</script>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
</script>
我一直在使用javascript在转换触发时插入代码段。我是这样做的:
function(id,url,content){
// add script
var script = document.createElement("script");
script.type = "text/javascript";
if(url) script.src = url;
if(content) script.text = content;
var bucket = document.getElementById(id);
bucket.appendChild(script);
debugger;
}
这适用于我尝试过的所有浏览器,但safari除外。
在safari中,添加第二个脚本标记时,整个正文标记的内容将替换为google iFrame。事实上整个dom都是核心的。头部的内容也被消灭了。
谷歌脚本到底发生了什么,如何在没有一切爆炸的情况下插入这个??
由于某些原因,safari不喜欢我添加脚本的方式。要解决此问题,我在bucket.innerHTML = ''
行下面添加了debugger
,它在Safari中运行良好。不幸的是,这导致FF 3.6执行safari之前正在进行的操作并对DOM进行核心攻击。
为了使其更加复杂,似乎AdWords拒绝这些转化或其他内容,它们在注入页面时不会显示在报告结尾。
我目前的方法是使用htaccess和一个小字符串解析来生成一个除了转换片段之外的其他页面,然后iFrame就可以了。我会报告回来。
答案 0 :(得分:3)
通过iFrame插入Google广告可能更容易吗?
像这样:
<iframe src="/documents/adsense.htm" width="728px" height="90px" frameborder="0" marginwidth ="0px" marginheight="0px" scrolling="no"></iframe>
iFrame包含:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Google Adsense</title>
<base target="_parent">
</head>
<body>
<!--insert Google Adsense Code Here-->
</body>
</html>
Google仍然会知道并跟踪父页面。