如何正确跟踪pdf下载(Google Analytics)?

时间:2013-06-10 08:07:12

标签: php pdf google-analytics tracking

在我的网站上,有可能下载pdfs。 到此为止,一切都很好。

现在,我想跟踪pdf下载。这可以通过使用pdf:

链接中的Google Analytics Events来完成
<a onclick="var that=this;_gaq.push(['_trackEvent','Download','PDF',this.href]);setTimeout(function(){location.href=that.href;},400);return false;" href="pdfs/my-file.pdf">Download my file</a>

问题是,如果somebady将从搜索引擎下载pdf,而不是直接从网站下载,则不会跟踪。

你知道如何跟踪它的正确方法吗?

我在呈现pdf时是否应该在服务器端实现某些功能,这会触发GA事件?

提前谢谢。

4 个答案:

答案 0 :(得分:2)

以下是我刚发现的一个解决方案:

php-ga Google Analytics for PHP

使用php-ga,可以在服务器端模拟综合浏览量。所以,现在对我来说,当有人下载​​pdf时,我也在调用这段代码:

        // Initilize GA Tracker
        $tracker = new GoogleAnalytics\Tracker('UA-5824718-6', 'mdpi.com');

        // Assemble Visitor information
        // (could also get unserialized from database)
        $visitor = new GoogleAnalytics\Visitor();
        $visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
        $visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);
        $visitor->setScreenResolution('1024x768');

        // Assemble Session information
        // (could also get unserialized from PHP session)
        $session = new GoogleAnalytics\Session();

        // Get filename from the previous request
        $filename = parse_url(urldecode($_SERVER['REQUEST_URI']), PHP_URL_PATH);

        // Assemble Page information
        $page = new GoogleAnalytics\Page($filename);
        $page->setTitle($filename);

        // Track page view
        $tracker->trackPageview($page, $session, $visitor);

        $this->downloadFile($file, 'application/pdf');

我唯一需要解决的问题是如何过滤机器人(机器人)......

答案 1 :(得分:0)

您可以使用robots.txt文件来阻止搜索列表中的pdf文件,这意味着他们会访问上一页并且必须点击该链接。

例如:

User-agent: *
Disallow: /*.pdf$

答案 2 :(得分:0)

如果无法向您的网站添加PHP代码,则会有第三方工具处理您的网络日志,并将直接链接(a.k.a. hotlinked)文件列表上传到您的Google Analytics帐户。想到了神仙鱼软件。

答案 3 :(得分:0)

我会认真考虑使用bit.lyOrangedox等产品来跟踪PDF下载和观点。 Orangedox甚至允许您跟踪PDF每页上花费的时间,并在人们通过谷歌查找您的PDF时起作用。

免责声明:我为Orangedox工作

相关问题