跳转到主要内容

将GA跟踪和报告添加到CKAN实例

项目描述

CKAN Google Analytics 扩展

状态: 生产

CKAN 版本 >= 2.8

A CKAN 扩展,既可以发送跟踪数据到Google Analytics,也可以从Google Analytics检索统计信息并将其插入CKAN页面。

功能

  • 将Google Analytics异步跟踪代码放入您的页面标题中,以进行基本的Google Analytics页面跟踪。

  • 将Google Analytics事件跟踪添加到资源下载链接,以便资源下载将在Google Analytics报告界面中显示为事件。

  • 将Google Analytics事件跟踪添加到一些API调用,以便可以通过Google Analytics报告API的使用情况。

  • 添加一个可以用于任何扩展以创建自定义事件跟踪的Google Analytics事件跟踪功能。

      ckanext.googleanalytics.plugin._post_analytics
    

安装

  1. 按常规安装扩展,例如(从激活的virtualenv)

     $ pip install -e  git+https://github.com/ckan/ckanext-googleanalytics.git#egg=ckanext-googleanalytics
     $ pip install -r ckanext-googleanalytics/requirements.txt
    
  2. 编辑您的开发.ini(或类似文件)以提供以下必需参数

     googleanalytics.id = UA-1010101-1
     googleanalytics.account = Account name (i.e. data.gov.uk, see top level item at https://www.google.com/analytics)
     googleanalytics.username = googleaccount@gmail.com
     googleanalytics.password = googlepassword
    

    请注意,您的密码可能可供其他人阅读;因此,您可能需要设置一个新的Gmail账户,专门用于访问您的Gmail配置文件。

  3. 再次编辑您的配置ini文件以通过以下方式激活插件

     ckan.plugins = googleanalytics
    

    (如果有其他已激活的插件,请将其添加到列表中。每个插件应使用空格分隔)

  4. 最后,还有一些可选的配置设置(在此处显示其默认设置)

     googleanalytics_resource_prefix = /downloads/
     googleanalytics.domain = auto
     googleanalytics.fields = {}
     googleanalytics.enable_user_id = false
     googleanalytics.download_handler = ckan.views.resource:download
    

    resource_prefix 是一个任意标识符,以便我们可以在 Google Analytics 中查询下载情况。理论上可以是任何字符串,但理想情况下应类似于 URL 路径段,以便在 Google Analytics 网页界面中更容易过滤所有资源。

    domain 允许您指定 Analytics 将跟踪用户的域名。您通常希望将其保留为 auto;如果您正在跟踪来自多个子域的用户,则可能希望指定类似 .mydomain.com 的内容。有关更多信息,请参阅 Google 的文档 <http://code.google.com/apis/analytics/docs/gaJS/gaJSApiDomainDirectory.html#_gat.GA_Tracker_._setDomainName>_。

    fields 允许您在创建跟踪器时指定各种选项。请参阅 Google 的文档 <https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference>

    如果将 enable_user_id 设置为 true,则已登录的用户将被跟踪到 Google Analytics 的仪表板。这样可以为每个已登录用户跟踪指标。您可以在此处了解更多关于此功能和其优势的信息 here <https://support.google.com/analytics/answer/3123662>_。

    当资源被下载时,ckanext-googleanalytics 会向 GA 发布事件并调用默认的下载回调。如果您正在使用 CKAN>=2.9 并且您的某些插件重新定义了 resource.download 路由(例如 ckanext-cloudstorage),则可以通过 ckanext.googleanalytics.download_handler 配置变量指定必须调用的函数而不是 ckan.views.resource:download。对于 ckanext-cloudstorage,您可以使用

     ckanext.googleanalytics.download_handler = ckanext.cloudstorage.views:download
    

域链接

此插件支持使用 Google 的网站链接功能进行跨域跟踪。

要使用此功能,请将 googleanalytics.linked_domains 配置选项设置为要报告的域名列表(逗号分隔)。

有关更多信息,请参阅 Google 的文档 <https://support.google.com/analytics/answer/1034342?hl=en>_。

设置从 Google Analytics 获取统计数据

  1. src/ckanext-googleanalytics 运行以下命令来设置所需的数据库表(当然,更改 --config 选项以指向您的站点配置文件)

     ckan -c ../ckan/ckan.ini initdb
    
  2. 按照以下 授权 部分的步骤操作。

  3. 重新启动 CKAN(例如,通过重新启动 Apache)

  4. 等待一段时间,以便在 Google 中记录一些统计数据

  5. src/ckanext-googleanalytics 运行以下命令导入 Google 统计数据:

     paster loadanalytics credentials.json --config=../ckan/development.ini
    

    (当然,将配置指向您的特定站点配置文件,并将 credentials.json 指向授权步骤中获得的密钥文件)忽略警告 ImportError: file_cache is unavailable when using oauth2client >= 4.0.0

  6. 在 CKAN 中查看一些统计数据

    一旦您的 GA 账户收集了一些数据,您可以在以下位置查看关于最受欢迎的软件包的一些基本信息: http://mydomain.com/analytics/dataset/top

    默认情况下,注入到公共网站的数据仅在软件包页面上,其中每个资源的下载次数都显示在旁边。

  7. 请考虑定期作为 cron 作业运行导入命令,或记住手动运行它,否则您的统计数据不会更新。

授权

在 ckanext-googleanalytics 可以从 Google Analytics 获取统计数据之前,您需要设置 OAUTH 详细信息,您可以通过遵循 说明 <https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/service-py>_ 来完成,其结果将是一个包含认证密钥的文件。以下步骤为方便而列

  1. 访问 Google APIs Console <https://code.google.com/apis/console>_

  2. 登录并创建一个项目或使用现有项目。

  3. Service accounts pane <https://console.developers.google.com/iam-admin/serviceaccounts>_ 中选择您的项目并创建新帐户。在创建过程中,请勾选“提供新的私有密钥”-> JSON 类型。记下“服务帐户 ID”(看起来像电子邮件)- 它将在以后使用。

  4. 保存下载的文件 - 它将被 loadanalytics 命令使用(参考 <credentials.json>)

  5. 前往 GoogleAnalytics 控制台 <https://analytics.google.com/analytics/web/#management> 并选择 ADMIN 选项卡。

  6. 在相应列中找到“用户管理”按钮。使用第3步生成的服务账户ID(电子邮件)添加服务账户,并授予其“读取”权限。

测试

您可以使用以下方法运行一些非常高级的功能测试:

$ pip install -r dev-requirements.txt $ pytest --ckan-ini=test.ini

未来

这是软件的初始版本。未来可能会有几个发展方向。

由于我们使用 Google Analytics 记录统计数据,我们可以连接到其任何功能。例如,作为受欢迎程度的衡量标准,我们可以记录跳出率或仅记录新访问;我们还可以显示哪些数据集在哪里受欢迎,或者突出显示从其他位置链接的软件包。

我们还可以在跟踪链接中嵌入额外的元数据信息,以便对特定类型的数据进行报告(例如,按来源国最流行的数据格式,或按许可协议最常下载的资源)

项目详情


下载文件

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

源分布

ckanext-googleanalytics-2.3.0.tar.gz (38.9 kB 查看散列)

上传时间

构建分布

ckanext_googleanalytics-2.3.0-py3-none-any.whl (47.7 kB 查看散列)

上传时间 Python 3

支持者