【问题标题】:Google App Engine short URL tracking with Google Analytics使用 Google Analytics 跟踪 Google App Engine 短 URL
【发布时间】:2013-01-10 15:39:21
【问题描述】:

当用户分享链接时,我的网站会生成一些短网址(例如:http://futureo.us/l/ixjF)。

这些短 URL 将用户重定向到我链接到的原始内容。在重定向之前,该应用会呈现一个仅包含 Google Analytics(分析)javascript 代码的页面。

目前我的处理程序代码如下所示:

class PostHandler(handler.Handler):
def get(self, code):
    #strip URL shortcode
    code = code.strip('/')
    #grab URL based on shortcode
    url = scripts.urlshort.getURL(code)
    if url:
        self.render('tracking.html')
        self.redirect(str(url))
    else:
        self.write('Code not FOUND.')

此解决方案不起作用。 GA 未注册这些短链接的综合浏览量。我也想看看这些短链接的推荐人在哪里。

有什么办法可以解决这个问题吗?

【问题讨论】:

    标签: google-app-engine google-analytics shortcode short-url


    【解决方案1】:

    我相信您的问题是您在具有 HTTP 重定向的响应中添加了 HTML 跟踪代码。可能 HTTP 重定向比 HTML 更早处理,如果后者被评估的话。

    在我看来,最好的解决方案是在服务器端而不是客户端跟踪重定向。由于这些都是重定向,因此您不需要跟踪仅客户端数据,例如在页面上花费的时间、页面事件等。如果在 python 代码中完成跟踪重定向将是最准确和最简单的。 (不过,我不知道如何使用谷歌分析工具来跟踪这些;就我的用途而言,我只是在 NDB 模型中跟踪重定向)。

    另一个可能会降低用户体验的解决方案是避免使用 HTTP 重定向 (self.redirect),而是放置一个 javascript 客户端重定向,该重定向将在跟踪代码之后进行评估。

    window.location = "{{url}}";
    

    【讨论】:

    • 谢谢 Onon15。在关闭此问题并接受您的回答之前,我将等待其他意见。可能有更多方法可以解决这个问题。
    • 次要建议:直接设置 window.location 可能会在 GA 加载和/或记录分析数据之前导致重定向。以下代码确保 GA 已加载,并等待 100 毫秒以留出时间发送跟踪数据:_gaq.push([function(){setTimeout(function(){window.location = "{{url}}";}, 100)}]);
    • @mike ,我不确定我应该如何实现它。我应该将该行代码粘贴到 GA javascript 脚本中吗?在_gaq.push(['_setAccount', 'UA-XXXXXXXX-X]);_gaq.push(['_trackPageview']); 之后?我尝试这样做,但重定向不起作用。它加载页面,但之后没有任何反应。抱歉,我是 javascript 的初学者。
    • 好的,伙计们,成功了!谢谢! @mike,我只需要删除_gaq.push( 之后的方括号就可以让您的代码正常工作。谢谢!
    • @GianCarloMartinelli -- 很好,不应该有括号。我会把它放在_gaq.push(['_trackPageview']); 之后
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多