axllent / silverstripe-analytics-js
Silverstripe 的 Google Universal Analytics 跟踪代码
4.0.3
2023-05-11 03:43 UTC
Requires
- silverstripe/framework: ^4.0 || ^5.0
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
模式,或者如果正在 dev
或 staging
中运行,则您具有 track_in_dev_mode: true
选项。