s_gi

s_gi() 函数按报表包 ID 实例化或查找 AppMeasurement 的实例。AppMeasurement 会保持跟踪每个创建的实例,s_gi() 会为报表包返回现有实例(如果存在)。如果实例不存在,则会创建一个新实例。

使用Web SDK扩展实例化跟踪对象

Web SDK扩展可为您实例化和管理跟踪对象。 但是,您可以在扩展设置中自定义跟踪对象名称:

  1. 使用您的 Adobe ID 凭据登录 Adobe Experience Platform 数据收集
  2. 单击所需的标记属性。
  3. 转到 扩展 选项卡,然后单击 配置 Adobe Experience Platform按钮。
  4. 更改 名称 字段到所需的值。 其默认值为 alloy

手动实施Web SDK实例化跟踪对象

以下代码加载Web SDK并实例化跟踪对象。 您可以通过更改字符串来自定义跟踪对象名称 "alloy" 将内联脚本末尾的值调整为所需的值。

<script>
  !function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
  []).push(o),n[o]=function(){var u=arguments;return new Promise(
  function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
  (window,["alloy"]);
</script>
<script src="https://cdn1.adoberesources.net/alloy/2.6.4/alloy.min.js" async></script>

参见 安装SDK 有关更多信息,请参阅Web SDK文档。

使用Adobe Analytics扩展实例化跟踪对象

Analytics 扩展可为您实例化和管理跟踪对象。但是,在配置 Adobe Analytics 扩展时,您还可以在库管理折叠面板中设置全局跟踪对象。

  1. 使用您的 Adobe ID 凭据登录 Adobe Experience Platform 数据收集
  2. 单击所需的标记属性。
  3. 转到扩展选项卡,然后单击 Adobe Analytics 下的​配置​按钮。
  4. 展开库管理折叠面板,然后选择除为我管理库之外的任何单选按钮。

全局变量文本字段允许您设置自定义跟踪对象。其默认值为 s

AppMeasurement和Analytics扩展自定义代码编辑器中的s_gi()

调用 s_gi() 函数以实例化跟踪对象。其唯一参数包含以逗号分隔的报表包 ID 字符串。报表包 ID 参数为必需参数。

小贴士

Adobe 建议将 s 变量用作跟踪对象。Adobe 在其文档、实施示例和插件中使用 s。但是,只要在网站中保持一致,可以使用任何变量。

// Instantiate the tracking object with a single report suite
var s = s_gi("examplersid");

// Instantiate the tracking object to send to multiple report suites
var s = s_gi("examplersid1,examplersid2");
注意

以下各部分和示例包含复杂的实施主题。完整测试您的实施并跟踪贵组织的🔗解决方案设计文档中的重要自定义项。

使用不同的跟踪对象管理多个实施

如果您实例化多个跟踪对象,则可以向不同的报表包发送不同的数据。这两个跟踪对象会相互独立地运作。

// Instantiate two separate tracking objects to two different report suites
var s = s_gi('examplersid1');
var z = s_gi('examplersid2');

// The s object and z object contain their own independent Analytics variables simultaneously
s.pageName = "Example page name 1";
z.pageName = "Example page name 2";

// Send data to the examplersid1 report suite
s.t();

// Send data to the examplersid2 report suite
z.t();

覆盖 s 对象后还原 AppMeasurement 变量

某些第三方工具可能还使用 JavaScript s 对象。如果意外覆盖了网站上的 s 对象,可以使用相同的 RSID 字符串参数调用 s_gi 以恢复所有被覆盖的变量和方法。

// Step 1: Instantiate the tracking object
var s = s_gi("examplersid");

// Step 2: Set eVar1
s.eVar1 = "Example value";

// Step 3: Accidentally overwrite the tracking object
s = "3rd party tool";

// Step 4: If you attempt to send a tracking call, an error is returned. Instead, re-instantiate the tracking object
s = s_gi("examplersid");

// Step 5: The previous values of all variables are preserved. You can send a tracking call and eVar1 is correctly set
s.t();

使用多个变量引用同一跟踪对象

如果两个变量使用同一报表包引用同一 s_gi() 函数,则可以交替使用这些变量。

// If the RSID is the same, any variables set in the 's' tracking object also get set in 'z' tracking object
var s = s_gi('examplersid');
var z = s_gi('examplersid');

s.eVar1 = "Shared tracking object value";

// This tracking call contains the above eVar1 value
z.t();

在此页面上