跳转到主要内容

从Google Analytics中提取统计信息的工具。

项目描述

简介

collective.googleanalytics 是一个将 Plone 与 Google Analytics 集成的产品。它包含跟踪和报告功能。该产品可以轻松跟踪标准 Google 统计数据、外部链接、电子邮件地址点击和文件下载。它还定义了用于查询 Google 并使用 Google 可视化显示结果的 Analytics 报告。报告是 Zope 对象,可以使用 GenericSetup XML 进行导入和导出,并可以根据每个站点进行修改。该产品目前提供了一个可以显示报告结果的组件,以及一个用于授权您的站点和配置设置的控件面板。

https://secure.travis-ci.org/collective/collective.googleanalytics.png

安装

要安装 collective.googleanalytics,请将其添加到构建配置中的 eggs 部分。然后重新运行构建配置并重新启动 Zope。

在 Plone 3 上

在 Plone 3 上,建议使用以下版本限制

[versions]
collective.googleanalytics = 1.4.1
gdata = 2.0.17
simplejson = 2.3.3

配置

当您从 Plone 添加组件控制面板安装产品时,将向您的 Plone 网站添加一个名为“Google Analytics”的新控制面板。在此控制面板中,您可以授权站点访问您的 Google Analytics 数据。如果在尝试授权时收到错误,请参阅下文关于 注册域名 的部分。

在授权您的站点后,您可以选择要跟踪此站点分析数据的配置文件。从下拉菜单中选择配置文件。如果您没有列出任何配置文件,请确保您的 Google Analytics 账户至少有权访问一个配置文件。此外,请确保从站点控制面板中删除您可能粘贴的任何 Google Analytics 跟踪代码。

选择跟踪配置文件后,您可以选择要启用的跟踪插件。跟踪插件允许您在 Google Analytics 中跟踪您网站上的事件,而不仅仅是页面视图和访问的常规数据。您可用的插件取决于您安装的产品。有关默认跟踪插件的信息,请参阅下文关于 跟踪插件 的部分。

最后,您可以选择要排除跟踪的角色。对于具有所选角色的用户,Google Analytics 不会记录数据。请注意,此设置不会影响网站控制面板中指定的脚本。

在设置选项卡中,您还可以配置缓存账户信息和报告结果的时间长度(以分钟为单位),以减少查询 Google 的需求。默认的缓存间隔为 60 分钟。

注册域名

当您授权网站访问 Google Analytics 数据时,可能会收到错误

The site "http://example.com" has not been registered.

在这种情况下,您需要在授权网站之前将您的域名注册到 Google。遵循 Google 的注册新域的说明步骤 1-3。在第二步中,您可以将 Google 提供的文件上传到您的 Plone 网站根目录。请确保使用文件内容类型,并确保简短名称与 Google 指定的文件名相匹配。

跟踪插件

collective.googleanalytics 附带了四个跟踪插件

评论

此插件记录您网站上每个创建的评论在 Google Analytics 中的跟踪事件。

电子邮件链接

此插件在每次访问者点击“mailto:”链接时,在 Google Analytics 中记录一个跟踪事件。

外部链接

此插件在每次访问者点击与您的网站域名不同的域名链接时,在 Google Analytics 中记录一个跟踪事件。

文件下载

此插件在每次访问者点击链接到具有以下扩展名之一的文件时,在 Google Analytics 中记录一个跟踪事件:avi、css、doc、eps、exe、jpg、js、mov、mp3、pdf、png、ppt、rar、svg、txt、vsd、vxd、wma、wmv、xls、zip。

使用报告

在控制面板中授权您的网站后,您可以使用 Analytics 报告。首先导航到您想要显示报告结果的页面。您放置小部件的位置取决于您的目标和您显示的报告类型。即使您在公开页面上放置小部件,小部件也仅对具有“查看 Google Analytics 报告”权限的用户可见,默认情况下分配给管理员。

接下来,使用管理小部件页面并将 Google Analytics 从可用小部件列表中选择,按照常规放置小部件。在小部件添加表单中,您可以设置小部件的标题、小部件将使用配置文件以及它将显示的报告。请注意,小部件的标题不同于小部件内部显示的报告标题。配置文件是您想要访问的统计数据的 Google 属性。您可以在小部件内选择哪些配置文件取决于您提供给 Plone 的 Analytics 账户可以访问哪些配置文件。如果您在下拉菜单中没有看到任何配置文件,请检查您是否已在 Google Analytics 控制面板中授权了您的网站。

您可以在单个小部件中显示多个报告。但是,每个报告都对其自身的 Google 进行查询,因此在一个页面上包含许多报告可能会导致性能下降。要更改小部件内报告的顺序,请参阅下文关于 管理报告 的部分。

设置小部件标题和配置文件以及选择一个或多个报告后,单击保存以添加小部件。当您导航到分配小部件的页面时,您应该看到报告的结果。

管理报告

collective.googleanalytics 附带了十二个默认报告

全局报告

  • 网站访问:折线图

  • 前 5 页:表格

  • 前 5 个来源:表格

  • 网站页面浏览量:折线图

  • 网站停留时间:折线图

  • 网站独立访客:折线图

页面特定报告

  • 页面浏览量:Sparkline

  • 页面停留时间:Sparkline

  • 前10个页面来源:表格

  • 前10个关键词:表格

  • 前5个上一页:表格

  • 前5个下一页:表格

报告存储在Plone工具中,称为portal_analytics。要查看和修改报告,请在ZMI中导航到网站的根目录,然后单击portal_analytics实用程序。由于它们是标准Zope对象,因此可以使用Zope按钮在报告列表下方复制、粘贴、重命名、删除、导入和导出报告。还可以使用上、下、顶和底按钮在列表中上下移动。portal_analytics中的报告顺序控制了它们在网站各个部分小部件中出现的顺序。

报告渲染过程

默认情况下,Analytics报告使用jQuery异步渲染。这通过允许页面主体在等待来自Google Analytics的响应之前进行渲染来提高网站性能。渲染Analytics报告的请求的基本流程可能如下所示

  1. 用户请求内容项front-page,该页面右侧列中分配了Google Analytics小部件。

  2. Plone按常规渲染front-page。当它渲染Google Analytics小部件时,它会查找加载组件。

  3. 加载组件不会请求实际结果,而是生成javascript,在页面加载完毕后加载结果。它还生成加载报告所需的可视化模块的javascript。

  4. 加载器生成的javascript在渲染front-page时包含其中。一旦页面加载完毕,加载器生成的javascript就会被激活。它向服务器发送另一个请求,其中包含请求的报告和任何评估选项。

  5. 在异步请求的组成部分中调用与加载器关联的浏览器视图。(此浏览器视图的上下文仍然是front-page。)此浏览器视图加载指定的报告。

  6. 对于请求中的每个报告,浏览器视图查找渲染器,它是当前上下文(front-page)、请求(异步请求)和报告的多适配器。

  7. 渲染器渲染报告,如果存在缓存结果则返回。浏览器视图结合所有请求的报告的结果,并返回它们。

  8. 渲染器返回的结果被注入到小部件中。在这个过程中,jQuery评估结果中的任何javascript,包括生成可视化的javascript。

报告属性

Analytics报告是持久的Zope对象,存储用于查询Google的参数和将查询结果作为Google Visualization显示的选项。它们将此信息作为自身的属性存储。可以使用GenericSetup XML或通过ZMI在Web上设置这些属性。

可以将Analytics报告视为具有五个逻辑部分,每个部分都有自己的属性

报告设置

报告设置部分由五个属性组成,用于控制报告的显示和行为。这些属性不接受TAL或TALES。

标题

管理界面中报告的标题。这是用户在分配小部件时选择的标题。

描述

报告的简要描述。描述主要用于开发人员参考,永远不会出现在Plone用户界面中。

I18n域

翻译报告的域。

分类

报告所属的分类列表。分类用于确定报告可以显示的位置。

插件

插件是上下文、请求和报告的多适配器,用于扩展报告的默认功能。collective.googleanalytics附带了两个插件。有关更多详细信息,请参阅上下文结果插件变量日期范围插件部分。

请注意,一些插件会增加额外的维度、指标和可视化选项,这些选项只有在报告保存后才能使用。因此,在添加或删除任何插件后立即保存报告通常是一个好主意。

查询条件

报告的查询条件部分由所有以单词“查询”开头的属性组成。这些属性决定了发送给Google以检索分析数据的查询。所有这些属性都接受TALES表达式。它们可以访问在在报告中使用TAL和TALES部分定义的TALES变量以及所选插件提供的任何TALES对象。

查询指标

查询中使用的Google分析指标的列表。

查询维度

查询中要返回的Google分析维度的列表。此列表可以包括特殊维度变量date_range_dimension和date_range_sort_dimension。有关使用这些维度的更多信息,请参阅变量日期范围插件部分。

查询过滤器

查询中要使用的过滤器列表。过滤器定义为字符串或TALES表达式,其结果为字符串,格式为METRIC==VALUE,其中METRIC是Google分析指标或维度的名称,VALUE是所需的值,==是适当的逻辑运算符。

查询排序

要按其排序查询结果的指标或维度列表。排序参数使用字符串或TALES表达式定义,这些表达式评估为包含Google分析维度或指标名称的字符串。此外,维度或指标的名称之前可以加一个负号(-)以将排序顺序从升序改为降序。

查询开始日期

查询结果的开端日期。它必须是一个TALES表达式,该表达式评估为Python datetime.date对象。在使用变量日期范围插件的报告中,不需要指定开始日期或结束日期。

查询结束日期

查询结果的结束日期。有关更多信息,请参阅上面的查询开始日期。

查询最大结果数

查询可以返回的最大结果数。它必须是一个TALES表达式,该表达式评估为正整数。

表格生成器

报告的表格构建部分包括三个属性。这三个属性共同负责将Google返回的查询结果转换成可用于可视化或在其他地方显示在报告正文中的结果表。

为了执行此转换,这三个属性使用返回Python列表的TALES表达式。TALES表达式可以访问三个特殊函数,允许它们从Google返回的数据源中提取数据

dimension(dimension, specified={}, aggregate=unique_list, default=[])

返回给定维度在指定维度和指标中使用的值的列表,使用指定的聚合方法(默认为unique_list)。如果没有找到值,则返回默认值,默认情况下为空列表。

例如,以下TALES表达式将返回查询返回的所有浏览器的列表

python:dimension('ga:browser')
metric(metric, specified={}, aggregate=sum, default=0)

返回给定指标在指定维度和指标中使用的值的列表,使用指定的聚合方法(默认为sum)。如果没有找到值,则返回默认值,默认情况下为0。

要获取记录中‘ga:browser’等于‘Mozilla’的‘ga:visits’值的总和,我们可以使用此表达式

python:metric('ga:visits', {'ga:browser': 'Mozilla'})

在使用变量日期范围插件的报告中,指定的参数值通常设置为由possible_dates方法返回的列表中的元素。

possible_dates(dimensions=[], aggregate=unique_list)

返回一个包含当前日期范围内给定日期维度的所有可能值的字典列表。如果没有指定维度,则使用查询中所有日期维度。

此方法通常用于替代包含日期维度的报告中的维度方法,以确保表中包含日期范围内的每个日期单元一行。

这三个属性构成了报告的表构建部分。

表列表达式

表列的标题。它必须是一个TALES表达式,其结果为字符串的Python列表。这些标题的显示取决于可视化类型。例如,在表格可视化中,它们作为表格列标题显示。

在大多数报告中,表列表达式是一个静态的Python列表。

python:['Visits']

当然,可以使用TALES变量来填充列列表。

python:[date_range_unit, 'Visits']

在复杂表格中,列数可能由查询返回的结果确定。在这个例子中,第一列是“日期”,其余列的名称由查询返回的浏览器名称组成。

python:['Date'] + dimension('ga:browser')
表行重复表达式

产生用于生成结果表中的行的行键集合的表达式。它指定为一个TALES表达式,其结果为包含最终表中每行一个元素的Python可迭代对象。

当报告渲染器请求结果表行时,它首先评估行重复表达式。然后,它遍历结果列表中的每个元素,并使用当前元素(分配给变量“row”)评估表行表达式。

通常,使用维度函数或possible_dates函数生成行重复表达式的值。

python:dimension('ga:pagePath')

possible_dates

有关这些函数的更多信息,请参阅在报告中使用TAL和TALES部分。

表行表达式

每行表的内容。它必须是一个TALES表达式,其结果为包含该表行“单元格”值的Python列表。表行表达式可以访问两个特殊的TALES变量:

row

当前评估的行的行键值。这些值来自评估表行重复表达式产生的列表。

columns

由评估表列表达式产生的表列标题列表。

在只有一列的表中,行表达式的值通常与行键的值相同。

python:[row]

在两列表中,一列的值通常是行键,另一列是使用行键查找的度量值。

python:[row, metric('ga:visits', {'ga:browser': row})]

在复杂的多列表中,可能需要使用Python列表推导式遍历列变量。

python:[row] + [metric('ga:visits', {'ga:browser': row, 'ga:operatingSystem': c}) for c in columns[1:]]

可视化设置

报告的可视化设置部分由可视化类型和可视化选项属性组成。这些属性用于创建使用Google可视化API渲染由上述表构建部分生成的数据表的javascript。

可视化类型

用于显示报告结果Google可视化的类型。此属性可以设置为Google提供的任何默认可视化名称。

可视化选项

一个选项和值列表,格式为TAL定义,用于指定可视化选项。可用的选项取决于选定的可视化类型。重要的是选项表达式必须评估为可视化期望的数据类型。

例如,一个接受整数高度选项的可视化高度可以设置为以下:

height python:300

报告正文

报告正文由一个包含报告 TAL 模板的属性组成。在报告渲染时,会评估这个 TAL 代码块。该代码块中的 TALES 表达式可以访问第 使用 TAL 和 TALES 在报告中 部分描述的正常对象。它们还可以访问报告渲染器提供的所有公共方法。在报告正文中,必须使用 view/method_name 或 python:view.method_name() 来访问这些方法。

profile_ids()

返回正在评估报告的 Google Analytics 配置文件列表。

query_criteria()

返回评估后的查询条件。

data()

返回一个字典列表,包含由 Google 返回的数据源中每个条目的维度和度量值。

columns()

返回评估后的表格列标题。

rows()

返回评估后的表格行。

visualization()

返回渲染的可视化。

dimension(dimension, specified={}, aggregate=unique_list, default=[])

返回在指定维度和度量值以及指定聚合方法下给定度量的值。请参阅上方 表格构建器 部分的描述。

metric(metric, specified={}, aggregate=sum, default=0)

返回在指定维度和度量值以及指定聚合方法下给定度量的值。请参阅上方 表格构建器 部分的描述。

possible_dates(dimensions=[], aggregate=unique_list)

返回一个字典列表,包含当前日期范围内给定日期维度上所有可能的值。请参阅上方 表格构建器 部分的描述。

在报告中使用 TAL 和 TALES

Analytics 报告对象的许多属性接受 TALES 表达式或 TAL 作为它们的值。(有关哪些属性接受 TALES 和 TAL 的信息,请参阅上方 报告属性 部分。)所有 TAL 代码和 TALES 表达式都可以访问一组标准的 Python 对象和变量。

context

当前视图被调用的对象。在大多数情况下,这是报告将要显示的旁边的内容对象。

request

当前请求对象。由于 Analytics 报告是异步渲染的,因此此请求对象是异步报告请求,而不是用户的原始请求。可以通过使用 request/request_url 获取原始请求的 URL。

date

datetime.date 函数的别名。

timedelta

datetime.timedelta 函数的别名。

unique_list

一个辅助函数,它接收一个 Python 列表并返回一个相应的列表,其中已删除原始列表中的所有重复元素。它与 Python set 类型不同,因为它保留了原始列表的顺序。

上下文结果插件

此插件提供工具以使报告页面特定。它修改默认缓存策略,按页面缓存报告结果,而不是整个站点。它还提供了几个辅助 TALES 变量,这些变量简化了创建页面特定报告的过程。

page_url

当前请求的相对 URL。这通常用于查询过滤器属性来创建页面特定报告。

page_filter

一个 Google Analytics 过滤器表达式,它匹配 ga:pagePath 记录与当前相对 URL 匹配的记录。它使用正则表达式匹配来匹配带有和没有尾部斜杠的 URL。

nextpage_filter

一个 Google Analytics 过滤器表达式,它匹配 ga:nextPagePath 记录与当前相对 URL 匹配的记录。它使用正则表达式匹配来匹配带有和没有尾部斜杠的 URL。

previouspage_filter

一个 Google Analytics 过滤器表达式,它匹配 ga:previousPagePath 记录与当前相对 URL 匹配的记录。它使用正则表达式匹配来匹配带有和没有尾部斜杠的 URL。

变量日期范围插件

分析报告可以为其查询指定固定的开始和结束日期。然而,当评估报告时允许设置日期范围通常更有用。变量日期范围插件提供了这个功能。为了设置日期范围,它会查找请求中以下这些特殊键之一:

start_date 和 end_date

日期格式为 YYYYMMDD。

date_range

一个整数,指定作为报告开始日期的当前日期之前的日期数。默认的结束日期是当前日期。date_range 参数还可以接受一个字符串关键字,根据当前上下文评估为特定的日期范围。当前的关键字包括:

week

过去七天。

month

过去30天。

quarter

过去90天。

year

过去356天。

mtd

月度至今。

ytd

年度至今。

published

自项目发布以来。

由于分析报告是异步渲染的,这些键必须在异步加载器发送的请求中设置,而不是在原始请求中。

由于报告的日期是动态的,该插件还提供了两个与日期相关的特殊维度。这允许根据选定的日期范围设置报告结果的粒度。(例如,如果您指定了一个年度的日期范围,您可能不想按日细分结果。相反,按月查看结果可能是一个更合适的选择。)这两个特殊维度是:

date_range_dimension

这是根据日期范围选择的维度,将用于细分结果。

date_range_sort_dimension

这是作为辅助工具使用的日期相关维度,用于确保按 date_range_dimension 细分的结果可以按时间顺序排序。例如,如果 date_range_dimension 评估为 ga:week,date_rage_sort_dimension 将评估为 ga:year。使用 date_range_sort_dimension(连同 date_range_dimension)进行排序可以防止2009年第五十二周被排序在2010年第一周之前的情况。

请注意,这两个维度必须从要包含在查询中的查询维度列表中选择。如果它们不在可能维度的列表中,请确保在从插件列表中选择变量日期范围插件后保存报告。

该插件还提供了两个在报告模板中很有用的辅助变量:

date_range_unit

一个包含由 date_range_dimension 指定的人可读名称的字符串(例如,“天”,“月”等)。

date_range_unit_plural

一个方便的变量,包含带有字母“s”附加的 date_range_unit。

创建新报告

现在您已经熟悉了构成分析报告的属性,是时候尝试从头开始创建一个新的报告了。在这个例子中,我们将创建一个报告,该报告计算并显示按浏览器分段的网站范围内的跳出率。

这个例子展示了一个相当复杂的报告。对于更简单的报告的例子,请参考 portal_analytics 中的默认报告。在许多情况下,您可能可以修改这些报告中的一个来满足您的需求,通过替换维度和度量。但是,如果您发现您需要创建一个更复杂的多维报告,请继续阅读。

  1. 在 ZMI 中导航到网站的根目录并单击 portal_analytics 工具。

  2. 单击“添加 Google Analytics 报告”按钮。

  3. 我们将给我们的新报告分配 ID site-bounce-rate-browser-line,遵循默认报告的命名约定。这个命名约定是可选的,但它有助于保持整洁。然后单击添加按钮。

  4. 单击新报告以编辑它。给它一个标题“按浏览器分析的网站跳出率:折线图”以及这个描述:

    本报告显示了按用户浏览器分段的网站整体跳出率。这对于评估我们的网站新多媒体功能在每个浏览器中的有效性非常有用。

  5. 将i18n域名保留为默认值collective.googleanalytics。如果我们打算翻译此报告,我们可能会使用网站主题产品中定义的域名。

  6. 从类别列表中,选择“网站整体”。

  7. 从插件列表中,选择“变量日期范围”。选择后,点击“保存”按钮以将新选项填充到维度列表中。

  8. 现在难度较大:确定查询的参数。如果我们参考谷歌维度和度量参考中的常用计算页面(请参阅了解更多信息部分中的链接),我们看到跳出率按以下方式计算

    ga:bounces/ga:entrances

    因此,将查询度量设置为ga:bounces和ga:entrances。

  9. 我们还知道我们想要按浏览器对我们的结果进行分段,因此我们将查询维度设置为ga:browser。务必也从维度列表底部选择date_range_dimension和date_range_sort_dimension。

  10. 在查询过滤器中输入

    ga:entrances>10

    严格来说,我们可能不需要这个过滤器。但对于流量很大的网站,我们可能不会关心在指定时间段内进入次数少于10次的浏览器。因此,我们使用此过滤器将它们从结果中排除。

  11. 在查询排序框中,输入变量日期范围插件提供的维度

    date_range_dimension
    date_range_sort_dimension
  12. 在查询最大结果中,保留默认值,python:1000。

  13. 现在我们的查询参数已经完成,我们可以着手制作结果表。让我们首先画出我们的表应该是什么样子

    “日”

    “Firefox”

    “Internet Explorer”

    “Safari”

    “Chrome”

    “5”

    60

    70

    54

    63

    “6”

    64

    69

    59

    68

    “7”

    63

    72

    65

    68

    等等。

    请注意,日期列包含字符串,而不是整数。这是必要的,以便折线图可视化将这些值视为标签,而不是数据。

  14. 太好了!现在我们可以编写生成表的表达式。在表格列表达式字段中输入此表达式

    python:[date_range_unit] + dimension('ga:browser')

    此表达式结合了变量日期范围插件提供的date_range_unit的值以及ga:browser维度的所有可能值。

  15. 对于表格行重复表达式,输入

    possible_dates

    此表达式将使用包含date_range_dimension和date_range_sort_dimension值的字典填充行键。我们使用possible_dates而不是dimension(date_range_dimension),因为我们想要在当前日期范围内为每个时间段提供一个条目,即使该特定时间段没有任何结果。

在表格行表达式字段中,输入以下表达式,

移除行中断

python:[str(row[date_range_dimension])] +
[int(100*float(metric('ga:bounces', row))/(float(metric('ga:entrances', row)) + 0.0001))
    for c in columns[1:] if not row.update({'ga:browser': c})]

哇!这看起来很复杂!但是,如果我们把这个表达式分解成各个部分,就可以很容易地看出它在做什么

[str(row[date_range_dimension])]

这个表达式的这部分创建了一个包含单个元素的列表:date_range_dimension的值作为字符串。回想一下,在这个表达式中,row是一个包含日期范围表达式和日期范围排序表达式的键值对字典。

现在让我们跳到表达式的末尾

for c in columns[1:]

这段代码作为Python列表推导式中的重复表达式,生成指定日期每个浏览器的跳出率。columns[1:]代表由dimension(‘ga:browser’)生成的浏览器名称列表。

if not row.update({'ga:browser': c})

这段代码将作为Python列表推导式中的更新表达式,在迭代浏览器列表时更新当前浏览器的值。这样我们就可以将row传递给metric()方法,以获取当前评估日期和浏览器的度量值。我们使用‘if not’是因为update()方法返回None,它评估为False。

最后,表达式剩余部分只是计算跳出率的数学公式

int(100*float(metric('ga:bounces', row))/(float(metric('ga:entrances', row)) + 0.0001))

我们必须将 metric() 返回的值转换为浮点数,以便除法能够按预期执行。我们还向分母添加一个很小的数,以防止 ga:entrances 的值为零时出现除以零错误。最后,我们将结果乘以 100 得到百分比,并将结果四舍五入到最接近的整数。

  1. 我们快完成了!从可视化类型下拉菜单中选择 LineChart。

  2. 在可视化选项框中,按行输入以下选项定义

    title string:Bounce Rate By Browser
    height python:250
    titleX python:date_range_unit
    titleY string:Bounce Rate (%)
    smoothLine python:True

    这些选项都是美学上的。一旦你熟悉了 Google 可视化,你就可以调整它们以适应你的个人喜好。有关每个可视化可用选项的完整列表,请访问本节中提到的 了解更多信息 的 Google 可视化画廊。

  3. 在报告正文字段中,输入以下 TAL 代码块,该代码渲染折线图可视化

    <div tal:replace="structure view/visualization"></div>
  1. 你完成了!在 ZMI 中点击保存按钮。然后根据本节关于 使用报告 的说明测试你的新报告。

在文件系统产品中定义报告

任何导入通用设置配置文件的产品都可以定义分析报告。这些报告应定义在产品通用设置配置文件目录中的名为 analytics.xml 的文件中。生成报告 XML 的最简单方法是创建报告并通过网络导出。

例如,在按照上述创建新报告的说明操作后,你可以使用 ZMI 中的 portal_setup 工具创建网站的快照。然后你可以导航到快照中的 analytics.xml 文件,并将适当的 XML 复制粘贴到产品的 analytics.xml 文件中。

如果你发现需要手动编写报告的通用设置 XML,请参阅此产品配置文件目录中的 profiles/default 目录下的 analytics.xml 文件以获取指导。请注意,任何 XML 或 XML 保留字符都必须正确转义。

了解更多信息的地方

创建和管理分析报告需要了解 Google 分析 API、Google 可视化 API 以及 Zope 和 Plone 技术如 TAL 和 TALES。以下是一些可能对你学习这些技术有帮助的资源

Google Analytics API

  • Google 分析数据导出 API 文档

    这是学习 Google 分析的绝佳起点。特别感兴趣的是这些页面

    • 数据馈送参考

      本参考描述了用于查询 Google 的参数。

    • 数据馈送查询探索器

      此工具允许你交互式地尝试查询,这在创建和调试报告过程中非常有帮助。

    • 维度和度量参考

      本页描述了每个可用的维度和度量。另请参阅有关有效组合和常见计算的子页面。

  • gdata API 参考

    gdata 是与 Google API 交互的 Python 模块。此文档对希望向或扩展 collective.googleanalytics 做出贡献的开发者最有用。相关的文档分为两个部分

Google 可视化 API

TAL 和 TALES

致谢

开发

代码审查

用户文档

其他

  • 感谢FamFamFam提供的图表图标,这些图标是Silk集的一部分。

变更日志

1.6.1 (2017-08-22)

  • 基于HTTP响应状态而不是Python exc_info(即使在已处理的异常中也设置)记录虚拟错误页面视图。[davisagli]

  • 使用jQuery全局代替jq。[davisagli]

  • Plone 5.1兼容性[alecm]

  • 移植到plone.app.testing[tomgross]

  • 删除未使用的egg依赖项[tomgross]

  • implements -> implementer[tomgross]

1.6.0 (2017-02-21)

  • Plone 5兼容性[enfold-josh, tomgross]

1.5.0 (2016-07-27)

  • 添加虚拟页面视图以用于搜索和错误页面[tomgross]

  • 使用Python json代替自定义的[tomgross]

  • 更新西班牙语翻译[macagua]

  • 添加更多关于i18n的改进[macagua]

  • 迁移到OAuth2凭证认证[frapell]

1.4.4 (2014-10-15)

  • 添加更多关于i18n的改进[macagua]

  • 添加西班牙语翻译[macagua]

  • 更新核心GA代码,包含来自Google的最新片段[spanktar]

  • 如果复制粘贴报告,则添加“副本”前缀。[frapell]

  • 在创建报告词汇时使用SimpleTerm。[frapell]

  • 裁剪过长的配置文件名称[tomgross]

  • 传递视图小部件视图和管理器[tomgross]

1.4.3 (2013-05-28)

  • 法语翻译[kiorky]

1.4.2 (2013-05-28)

  • 修复发布,添加.mo[kiorky]

1.4.1 (2013-05-28)

  • 添加对unittest2的依赖以支持Python 2.6下的高级测试功能。[2013-04-06 - hvelarde]

  • 添加对plone.app.testing的依赖以及对控制面板配置小部件的一些测试。[2013-04-05 - hvelarde]

  • 包分发重构:更新了包分类器;将文档文件重命名为.rst;修复了MANIFEST.in,并添加了一些缺少的测试依赖项。[2013-04-05 - hvelarde]

  • 将.docx、.pptx和.xlsx添加到文件下载插件跟踪的扩展名中。[2013-03-28 - davisagli]

  • 改进i18n并包含pt-br翻译的第一版。[2012-10-19 - tcurvelo]

  • 改进词汇表中的Unicode值处理[2012-10-23 - kiorky]

  • 发布和QA内容[2013-05-28 - kiorky]

1.4.1 - 2012-08-29

  • 如果没有有效的auth_token,则避免调用Google检索词汇表。这应该有助于避免分析工具上的冲突错误。[2012-08-29 - davisagli]

1.4 - 2012-08-27

  • 更新以继续使用Google的新管理API以及它们对数据导出API的向后兼容性的一些错误。[2012-08-27 - davisagli]

  • 仅当渲染跟踪代码时尝试查找可用的Web属性列表。[2012-08-23 - davisagli]

  • 当遇到禁止异常并且存储的access_token被删除时,还必须确保清除reports_profile,这样新的授权就不会立即遇到相同的禁止异常。[2012-08-23 - davisagli]

1.3 - 2012-04-09

  • 添加Plone 4.1兼容性[2012-03-28 - encolpe]

  • 修复日期范围计算中的闰日错误。[2012-03-01 - yomatters]

  • 更新文件下载跟踪插件以跟踪at_download链接。[2011-07-26 - yomatters]

1.2 - 2011-05-31

  • 转义CDATA标签以使Chameleon满意。[2011-05-27 - yomatters]

  • 拒绝生成禁止响应的AuthSub令牌。[2011-04-27 - yomatters]

  • 将页面视图跟踪移动到插件之后,以便将自定义变量与页面视图一起发送。[2011-04-04 - yomatters]

  • 添加了跟踪用户类型的插件。[2011-04-04 - yomatters]

  • 更新跟踪代码[2011-04-15 - garbas]

  • 添加了跟踪页面加载时间的插件。[2011-05-05 - toutpt]

1.1 - 2011-03-24

  • 记录域名注册过程。[2011-03-24 - yomatters]

  • 为包含非ASCII字符的配置文件制作安全词汇表。[2010-12-23 - yomatters]

1.0 - 2010-12-07

  • 为Plone 4添加了控制面板的图标表达式。[2010-12-07 - yomatters]

  • 修复了权限错误,使得Google Analytics小部件可以显示给非管理员。[2010-12-07 - yomatters]

  • 如果当前页面是以安全方式提供的,则允许通过HTTPS请求Google API JavaScript。[2010-11-04 - yomatters]

  • 降低查询消息的日志级别。[2010-08-13 - yomatters]

  • 将内联JavaScript包装在CDATA中,使其更容易与Deliverance一起使用。[2010-08-13 - garbas]

1.0b3 - 2010-06-30

  • 将连接到Google Analytics的连接存储在ZODB连接上,而不是在分析工具中。[2010-06-30 - yomatters]

  • 解决了同一Zope实例上多个Plone站点上分析工具之间的冲突。[2010-06-30 - yomatters]

1.0b2 - 2010-06-18

  • 为与Plone 4兼容,在异步加载器中更改为逗号分隔的字符串。[2010-06-18 - yomatters]

  • 修复了“网站时间:折线图”报告中除以零的错误。[2010-06-18 - yomatters]

  • 添加了基本的超时处理,以便Google的请求不会无限期地占用Zope线程。[2010-06-15 - yomatters]

  • 将上下文结果插件生成的正则表达式限制为128个字符,以符合Google API限制。[2010-06-07 - yomatters]

  • 为1.0b2添加了升级步骤。[2010-06-07 - yomatters]

  • 更改为AuthSub身份验证。[2010-06-04 - yomatters]

  • 添加跟踪功能,包括外部链接、电子邮件地址、评论和文件下载。[2010-05-11 - yomatters]

  • 由于尝试访问self.context.request(由于某些原因不可用),在Plone 4中@@analytics-controlpanel无法显示。对于Plone 3.3.5和Plone 4b2,使用self.context.REQUEST可以工作。没有时间进一步调查,但我使其工作。[2010-05-07 garbas]

1.0b1 - 2010-05-05

注意:1.0b1更改了报告表格构建部分(以前为报告列标签和表达式)和报告正文的语法。升级步骤会覆盖随产品提供的默认报告的这些属性。如果您已自定义这些属性,请确保在运行升级步骤之前在portal_analytics中将自定义报告重命名,以避免丢失更改。

  • 将加载器更改为在当前上下文中调用@@analytics_async。[2010-05-05 - yomatters]

  • 在控制面板中添加了Google Analytics链接。[2010-05-04 - yomatters]

  • 将i18n域标准化为collective.googleanalytics。[2010-04-30 - yomatters]

  • 添加了可能的日期辅助函数,以解决基于日期的报告在范围中的每个日期都没有结果的问题。[2010-04-28 - yomatters]

  • 使其与Plone4兼容。[2010-04-26 - garbas]

  • 更改了表格构建界面,以便行不直接与Google返回的结果相关联。添加了维度和指标值获取函数。[2010-04-22 - yomatters]

  • 当没有数据时,改进了报告。[2010-04-09 - yomatters]

  • 将单体报告重构为可插入组件。[2010-04-09 - yomatters]

  • 将实用函数从报告类中移除。[2010-04-01 - yomatters]

1.0a4 - 2010-03-24

  • 仅在上下文的视图模板上显示小部件。[2010-03-24 - yomatters]

  • 添加从1.0a3到1.0a4的升级步骤。[2010-03-24 - yomatters]

  • 修改测试以匹配异步JavaScript。[2010-03-24 - yomatters]

  • 使用异步视图进行全局分析视图小部件。[2010-03-24 - yomatters]

  • 添加异步结果的视图,并修改小部件以使用它。[2010-03-19 - yomatters]

1.0a3 - 2010-03-05

  • 添加从1.0a2到1.0a3的升级步骤。[2010-03-05 - yomatters]

  • 修改JavaScript注册和配置JavaScript以与Plone 3.1兼容。[2010-03-05 - yomatters]

  • 添加更多默认报告。[2010-03-05 - yomatters]

  • 通过视图小部件而不是通过注册加载外部JavaScript,以添加对Plone < 3.3的支持。[2010-03-05 - yomatters]

1.0a2 - 2010-02-10

  • 为报告类别添加安全断言。[2010-02-10 - yomatters]

  • 更新文档以反映日期范围更改。[2010-02-10 - yomatters]

  • 使日期范围独立于报告,并更新测试和默认报告以反映新现实;添加JavaScript以根据容器宽度设置可视化宽度;向报告中添加类别,并调整词汇以适应特定类别;处理认证令牌过期错误。[2010-02-03 - yomatters]

  • 使报告ID唯一,以便同一页面可以包含同一报告的多个副本。[2010-01-19 - yomatters]

  • 修复一个错误,当查询返回无结果时会导致错误。[2010-01-19 - yomatters]

  • 修复了旧版Zopes中的错误,该错误要求用户每次保存配置表单时都必须重新输入密码。[2010-01-14 - yomatters]

  • 为2.12之前的Zopes添加导入InitializeClass的回退。[2010-01-05 - yomatters]

1.0a1 - 2009-12-23

  • 初始发布

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

collective.googleanalytics-1.6.1.tar.gz (104.8 kB 查看哈希)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面