使用Google Analytics跟踪网址更改,而无需重新加载网页

时间:2013-06-10 11:02:24

标签: url google-analytics tracking

我有一个按钮,触发JS并根据随机逻辑返回不同的模态。 为了保持无缝流程,我无法重新加载页面,但我需要跟踪打开的模态以及单击的按钮。

我可以通过利用JS window.location来跟踪显示和点击的内容来更改URL。

window.location.hash = 'clicked1'

这将改变我的网址www.site.com/#clicked1或www.site.com/#clicked2 问题是,我如何在Google Analytics中跟踪它?

有人能指导我度过这片丛林,这样我才能更好地理解这个过程。我应该使用事件跟踪吗?或者我可以在不重新加载页面的情况下跟踪URL。

2 个答案:

答案 0 :(得分:2)

以下是关于使用Google Analytics跟踪single page application的精彩文章。

要将动态加载的内容作为不同的综合浏览量进行跟踪,您可以向Google Analytics发送综合浏览量,并通过设置网页字段来指定文档路径。

ga('send', 'pageview', '/#clicked1);

通常最好在发送点击之前使用任何新的页面信息更新跟踪器对象。这将确保所有匹配都与正确的页面数据相关联。

要更新跟踪器对象,请使用set方法:

ga('set', 'page', '/#clicked1);

如果您想更新的不仅仅是页面字段,还可以将键/值对的对象传递给set方法。

ga('set', {
  page: '/#clicked2',
  title: 'Clicked 2'
});

使用新页面的正确数据更新跟踪器后,您可以发送命中而不覆盖与页面相关的参数。例如:

ga('send', 'pageview');

答案 1 :(得分:0)

如果您使用的是 analytics.js

In [xxx]: import inspect
...

In [104]: bla = "def bla(): return 1"                                                                         

In [105]: open("testx.py", "wt").write(bla)                                                                   
Out[105]: 19

In [106]: b = compile(bla, "testx.py", "exec")                                                                

In [107]: exec(b)                                                                                             

In [108]: bla()                                                                                               
Out[108]: 1

In [109]: inspect.getsourcelines(bla)                                                                         
Out[109]: (['def bla(): return 1\n'], 1)

In [110]: !rm testx.py                                                                                        

In [111]: inspect.getsourcelines(bla)                                                                         
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-111-3459b1636cc6> in <module>
----> 1 inspect.getsourcelines(bla)
[...]

OSError: could not get source code

如果您使用的是 gtag.js

ga('set', 'page', '/your-own-path');
ga('set', 'title', 'Your custom title');
ga('send', 'pageview');

如果您使用的是 GTM ,则可以使用所需的任何dataLayer键;这是一个例子:

gtag('config', 'UA-0000000-1', {
   'page_title' : 'Your custom title',
   'page_path': '/your-own-path'
});

一篇很棒的文章,解释了这些不同的技术(示例直接引自其中):https://www.bounteous.com/insights/2018/03/30/single-page-applications-google-analytics/