在我的网站上,有可能下载pdf文件。在此之前,一切都很好。
现在,我想跟踪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>
问题是,如果有人从搜索引擎下载pdf,而不是直接从网站,这将不会被跟踪。
你知道如何跟踪的正确方法吗?
当我渲染pdf时,我应该在服务器端实现一些东西,这将触发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');
唯一的问题,我将不得不解决的是如何过滤机器人(机器人)…
您可以使用robots.txt
文件来阻止搜索列表中的pdf文件,这意味着他们将获得前一页,并且必须单击链接。
User-agent: *
Disallow: /*.pdf$
如果在你的网站上添加PHP代码不是一个选择,有第三方工具可以处理你的网络日志,并将直接链接(又名热链接)文件列表上传到你的谷歌分析账户。我想到了Angelfish软件
我会认真考虑使用bit这样的产品。ly或Orangedox跟踪PDF下载&的观点。Orangedox甚至允许您跟踪在PDF的每个页面上花费的时间,并在人们通过谷歌找到您的PDF时工作。
免责声明:我为Orangedox工作