使用Google AnalyticsAPI创建比较日期范围内数据的图表

时间:2016-11-21 11:40:33

标签: javascript charts google-analytics google-analytics-api

我正在使用Google AnalyticsAPI创建自定义分析信息中心,并且需要包含这样的受众群体概述比较:

GA audience overview comparison

我主要使用GA Embed API。我找不到一种在单个Embed DataChart上创建这样的日期范围比较图表的明显方法。我尝试了几种不同的方法来创建这样的图表:

  • 将多个日期范围传递到Embed DataChart:似乎不使用多个日期范围所需的Reporting v4
  • 使用第三方chart.js库:无法让它看起来像GA图表
  • 直接使用GA报告和GA图表API生成包含两行的单个图表:无法让它看起来正确
  • 创建两个GA嵌入DataCharts并将其叠加在另一个

最后一种方法是唯一一种可以创建图表的方法,几乎​​与上图中的方法完全相同。不幸的是,这种方法仍然存在两个问题:

  • 太多的GA查询会减慢页面加载速度:一个主图表查询和一个叠加层查询,另外两个报表查询首先获取图表数据以同步其垂直比例,因此每个查询共有4个查询图表。如果可以在嵌入API的同时使用Reporting v4,那么我可以将其减少到3,但在所有图表中仍然会有8个不必要的查询。
  • 在GA比较图表中,如果日期范围不匹配,则较短的日期范围会中断,并且两条线条会从日期视角匹配。我不认为这可以使用Embed DataCharts,因为查询与图表相关联,所以在显示其中一个图表之前我无法用零填充数据。

我目前的计划是直接使用报告和图表API来减少查询次数并使我能够匹配日期范围以进行比较,尽管我认为Embed DataChart在将时间线查询和放大器结合在一起时必须具有一定的魔力;图表,因为我正在努力映射数据并将图表标记为上图中的标记。

是否有更好的方法可以使用Google的API生成其中一个日期范围比较图表?

1 个答案:

答案 0 :(得分:1)

您可以使用var objects = [ // Your objects, this is just dummy data { uuid: 'Product 01', approved: true }, { uuid: 'Product 02', approved: true }, { uuid: 'Product 03', approved: true } ] var items = objects.reduce(function (prev, current) { prev[current.uuid] = current.approved; return prev; }, {}); 使用reporting api V4维度获取所需的任何ga:date来获取数据。然后你可以使用任何图表库来绘制图表,它可以用于叠加多个图表的图表库