Analytics.js(JavaScript)来源


Analytics.js,Segment的JavaScript源,使得将数据发送到任何工具,而无需每次学习,测试或实现新API。

Analytics.js 2.0 beta

新版本的Analytics.js在Beta版中可以使用。点击这里欲获得更多信息。

开始

阅读的Analytics.js QuickStart指南这解释了如何在几分钟内将Analytics.js添加到您的网站。安装库后,请阅读详细的API参考!

基本跟踪方法

下面的基本跟踪方法是分段跟踪的构建模块。它们包括识别,追踪,,团体, 和别名,如下所述。

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

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

识别

识别方法是如何将用户及其操作链接到可识别的用户标识特征。你可以看到一个识别QuickStart指南中的示例或者查找识别方法有效载荷的详细信息

分部推荐使用识别匿名访客访问你的网站。js自动检索一个匿名从localStorage或为新访问者分配一个,它附加到all追踪在一个之前和之后的事件识别

识别方法遵循以下格式:

分析识别([用户标识],(特征],(选项],(打回来]);

识别呼叫有以下字段:

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

默认情况下,特征被缓存在浏览器的localstorage.并附上每个后续识别呼叫。

例如,当有人注册了时事通讯,但还没有在您的网站上创建帐户时,您可能会呼叫Identify。下面的示例显示了在本例中可能发送的一个Identify调用(使用硬编码特征)。

分析识别({昵称:奇异恩典,收藏率复合者:A-0.,行业:计算机科学});

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

分析识别(12091906-01011992,{姓名:格蕾丝料斗,电子邮件:grace@usnavy.gov.});

第二个调用的traits对象还包括昵称,收藏率复合者, 和行业

您可以省略其特征和选项,并将回调作为第二个参数。

分析识别(12091906-01011992,功能(){//在发送标识请求后做某事//注意:站点 - 关键功能不应依赖于您的分析提供商});

追踪

Track方法允许您记录用户执行的操作。你可以请参阅QuickStart指南中的曲目示例或查找详细信息轨道方法有效载荷

曲目方法遵循以下格式:

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

追踪呼叫有以下字段:

事件 字符串 您正在跟踪的事件的名称。你可以了解更多关于这个问题跟踪方法我们推荐哪些活动名称。
特性 可选 目的 一本词典特性对于活动。如果事件是“添加到购物车”,它可能有属性价格产品类别
选项 可选 目的 选项词典。例如,启用或禁用特定目的地呼叫。注意:如果未通过*属性*对象,请在*选项之前通过空对象(如“{}”)*
打回来 可选 功能 在短超时后执行的函数,让浏览器有时间首先发出出站请求。

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

示例跟踪呼叫:

分析追踪(文章完成,{标题:如何创建跟踪计划,课程:介绍分析,});

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

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

TrackLink.是一个附着的辅助方法追踪调用作为链接的处理程序。和TrackLink.插入短时间(300毫秒)以提供追踪打电话更多的时间。当页面将在之前重定向时,这很有用追踪方法可以完成所有请求。

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

分析TrackLink.(元素,事件,(特性])
元素 元素或数组 要束缚的DOM元素追踪方法。您可以传递一系列元素或jQuery对象。注意:这必须是一个元素,不是CSS选择器。
事件 字符串或功能 事件的名称,传递给追踪方法。或者功能返回一个字符串用作名称追踪事件。
特性可选 对象或功能 使用曲目方法的属性词典。或者功能返回要使用的对象特性活动。

例子:

var.关联=文档getelementbyid(free-trial-link);分析TrackLink.(关联,点击免费试用链接,{计划:企业});

轨道形式

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

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

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

例子:

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

方法允许您在网站上录制页面视图,以及有关正在查看的页面的可选额外信息。

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

默认情况下包含页面调用作为最终行Analytics.js片段。你可以修改这个按照下面的指导方针打电话。

方法遵循下面的格式。

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

呼叫有以下字段:

类别 可选 字符串 页面的类别。对于像电子商务这样的案例有用,许多页面可能在一个类别下生活。注意:如果您只传递一个字符串假设是姓名。你必须包括一个姓名送A.类别
姓名 可选 字符串 页面的名称。
特性 可选 目的 页面属性的字典。注意:URL.,标题,介绍人小路自动收集!此外,这默认为a规范网址,如果可能的话,然后撤退到document.location.href.
选项 可选 目的 选项词典。例如,启用或禁用特定目的地呼叫。注意:如果您不通过特性对象,之前传递一个空对象(如' {}')选项
打回来 可选 功能 在短超时后执行的函数,让浏览器有时间首先发出出站请求。

默认页面属性

每个属性都会自动添加到每个属性称呼。

分析(价钱);

段添加以下信息,没有您的任何额外工作:

分析(价钱,{标题:分部定价,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工作组,{原则:(Eckert.,摩托车],地点:Eckert-Mauchly Computer Corporation,陈列戈斯:开发第一台商用电脑,行业:技术});

默认情况下,组特征在浏览器的本地存储中缓存并连接到每个后续的团体呼叫,类似于如何识别方法工作。

了解更多关于团体包括团体有效载荷小组规范

别名

别名方法组合了两个先前未关联的用户身份。段通常在用户识别用户时自动处理混叠,但有些工具需要显式别名称呼。

这是一种高级方法,但需要成功管理用户身份一些我们的目的地亲吻mixpanel.

Alias方法的格式如下:

分析别名(用户标识,(上一个],(选项],(打回来]);

Alias调用有以下字段:

用户标识 字符串 您要与用户关联的新用户ID。
上一个 可选 字符串 用户被识别的前一个ID。此默认为当前已识别的用户的ID。
选项 可选 目的 选项词典。例如,启用或禁用特定目的地呼叫。
打回来 可选 功能 在短超时后执行的函数,让浏览器有时间首先发出出站请求。

有关别名的更多细节,包括别名呼叫有效载荷,请参阅我们的规格

实用方法

js实用程序方法可以帮助您改变在页面上加载分段的方式。它们包括:

准备好

准备好方法允许您通过一个调用Analytics.js完成初始化的方法,以及一旦所有支持的设备模式目的地加载。就像是jquery的准备好方法,除了目的地。

准备好如果目标在初始化期间,目的地抛出错误(例如在过期的API键或不正确的设置配置),则仍会调用。这样做可以防止阻止代码收听准备好回调。

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

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

分析准备好(功能(){窗户mixpanel.set_config.({verb:真的});});

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

分析准备好(打回来);

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

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

调试

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

使能够:

分析调试();

禁用:

分析调试(错误的);

发射器

全球分析对象在您呼叫时发出事件别名,团体,识别,追踪或者

使用方法设置这些事件的监听器并运行您自己的自定义代码。如果您想将数据发送到某个段没有目的地的服务,这可能会很有用。

分析(方法,打回来);
方法 字符串 聆听方法的名称
打回来 功能 在每个发射方法后执行的函数,采用三个参数:事件,特性,选项

例子:

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

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

注意:页面事件属性存储在选项目的。

扩展超时

暂停方法设置回调和辅助功能的长度(以毫秒为单位)。如果您有多个需要在您的回调或中射击的脚本,这是有帮助的TrackLink.,trackform.helper函数。

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

分析暂停(500.);

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

重置或注销

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

分析重置();

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

Segment不共享localstorage.跨子域。如果在多个子域上使用段跟踪,则必须调用Analytics.Reset()对于每个子域来完全清除用户会话。

使用集成对象管理数据流

提示:您可以在不必更改代码的情况下更改数据以多种不同方式流动的方式。看过滤数据了解更多。

你可以通过一个一体化对象在选项别名,小组,识别,页面和轨道将数据发送到仅选定的目的地的方法。默认情况下,所有目的地都已启用。

下面的示例只向Intercom和谷歌分析发送消息。

分析识别(User_123.,{电子邮件:jane.kim@example.com.,姓名:简金},{一体化:{所有:错误的,对讲机:真的,谷歌分析:真的}});

“所有”:假的告诉段不发送数据任何默认情况下的目的地,除非他们明确列为真的在下一行。

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

分析识别(User_123.,{电子邮件:jane.kim@example.com.,姓名:简金},{一体化:{对讲机:错误的,谷歌分析:错误的}});

您不需要包含'全部':真实在这个调用中,因为它被隐含为默认行为。相反,只列出您想要排除的目的地,使用错误的国旗。

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

小费:业务层客户可以从段UI中的源manbetx客户端应用下载模式页面过滤跟踪呼叫。我们建议您使用UI,如果可能的话,因为它是管理过滤器的更简单方法,并且可以在您身边没有任何代码更改。

加载选项

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

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

一个例子:

分析加载(写作,{一体化:{所有:错误的,谷歌分析:真的,段.IO.:真的}})

注意:要使用此功能,您必须位于Snippet版本4.1.0或更高版本上。您可以获得最新版本的片段这里

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

onconsentdialogclosed.(功能(同意小便){分析加载(写作,{一体化:同意小便})})

重新审

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

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

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

插件

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

交叉子域分析

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

Analytics.js性能

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

虽然很多工具需要访问DOM或cookie,但对于我们的Zendesk、Salesforce和MailChimp目的地,Segment不需要加载本地Javascript库!相反,数据是从Segment的服务器发送到终端工具。我们的目标是在未来扩大这一领域。

段仅加载您所需的库启用目的地。当您禁用一个目标时,加载在站点上的Analytics.js的自定义版本将停止请求该库。

使用Analytics.js并不能提供一个巨大的性能效益,但它比单独安装每个目的地更加性能。随着更多目的地移动到直接从段接受数据,您将自动收到更多的性能优势。

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

捆绑大小

段的Analytics.js JavaScript段仅将页面大小增加约1.1KB。

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

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

Analytics.js使用的本地存储cookie

js使用了一些localstoragecookies(如果您启用了重试),以跟踪重试时间。

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

有关更多信息,请访问段LocalStorage-Retry库

你可以设置调试饼干Analytics.js.将调试消息从Analytics.js记录到控制台。

此页面上次修改:09 Mar 2021



开始使用细分

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