因此,我们只是将网站重新启动为基于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/