因此,我们只是将网站重新启动为基于Backbone的单页应用程序,但是花了很多时间来跟踪我们从AdWords广告到Google Analytics(分析)的转化。

问题在于,为了使Google Analytics(分析)能够跟踪用户来自AdWords的事实,它会在URL中查找名为gclid的URL查询参数:

http://test.com/?gclid=(Q#kjsdf0INKJSDJF9


但是,当“主干路由器”初始化时,它将从URL中删除所有查询参数,因此,在触发跟踪事件时,不会看到用户来自AdWords广告。

我们尝试将用户引导至插页式页面,该页面会加载分析代码并等待事件触发,然后将其转发至网站,但是


它很丑陋,并向用户显示了一段时间的空白页
没有大量等待IE8用户(不幸的是,该用户群占我们用户群的50%)就无法正常工作


我们联系了Google的AdWords帮助,以查看是否可以将gclid手动提供给Google Analytics(分析),他们的答案是


您应该聘请我们的一名顾问,他们将弄清楚如何将URL参数保留在您的网站上,以便其正常运行,因为我们不支持手动设置gclid ID


(可悲的是只有一个很小的解释。)

Google-fu在这方面让我空白–很多人在Google论坛中提出问题,但没有答案。

最佳答案

我不知道如何设置所有内容,但是Backbone可能不会看到带有参数的URL作为匹配项或它知道的路由。实际上,您可以通过执行以下操作来测试...

unless Backbone.history.start(pushState: true)
  window.location = someDefaultURL;


如果您只需要一种简单的方法来将路线与参数匹配,则可以通过以下两种方法来实现。

class MyRouter extends Backbone.Router
  routes:
    'test?*params': 'test'
    'testTwo?gclid=:gclid': 'testTwo'

  test: (params) ->
    console.log 'test route', params

  testTwo: (gclid) ->
    console.log 'test route two', gclid

关于backbone.js - 使用Backbone Router跟踪网站上的adwords性能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13480589/

10-12 18:34