我尝试在我的 google adsense 中跟踪用户点击。 我有一个包含这些广告的博客。 我创建了一个代码,它适用于任何其他东西,但不适用于 google adsense。 我希望 console.log() 返回“true”! 我将代码 adsense 放在一个带有 id ads1 的&l ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我想要做的是跟踪用户对 Google Adsense 的点击。 通过包含 Google Adsense 脚本标签生成两种类型的广告。
我对第二种类型的横幅有疑问。
该链接位于两个 iframe 内。 如果用户的鼠标位于外部 iframe 上,则很容易跟踪点击。 但如果用户点击链接(标签),我实际上无法访问第二个 iframe 来跟踪点击。 因此,如果用户点击横幅中的空白,我的函数也会将其计为一次点击。 原因很明显:谷歌否认。
我不想操纵谷歌的代码,我只想跟踪点击。
我不太确定 AdSense 是否允许这样做,因为您可能会通过跟踪广告点击(例如内容锁定)来滥用系统。 此外,你会遇到不同的边缘情况——就像你问的那样——这就是为什么我通常建议你以下内容:
您可能想要做的是将 Google Analytics 与 AdSense 连接起来(只需 1-2 次点击),这样您就可以轻松导航到 Analytics Dashboard 中的 Publisher → AdSense,以查看展示次数、点击次数和其他 AdSense 数据。 您始终可以创建可以访问此数据的自定义报告。
如果你真的想跟踪点击,你可以查看这个 iframe 跟踪器,它使用模糊事件来确定鼠标光标当前悬停在哪个元素/iframe。
我有以下 POC 代码,我发现它很有帮助:
function adClickEvent() {
// Set the name of the hidden property and the change event for visibility
var hidden, visibilityChange;
if (typeof document.hidden !== "undefined") { // Opera 12.10 and Firefox 18 and later support
hidden = "hidden";
visibilityChange = "visibilitychange";
} else if (typeof document.msHidden !== "undefined") {
hidden = "msHidden";
visibilityChange = "msvisibilitychange";
} else if (typeof document.webkitHidden !== "undefined") {
hidden = "webkitHidden";
visibilityChange = "webkitvisibilitychange";
}
function handleVisibilityChange() {
if (document[hidden]) {
if (timeEntered && (new Date().getTime() - timeEntered) < 3000) {
/* click on ad */
timeEntered = new Date().getTime();
}
}
}
var timeEntered = 0;
if (typeof document.addEventListener === "undefined" || hidden === undefined) {
// not supported
} else {
var AdId = '';
document.addEventListener(visibilityChange, handleVisibilityChange, false);
var AdElements = document.querySelectorAll('[data-google-query-id]');
for (var i = 0; i < AdElements.length; i++) {
AdElements[i].addEventListener('mouseenter', function (e) {
timeEntered = new Date().getTime();
AdId = e.target.getAttribute('id');
});
AdElements[i].addEventListener('mouseleave', function (e) {
setTimeout(function () {
timeEntered = 0;
AdId = e.target.getAttribute('id');
}, 500);
});
}
}
}
假设横幅具有.banner
类,您可以像这样完成跟踪:
$('.banner').on('click', function(e) {
ga('send','event',{eventCategory:'BannerClick', eventAction:e });
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.