Analytics.js 2.0来源


Analytics.js 2.0,最新版本的Segment的Javascript源代码,允许你发送你的数据到任何工具,而不必每次学习,测试或使用一个新的API。

Analytics.js 2.0可供段客户提供符合分部和客户之间的订阅协议条款的客manbetx客户端应用下载户,并且不可用作开源项目。

Analytics.js 2.0的好处

Analytics.js 2.0提供了上一个版本的两个主要优势。

性能

Analytics.js 2.0提供了页面加载时间的减少,从而提高了站点性能。它的包装尺寸是~ 70%小于以前的分析.js。

影响页面加载时间的因素很多,包括页面权重、网络条件和托管位置。

开发人员的经验

js 2.0通过为开发人员引入新的方法来在事件时间轴中增加事件,从而改善了开发人员的体验。例如,开发人员可以在事件发生之前或之后,或在事件发生时增加事件。

例如,您可以使用Analytics.js 2.0构建:

  • 确保您在事件触发前进行用户同意跟踪
  • 使用中间件的飞行中使用客户或页面上下文丰富事件
  • 将事件发送到段后检查事件是否存在错误

入门

阅读Analytics.js快速入门指南这解释了如何将Analytics.js添加到您的网站。安装库后,请阅读详细的API参考!

有关升级到Analytics.js 2.0的信息,请参阅升级到Analytics.js 2.0

升级现有的JavaScript源

有关升级现有JavaScript源的信息,请参阅升级到A.js 2.0

基本跟踪方法

以下基本跟踪方法是段跟踪的构建块。他们包括确认追踪团体,别名,如下所述。

这些名称可能是熟悉的,因为它们是所涵盖的基本方法分部规范.此页面上的文档介绍了如何具体地在Analytics.j中使用这些方法。

很高兴知道:对于此页面中描述的任何不同方法,您可以使用代表收集数据的变量替换代码示例中的属性。

确认

确认方法是您将用户链接到识别的用户及其操作的方式用户身份特征.你可以看到一个确认快速入门指南中的例子或者查找识别方法有效载荷的详细信息

分部推荐反对使用确认对于您网站的匿名访问者。Analytics.js自动检索一个匿名从LocalStorage或为新访客分配一个,并将其附加到所有人追踪在一个之前和之后的事件确认

识别方法遵循以下格式:

分析确认([用户身份],[特征],[选项],[打回来]);

识别呼叫具有以下字段:

用户身份 可选的 细绳 用户的数据库ID。如果你不知道用户谁,你可以省略用户身份只是记录特征.你可以阅读更多关于身份的确定参考
特征 可选的 对象 你对用户了解的特征词典电子邮件或者名称.您可以阅读更多关于特征的信息确定参考
选项 可选的 对象 选项词典。例如,启用或禁用特定目标的电话。注意:如果您未通过*特征*对象,请在*选项之前通过空对象(作为“{}”)*
打回来 可选的 功能 在短时间内执行的函数,给出浏览器时间首先进行出站请求。

默认情况下,Analytics.js在浏览器中缓存特性localstorage并将它们附加到每个识别呼叫中。

例如,您可以调用识别何时有人注册通讯,但尚未在您的网站上创建帐户。下面的示例显示了在这种情况下可以发送的识别呼叫(使用硬编码性格)。

分析确认({昵称'奇异恩典'favoriteCompiler'A-0.'行业'计算机科学'});

然后,当用户完成注册过程时,您可能会看到以下内容:

分析确认'12091906-01011992'{名称'格蕾丝料斗'电子邮件'grace@usnavy.gov.'});

第二个呼叫的特征对象还包括昵称favoriteCompiler,行业

您可以省略trait和options,并将callback作为第二个参数传递。

分析确认'12091906-01011992'功能() {//在发送标识请求后执行一些操作//注意:站点 - 关键功能不应依赖于您的分析提供商});

追踪

Track方法允许您记录用户执行的操作。你可以参见快速入门指南中的曲目示例或查找详细信息跟踪方法有效载荷

曲目方法遵循以下格式:

分析追踪事件[特性],[选项],[打回来]);

追踪呼叫有以下字段:

事件 细绳 您正在跟踪的事件的名称。你可以了解更多关于这个问题跟踪方法以及推荐的事件名称。
特性 可选的 对象 一本词典特性的事件。如果事件是'添加到购物车',它可能有这样的特性价格产品类别
选项 可选的 对象 选项词典。例如,启用或禁用特定目标的电话。注意:如果你不传递一个*properties*对象,在*options*之前传递一个空对象(如“{}”)
打回来 可选的 功能 短时间后运行的函数,给出浏览器时间首先进行出站请求。

Analytics.js中唯一必需的参数是一个事件名称字符串.您可以阅读更多信息Segment如何建议您姓名事件

示例跟踪呼叫:

分析追踪'本文完成了'{标题'如何创建跟踪计划'课程'介绍分析'});

有关选择要跟踪的事件、事件命名等的更多信息,请查看分析学院

关于Analytics.js中的唯一关于跟踪呼叫的必需参数是一个事件名称字符串。阅读更多关于分部如何建议的有关命名你的活动

trackLink的辅助方法是追踪调用作为链接的处理程序。和trackLink,Analytics.js插入短时间(300毫秒)以提供追踪更多的时间打电话。当页面将重定向到追踪方法可以完成所有请求。

trackLink方法遵循下面的格式。

分析trackLink元素事件[特性])
元素 元素或阵列 要绑定的DOM元素追踪方法。您可以传递一个元素数组或jQuery对象。注意:这必须是一个元素,不是一个CSS选择器。
事件 字符串或功能 事件的名称,传递给追踪方法。或者一个功能返回一个字符串用作名称追踪事件。
特性可选的 对象或功能 要与track方法一起传递的属性字典。或者一个功能对象的返回对象特性的事件。

例子:

var.关联=文档getelementbyid'免费试用链接');分析trackLink关联'点击免费试用链接'{计划'企业'});

轨道形式

trackform.是绑定追踪调用表格提交。这trackform.方法插入一个短超时(300毫秒)以提供追踪拨打更多时间完成。这对于防止页面以之前重定向是有用的追踪方法可以完成所有请求。

trackform.方法遵循下面的格式。

分析trackform.形式事件[特性])
形式)元素或阵列 元素或阵列 要跟踪的表单元素或表单元素数组或jQuery对象。注意:TrackForm采用元素,而不是CSS选择器。
事件 字符串或功能 事件的名称,传递给追踪方法。或者一个功能返回一个字符串用作名称追踪事件。
特性可选的 对象或功能 要与track方法一起传递的属性字典。或者一个功能对象的返回对象特性的事件。

例子:

var.形式=文档getelementbyid'注册形式');分析trackform.形式'注册'{计划'优质的'收入99.00});

方法允许您在网站上录制页面浏览量,以及有关用户查看的页面的可选额外信息。

因为一些目的地需要一个调用来实例化它们的库,你必须叫至少每页加载一次。如果需要,您可以多次调用一次,例如在单页应用程序中的虚拟页面上更改。

js默认包含一个Page调用作为最后一行Analytics.js片段.你可以更新这个在下面的指南内致电。

方法遵循下面的格式。

分析([类别],[名称],[特性],[选项],[打回来]);

呼叫有以下字段:

类别 可选的 细绳 页面的类别。有用的情况下,如电子商务,许多页面可能生活在一个单一的类别。注意:如果您只传递一个字符串假设是名称.你必须包括A.名称发送一个类别
名称 可选的 细绳 页面的名称。
特性 可选的 对象 页面属性词典。注意:Analytics.js收集url标题推荐人路径自动。这默认为a规范网址,如果有的话,并倒回document.location.href
选项 可选的 对象 选项词典。例如,启用或禁用特定目标的电话。注:如果你没有通过特性对象,通过一个空对象(如'{}')之前选项
打回来 可选的 功能 短时间后运行的函数,给出浏览器时间首先进行出站请求。

默认页面属性

js为每一个添加了一些属性调用。

分析'价钱');

段添加以下信息:

分析'价钱'{标题'段定价'url'//www.asianminres.com/pricing.'路径'/定价'推荐人'https://www.asianminres.com/wares.'});

您可以通过在呼叫中显式设置它们来覆盖这些值。例如:

分析'价钱'{标题'我的覆盖标题'路径'/定价/查看'});

转换为:

分析'价钱'{标题'我的覆盖标题'url'//www.asianminres.com/pricing.'路径'/定价/查看'推荐人'https://www.asianminres.com/wares.'});

团体

该组方法将一个涉及识别的用户用一个公司、组新万博app2.0下载织、项目、工作空间、团队、部落、排、集合、群集、部队、帮派、聚会、社会或任何其他集体名词来表达相同的概念。

这很有用工具喜欢对讲机罚款totango,因为它将用户联系在一起集团其他的用户。

该组方法遵循以下格式。

分析集团Groupid.[特征],[选项],[打回来]);

群组呼叫包含以下字段:

Groupid. 细绳 组ID与当前用户关联。
特征 可选的 对象 一本词典特征对于小组。用于组的示例性状包括地址网站雇员
选项 可选的 对象 选项词典。例如,启用或禁用特定目标的电话。注:如果你没有通过特性对象,通过一个空对象(如'{}')之前选项
打回来 可选的 功能 短时间后运行的函数,给出浏览器时间首先进行出站请求。

例子集团电话:

分析集团'Univac工作组'{原则['埃克特''Mauchly'],地点'Eckert-Mauchly电脑公司'statedGoals'研制第一台商用计算机'行业'技术'});

默认情况下,Analytics.js缓存组特征在浏览器的本地存储中,并将它们连接到每个集团打电话,类似如何确认工作方法。

有关的更多细节有关集团包括集团有效载荷该组织规范

别名

Alias方法将两个不关联的用户标识组合在一起。当你在用户上调用Identify时,Segment通常会自动处理别名,但是有些工具需要显式的别名调用。

这是一种先进的方法,但是需要它来成功地管理用户身份一些我们的目的地只有Mixpanel年

别名方法遵循以下格式:

分析别名用户身份[previousId],[选项],[打回来]);

别名调用有以下字段:

用户身份 细绳 希望与该用户关联的新用户ID。
previousId 可选的 细绳 先前识别用户的ID。默认为当前标识的用户ID。
选项 可选的 对象 选项词典。例如,启用或禁用特定目标的电话。
打回来 可选的 功能 在短时间内执行的函数,使浏览器时间首先进行出站请求。

有关别名的更多详细信息,包括别名打电话给负载,看看我们的规范

实用方法

Analytics.js实用程序方法可帮助您更改页面上的段加载方式。他们包括:

准备好了

准备好方法允许你传入一个方法,一旦Analytics.js完成初始化,并且加载所有启用的设备模式目的地,这个方法就会被调用。这就像jQuery的准备好方法,除了目的地。

准备好如果在初始化期间,如果任何目的地抛出错误(例如在过期的API键或不正确的设置配置)中,则不会调用。

代码准备好函数仅执行后准备好被排放。

如果要访问与任何分析的端具库方法不匹配任何Analytics.js方法,例如将额外的设置添加到MixPanel,则可以使用a准备好回调,这样你就保证可以访问Mixpanel对象,就像这样:

分析准备好功能(){窗口mixpanel年set_config.({详细的真正的});});

准备好方法使用以下格式:

分析准备好打回来);

准备好方法具有以下字段:

打回来 功能 在所有已启用的目的地加载后要执行的函数。

调试

打电话给调试方法打开调试模式,将有用的消息注销给控制台。调用后刷新页面调试查看消息。

使能够:

分析调试();

禁用:

分析调试);

发射器

全球分析对象在调用时触发事件别名集团确认追踪或者

使用为这些事件设置侦听器的方法,并运行您自己的自定义代码。如果要将数据发送到服务,则这可能是有用的。

分析方法打回来);
方法 细绳 要侦听的方法的名称
打回来 功能 在每个发出的方法之后执行的函数,有三个参数:事件特性选项

例子:

分析'追踪'功能事件特性选项{大丁图(['recordEvent'事件]);});

此方法发出事件之前它们由段集成处理,可能不包括在将数据发送到段服务器之前段在客户端上所做的一些规范化。

笔记:页事件属性存储在选项目的。

扩展超时

超时方法设置回调函数和帮助函数的长度(以毫秒为单位)。如果有多个脚本需要在回调或trackLinktrackform.帮手功能。

下面的示例将超时设置为500ms。

分析超时500);

小费:如果您触发广告网络转换像素,我们建议延伸到500ms,因为这些像素通常有点慢。

重启或注销

调用重置重置id,包括匿名,并清除特征对于当前已识别的用户和组。

分析重置();

重置方法只清除cookie和localstorage由段创建。它不明确其他集成工具的数据,因为这些本机库可能会设置自己的cookie来管理用户跟踪,会话和管理状态。要完全清除用户会话,请参阅这些工具提供的文档。

段不分享localstorage在子域。如果您在多个子域上使用分段跟踪,您必须调用analytics.reset ()为每个子域完全清除用户会话。

使用集成对象管理数据流

小费你可以用几种不同的方式改变你的数据流,而不需要改变你的代码。看到过滤数据了解更多。

你可以通过集成对象在选项别名,小组,识别,页面和轨道方法将数据仅发送到选定的目的地。缺省情况下,所有目的地都是启用的。

下面的示例仅向对讲机和Google Analytics发送消息。

分析确认'user_123'{电子邮件'jane.kim@example.com'名称'简金'},{集成{'全部''对讲机'真正的'谷歌分析'真正的}});

'全部':假告诉段不发送数据任何默认情况下的目的地,除非他们明确列为真正的在接下来的几行。

作为一个相对的例子,下面的片段向所有集成发送消息除了对讲机和Google Analytics。

分析确认'user_123'{电子邮件'jane.kim@example.com'名称'简金'},{集成{'对讲机''谷歌分析'}});

您不需要包含'全部':真实在此调用中,因为它被暗示为默认行为。相反,只列出要排除的目的地,有一个每个标志。

目的地的标志是区分大小写和匹配文档中的目的地名称(例如,“Adlearn开放平台”,“AWE.SM”,“MailChimp”等)。如果目的地有多个可接受的名称,则会出现在该目的地的文档中。

小费:业务层客户可以过滤来自Segmanbetx客户端应用下载ment UI中的Source Schema页面的Track调用。如果可能的话,我们建议您使用UI,因为它是管理过滤器的一种更简单的方式,并且可以在不更改代码的情况下进行更新。

加载选项

你可以修改.loadAnalytics.js(片段的第二行)中的方法采用第二个论点。如果你用一个对象集成字典(匹配格式以上),然后段仅加载该字典中标记为的字段,如带布尔值所启用的字典真正的

你只能打电话.load在页面加载或重新加载(刷新)。如果你修改了.loadPage Loads之间的方法,直到重新加载页面,它没有任何效果。

一个例子:

分析负载'写作'{集成{全部'谷歌分析'真正的'段.IO.'真正的}})

笔记:要使用此特性,您必须使用代码片段4.1.0或更高版本。您可以获得该代码片段的最新版本这里

这样,您可以根据客户选择在您的网站上有条件地加载集成。manbetx客户端应用下载下面的示例显示了如何仅加载用户同意使用的工具。

onconsentdialogclosed.功能consentedTools) {分析负载'写作'{集成consentedTools})})

重试

当启用时,Analytics.js会自动重试网络和服务器错误。通过持久重试,Analytics.js可以:

  • 支持离线跟踪.Analytics.js队列您的活动并在用户在线返回时提供它们。
  • 更好地处理网络问题.如果发生在应用程序无法连接到段的API的时间,我们将继续将事件存储在浏览器上以确保您不会丢失任何数据。

js将事件存储在localstorage并返回到内存存储时localstorage不可用。它最多可重试10次,每次重试之间递增时增加。Analytics.js一次队列队列最多100个事件,以避免使用太多设备的本地存储。看看目的地重试文档了解更多。

插件

段提供Video Player'插件',因此您可以使用Analytics.js快速收集视频事件。请参阅下面的具体文档以了解更多信息:

交叉子域分析

Analytics.js在框中跨子域轨道;我们所有的目的地都完全支持此功能。

Analytics.js性能

js库和所有的目标库都被HTML脚本异步标签.这也意味着段异步触发方法,因此如果您要求以特定顺序从浏览器发送事件,则应相应地调整代码。

虽然许多工具需要访问DOM或Cookie,但对于Zendesk,Salesforce和MailChimp目的地,段不需要加载本机JavaScript库!相反,段的服务器将数据发送到终端工具。

段加载您所需的库启用目的地。禁用目的地时,您网站上加载的Analytics.js的自定义版本可停止请求该库。

使用Analytics.js并没有提供很大的性能优势,但是比单独安装每个目的地的性能要好。随着更多的目的地移动到直接接受来自Segment的数据,您将自动获得更多的性能好处。

一个选项,如果您不想使用任何捆绑的第三方工具,则是使用browserify'd分析节点包裹。

捆绑大小

js的Javascript代码片段增加了约1.1KB的页面大小。

代码片段异步请求并加载一个定制的Javascript包(Analytics.min.js.),其中包含加载您的设备模式目的地.此文件的大小根据您启用的目的地的数量而更改。

如果没有启用任何目的地,则Analytics.min.js.文件约为62KB。每次启用目标时,文件的大小可能会略有增加。

Analytics.js使用的本地存储cookie

Analytics.js使用localstorageCookie如果启用了重试,则跟踪重试时序。

  • ACK.cookie是用于查看另一个选项卡是否应索取重试队列的计时器。
  • 重新获得再生cookie确定选项卡是否从另一个选项卡中占用队列。
  • 进行中队列cookie跟踪正在进行的事件,以及排队的事件进行重试。

欲了解更多信息,请访问段localstorage-retry图书馆

你可以设置调试饼干,analytics.js从Analytics.js到控制台的调试消息。

开源库

Analytics.js 2.0包括以下开源组件:

UUID v2.0.0.https://github.com/lukeed/uuid.)版权所有Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)许可证:MIT许可证,可在此处提供:https://github.com/lukeed/uuid/blob/master/license

Component-URL v0.2.1https://github.com/component/url.)版权所有(c)2014组件许可:MIT许可证,在此处提供:https://github.com/component/url/blob/master/readme.md.

dset v2.0.1.https://github.com/lukeed/dset.)版权所有(c)Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)许可证:MIT许可证,可在此处提供:https://github.com/lukeed/dset/blob/master/license.

js-cookie v2.2.1版权所有(c)2018版权所有2018 Klaus Hartl,Fagner Brack,Github贡献者许可:MIT许可证,可供选择:https://github.com/js-cookie/js-cookie/blob/master/LICENSE

MD5 v2.3.0.https://github.com/pvorb/node-md5.)版权所有(c)2011-2012,Paul Vorbach。版权所有(c)2009,杰夫莫斯特。许可证:BSD-3-Claus“新建”或“修订”许可,可提供:https://github.com/pvorb/node-md5/blob/master/license.

v4.1.0https://github.com/developit/unfetch版权所有(c) 2017杰森·米勒许可:麻省理工学院许可,可在:https://github.com/developit/unfetch/blob/master/license.md.

此页面上次修改:2021年5月25日



开始使用细分

段是将网站和移动应用程序数据集成到超过300个分析和增长工具的最简单方法。
或者
创建免费帐户