繁体   English   中英

使用 JavaScript 跟踪 Google Adsense 点击

Track Google Adsense click with JavaScript

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我想要做的是跟踪用户对 Google Adsense 的点击。 通过包含 Google Adsense 脚本标签生成两种类型的广告。

  • 图片横幅(单击横幅会将用户重定向到广告)
  • 带有一个或多个链接的横幅(用户必须点击链接才能重定向)

我对第二种类型的横幅有疑问。
该链接位于两个 iframe 内。 如果用户的鼠标位于外部 iframe 上,则很容易跟踪点击。 但如果用户点击链接(标签),我实际上无法访问第二个 iframe 来跟踪点击。 因此,如果用户点击横幅中的空白,我的函数也会将其计为一次点击。 原因很明显:谷歌否认。
我不想操纵谷歌的代码,我只想跟踪点击。

3 个回复

我不太确定 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 });
});
1 如何使用 Javascript 跟踪 Adsense 点击

我尝试在我的 google adsense 中跟踪用户点击。 我有一个包含这些广告的博客。 我创建了一个代码,它适用于任何其他东西,但不适用于 google adsense。 我希望 console.log() 返回“true”! 我将代码 adsense 放在一个带有 id ads1 的&l ...

2 Google Adsense:点击后使用参数调用URL

您知道客户点击广告后如何调用带有参数的URL吗? 例如:Google向我的网站发送或调用请求( http://my.website.com/user.php?id=0gdyeql88&amp;token=h78SVvsl ) 所以我希望谷歌确认点击 经过研究,我什么也没发现。 ...

3 如何使用JavaScript跟踪出站点击

我正在尝试使用此处提供的代码: 对url进行ping操作而不重定向 。 OP已要求在不打开多个窗口的情况下ping通URL。 我想这样做,但是我想实际访问第二个URL,以便可以在服务器分析中跟踪出站点击。 这是我要使工作的代码: 但是,我不知道应该将“跟踪网址”放在哪里。 这 ...

4 如何使用Google.Apis.AdSense从Google AdSense获取点击率

我正在使用Google.Apis.AdSense从C#窗体中获取AdSense数据..我可以获取adsense信息和度量报告,使用Metric我可以优化一些值,例如 这里是这个过程的代码: 第一个问题:尽管数据不相同,但它们是相似的。 为什么? 第二个问题(重要):我如何 ...

5 通过Javascript / Jquery跟踪iframe的点击

我们如何跟踪iframe(如任何advt。)上的点击,并分别根据具有advt id和user id的网站用户将事件记录在我自己的数据库中(使用ajax) 我在父div上尝试过onclick(如下所示)事件,但不起作用- $('div.ad').on('cli ...

8 使用 javascript 在 ap(react) 项目中实现 Google Adsense

我有一个问题,我花了很多时间试图解决这个问题。 我正在尝试将 Google Adsense 代码添加到我的 Preact 项目中,该项目与 React 的工作方式相同。 我的状态停留在:“您的网站需要工作”。 附加信息说明 Google 找不到代码。 即使我已经添加了它(以多种方式)。 我发现每次 ...

9 使用Google Adsense的Kendo UI Mobile

我正在尝试将广告添加到我的应用中。 我已将JavaScript放在正确的位置。 问题是,当我点击转到包含广告的网页时,只有广告会显示在网页上。 所有内容都消失了,广告只有一个白色的屏幕。 该应用程序不会让我回击所以我必须重新启动应用程序。 有没有人知道为什么会发生这种情况? 以下 ...

10 使用sharedObject跟踪点击次数

如何使用sharedObject跟踪点击次数并将其存储在.txt文件中? 我的客户想跟踪用户的点击,我不确定如何使它与sharedObject一起使用。 谁能帮我吗? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM