我有一个按钮,触发JS并根据随机逻辑返回不同的模态。 为了保持无缝流程,我无法重新加载页面,但我需要跟踪打开的模态以及单击的按钮。
我可以通过利用JS window.location来跟踪显示和点击的内容来更改URL。
window.location.hash = 'clicked1'
这将改变我的网址www.site.com/#clicked1或www.site.com/#clicked2 问题是,我如何在Google Analytics中跟踪它?
有人能指导我度过这片丛林,这样我才能更好地理解这个过程。我应该使用事件跟踪吗?或者我可以在不重新加载页面的情况下跟踪URL。
答案 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/