我试图从Google AnalyticsAPI获取mu网站访问量最大的网页列表。目前,我有以下代码,并返回一个列表,其中包含每个页面的标题,网址和访问者数量:
data_query = service.data().ga().get(**{
'ids': 'ga:123456789',
'dimensions': 'ga:pageTitle,ga:pagePath',
'metrics': 'ga:pageviews',
'start_date': '2013-12-31',
'end_date': '2014-04-29',
'sort': '-ga:pageviews',
})
feed = data_query.execute()
问题是网站的所有页面都可以用西班牙语或英语呈现,因此我得到同一网址的重复行,例如:
[
['/index/', 'Inicio', 23],
['/index/', 'Home', 57],
]
为了能够按语言过滤结果我会得到这样的结果:
[
['/index/', 'Inicio', 23, 'es'],
['/index/', 'Home', 57, 'en'],
]
按照Google Analytics说明,我创建了一个新维度' lang' (' dimension1')在我的html模板中,我根据当前语言en
或es
动态传递其值:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'xxx', 'yyy');
ga('send', 'pageview');
ga('set', 'dimension1', 'en'); // <----- or 'es'
</script>
但是这个查询
data_query = service.data().ga().get(**{
'ids': 'ga:123456789',
'dimensions': 'ga:pageTitle,ga:pagePath,ga:dimension1',
'metrics': 'ga:pageviews',
'start_date': '2013-12-31',
'end_date': '2014-04-29',
'sort': '-ga:pageviews',
})
aways给我一个空列表。
更新
事实证明维度已经设置,但是ga没有正确发送值,而且这段代码做了这件事:
ga('send', 'dimension1', 'en');
答案 0 :(得分:0)
你确定在这里:
ga('set', 'dimension1', 'en'); // <----- or 'es'
你设定了一个维度?
也许您将其设置为指标,并将其称为维度。
顺便说一句,如果您确定自己设置了维度,我认为最好像设置指标一样设置,因为这是de pagePath的描述。
您已拥有Google Analytics中的语言维度。
答案 1 :(得分:0)