Google Analytics嵌入API显示不同页面的图表

时间:2018-04-21 14:32:54

标签: google-analytics google-analytics-api google-analytics-filters

我正在尝试使用嵌入API显示正在返回的数据的Google Analytics图表。我目前正在从3个不同页面返回数据,效果很好。但有没有办法在3个独立的图表中查看数据?

这是返回结果的代码

var query = {
ids: VIEW_ID,
metrics: 'ga:avgTimeOnPage,ga:bounceRate,ga:pageviews,ga:sessions',
dimensions: 'ga:date,ga:pagePath',
filters: ‘ga:pagePath=@page1, ga:pagePath=@page2, ga:pagePath=@page3’ <!—page data returned
}

var report = new gapi.analytics.report.Data({ query });
report.on('success', function(response) {
  //console.log(response);
});

report.execute();

然后我想使用embed API显示3个不同的图表。并使用select&gt;在图表之间切换选项元素。在传递ID时,显示所有帐户,属性和视图。

var viewSelector = new gapi.analytics.ViewSelector({
   container: 'view-selector-container'
});

// Render the view selector to the page.
      viewSelector.execute();


var chart = new gapi.analytics.googleCharts.DataChart({
query: {
    ids: VIEW_ID,
    dimensions: 'ga:date',
    metrics: 'ga:avgTimeOnPage,ga:bounceRate,ga:pageviews,ga:sessions',
    filters: ‘ga:pagePath=@page1, ga:pagePath=@page2, ga:pagePath=@page3’ <!—page data returned
},
chart: {
    type: 'LINE',
    container: 'line-chart',
    options: {
        fontSize: 12,
        width: '100%',
        colors: ['#4490BA', '#38A240', '#BD5065', '#BB8A21']
    }
}
});
chart.on('success', function(response) {           
});

viewSelector.on('change', function(ids) {
     chart.set({ query: { ids: VIEW_ID }}).execute();
});

以上内容会返回每个帐户,媒体资源和所有网站数据。我只想要3个不同页面的数据。这可能吗?

1 个答案:

答案 0 :(得分:0)

好的,所以我设法自己解决了。

我有我的html元素,图表从Google脚本附加到

<div id="line-chart-1"></div>
<div id="line-chart-2"></div>
<div id="line-chart-3"></div>

然后我创建了一个添加页面URLS的数组。然后循环遍历数组X的次数,在这种情况下产生3个不同的图表;每页一个。

var valueArray = ['page1-url', page2-url, 'page3-url'];

for (var i = 0; i < valueArray.length; i++) {

    var num = i + 1;

    var chart = new gapi.analytics.googleCharts.DataChart({
        query: {
            ids: VIEW_ID,
            dimensions: 'ga:date',
            metrics: 'ga:avgTimeOnPage,ga:bounceRate,ga:pageviews,ga:sessions',
                filters: valueArray[i]
            },
            chart: {
                type: 'LINE',
                container: 'line-chart-' + num,
                options: {
                    fontSize: 12,
                    width: '100%',
                    colors: ['#4490BA', '#38A240', '#BD5065', '#BB8A21']
                }
            }
        });
        chart.on('success', function(response) {});
        chart.execute();
    }