axllent/silverstripe-analytics-js

Silverstripe 的 Google Universal Analytics 跟踪代码

安装次数: 17,310

依赖项: 0

建议者: 0

安全: 0

星级: 16

关注者: 4

分支: 4

开放性问题: 1

类型:silverstripe-vendormodule

4.0.3 2023-05-11 03:43 UTC

This package is auto-updated.

Last update: 2024-09-16 03:41:33 UTC


README

这是一个扩展程序,可以将 Google Universal Analytics gtag() 跟踪代码(不要与 Google Tag Manager 混淆)添加到您的 Silverstripe 模板中。

它自动包含所有出站链接和“资产下载”的可选非侵入性 事件跟踪,以及 404 和错误页面的事件跟踪,以及电子邮件和电话链接。

功能

  • 自动将 Google Universal Analytics (gtag.js) 代码注入到页面 <head> 中,以防止由于加载顺序导致的 JavaScript 冲突(如果您在其他代码中使用自定义 gtag() 函数)。
  • 自动跟踪所有配置的账户的 pageview,包括跟踪 404 和 500 页面错误(跟踪为“页面未找到”/“页面错误”事件)。
  • 非侵入性出站、下载、电子邮件和电话链接跟踪 - 监控所有页面点击,而不是页面加载(即:与页面加载后由 Ajax 等生成的链接一起工作)。
  • 使用 Google Analytics hitCallback 跟踪出站链接,在加载之前注册(即:当没有设置链接 target 时),以确保在重定向之前成功运行跟踪器。
  • 如果 SS_ENVIRONMENT_TYPE 不是实时,或者页面 URL 匹配 ?flush=,则自动将跟踪代码更改为 UA-DEV-[1-9],以防止捕获不良数据。

事件跟踪

默认情况下自动启用以下附加事件跟踪

  • 文件下载(资产文件夹中的所有非图像文件)被跟踪为 "下载"。
  • 出站链接被跟踪为 "出站链接"。
  • 电子邮件 (mailto:) 链接被跟踪为 "电子邮件链接"。
  • 电话 (tel:) 链接被跟踪为 "电话链接"。

事件类别名称(例如:“出站链接”、“下载”等)可以在您的 yaml 配置中进行配置。

注意:事件跟踪仅适用于常规(左键或中键)鼠标点击(包括与 Ctrl/Shift/Meta 键的组合)。如果用户在链接上右键单击并从上下文菜单中选择操作(在新标签页中打开、另存为等...),则绕过跟踪。不幸的是,没有其他方法可以完全禁用内容菜单。

要求

  • Silverstripe ^4 || ^5

有关 Silverstripe 4 的过时 analytics.js 跟踪方法,请参阅 analytics.js 分支

有关 Silverstripe 3,请参阅 Silverstripe3 分支

通过 Composer 安装

您可以使用 composer 进行安装:

composer require axllent/silverstripe-analytics-js

基本用法

安装后,如果您的配置 yaml 文件(例如)中至少提供了一个跟踪账户 mysite/_config/analytics.yml,则扩展程序会自动加载。

Axllent\AnalyticsJS\AnalyticsJS:
  tracker:
    - ['config', 'UA-1234567-1']

语法与官方文档非常相似,因此可以轻松添加诸如辅助跟踪器或其他配置等。

Axllent\AnalyticsJS\AnalyticsJS:
  tracker:
    - ['config', 'UA-1234567-1']          # default account [required]
    - ['config', 'UA-1234567-2']          # add secondary tracker
    - ['set', 'forceSSL', true]           # force tracking to use SSL
    - ['require', 'ecommerce', 'ecommerce.js']  # load ecommerce extension
  track_links: false                      # disable external link & asset tracking
  ignore_link_class:  "notrack"           # if "track_links", then ignore external links with the "notrack" class
  compress_js: false                      # do not compress inline JavaScript
  primary_gtag_id: "UA-1234567-1"         # set the default tracking id to be used when loading gtag (defaults to the first tracker)

有关所有配置选项,请参阅 Configuration.md

要开始实时跟踪,请确保您的网站处于 live 模式,或者如果正在 devstaging 中运行,则您具有 track_in_dev_mode: true 选项。