跟踪Google Analytics中的清漆点击和未命中?

时间:2012-11-14 19:35:44

标签: javascript google-analytics varnish

我希望通过Google Analytics收集有关网页加载速度的数据,并希望在已返回HIT Varnish缓存的网页和已缓存MISSED的网页之间进行拆分。

在调查之前我假设我已经让JS看一下页面响应中的清漆标题,并创建一个GA自定义var来逐页跟踪它。当然,JS无法访问页眉,所以我目前处于亏损状态。我已经使服务器端GA跟踪工作过去(通过php-ga),但这需要与实际页面加载时间相关联。

1 个答案:

答案 0 :(得分:1)

只是想一想,但你可以在“vcl_deliver”子程序中设置一个cookie。像这样:

sub vcl_deliver {
    if (obj.hits > 0) {
            set resp.http.Set-Cookie = "VarnishHit=Yes;Path=/;";
    }
 return (deliver); }

这基本上说:如果obj有多个命中,请设置一个cookie来说明。您需要确保不要过度编写任何其他cookie,因此如果您使用的是cookie,可以将其连接到现有的Set-Cookie。有关obj.hits的更多信息,请查看此处: https://www.varnish-cache.org/docs/3.0/reference/vcl.html

以下是重要的一句话:

  

obj.hits   物品交付的大致次数。值0表示缓存未命中。此变量也可在vcl_deliver中使用。

这将使您可以使用document.cookie变量从Javascript中访问此信息。我相信jQuery有一些插件可以让这更容易,这是我在Google上找到的https://github.com/carhartl/jquery-cookie。一旦您可以检查JS中是否存在cookie,您就应该能够使用GA API来记录事件。我希望有所帮助。