Show Menu
主题×

Adobe插件:addProductEvent

此插件由Adobe Consulting提供,旨在帮助您从Adobe Analytics中获得更多价值。 Adobe客户关怀部门不提供此插件的支持,包括安装或疑难解答。 如果您需要此插件的帮助,请与贵组织的客户经理联系。 他们可以安排与顾问的会议寻求帮助。
addProductEvent 件会向变量添加数字或货币事 products 件。 如果您希望向变量添加数字或货币事件而不担心产品字符串格式,Adobe products 建议使用此插件。 如果不在变量中使用数字或货币事件,则无需使用此插 products 件。

使用Adobe Experience Platform Launch扩展安装插件

Adobe提供了一个扩展,允许您使用最常用的插件。
  1. Log in to launch.adobe.com using your AdobeID credentials.
  2. 单击所需的属性。
  3. 转到“扩 展 ”选项卡,然后单击“目 录 ”按钮
  4. 安装和发布 Common Analytics插件扩展
  5. 如果尚未创建,请使用以下配置创建标有“初始化插件”的规则:
    • 条件:无
    • 事件:核心——载入的库(页面顶部)
  6. 使用以下配置向上述规则添加操作:
    • 扩展:常见分析插件
    • 操作类型:初始化addProductEvent
  7. 保存更改并发布到规则。

使用Launch自定义代码编辑器安装插件

如果您不想使用插件扩展,则可以使用自定义代码编辑器。
  1. Log in to launch.adobe.com using your AdobeID credentials.
  2. 单击所需的属性。
  3. 转到“扩 展 ”选项卡,然后单击Adobe Analytics扩 展下的 “配置”按钮。
  4. 使用自定 义代码accordion展开“配置跟踪 ”,该面板显示“打 开编辑器 ”按钮。
  5. 打开自定义代码编辑器,并将下面提供的插件代码粘贴到编辑窗口中。
  6. 保存更改并将其发布到Analytics扩展。

使用AppMeasurement安装插件

在实例化(使用)Analytics跟踪对象后,复制并粘贴AppMeasurement文件中的任意位置的以下代 s_gi 码。 在您的实施中保留代码的注释和版本号可帮助Adobe解决任何潜在问题。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: addProductEvent v1.0 (Requires apl v3.1 and inList v2.0+ plug-ins) */
s.addProductEvent=function(en,ev,ap){var s=this;if("string"===typeof en)if(ev=isNaN(ev)?"1":String(ev),ap=ap||!1,s.events= s.apl(s.events,en),s.products){var e=s.products.split(",");ap=ap?0:e.length-1;for(var a;ap<e.length;ap++)a=e[ap].split(";") ,a[4]&&a[4].includes("event")?a[4]=a[4]+"|"+en+"="+ev:a[5]?a[4]=en+"="+ev:a[4]||(a[3]||(a[3]=""),a[2]||(a[2]=""),a[1]||(a[1]=""),a[4]=en+"="+ev),e[ap]=a.join(";");s.products=e.join(",")}else s.products=";;;;"+en+"="+ev};

/* Adobe Consulting Plugin: apl (appendToList) v3.2 (Requires inList v2.0 or higher) */
s.apl=function(lv,vta,d1,d2,cc){if(!lv||"string"===typeof lv){if("undefined"===typeof this.inList||"string"!==typeof vta||""===vta)return lv;d1=d1||",";d2=d2||d1;1==d2&&(d2=d1,cc||(cc=1));2==d2&&1!=cc&&(d2=d1);vta=vta.split(",");for(var g=vta.length,e=0;e<g;e++)this.inList(lv,vta[e],d1,cc)||(lv=lv?lv+d2+vta[e]:vta[e])}return lv};

/* Adobe Consulting Plugin: inList v2.1 */
s.inList=function(lv,vtc,d,cc){if("string"!==typeof vtc)return!1;if("string"===typeof lv)lv=lv.split(d||",");else if("object"!== typeof lv)return!1;d=0;for(var e=lv.length;d<e;d++)if(1==cc&&vtc===lv[d]||vtc.toLowerCase()===lv[d].toLowerCase())return!0;return!1};
/******************************************** END CODE TO DEPLOY ********************************************/

使用插件

该方 addProductEvent 法使用以下参数:
  • en (必需,字符串):要添加到变量中最后一个条目的事 products 件。 如果变 products 量为空,则会创建一个“空白”产品条目,并附加事件(及其值)。
  • ev (必需,字符串):为参数中的数字或货币事件分配的 en 值。 未设置 1 时,默认值为。
  • ap (可选,布尔):如果products变量当前包含多个产品条目,则值为 true (或 1 )会将事件添加到所有产品条目。 未设置 false 时,默认值为。
这些 addProductEvent 数据不会返回任何结果。 而是将事件及其值添加到变 products 量。 该插件还会自动将事件添加到变 events 量中,因为该变量也是必需的。

示例调用

示例#1

如果...
s.products=";product1;3;300,;product2;2;122,;product3;1;25"
s.events="purchase"

...下面的代码运行……
s.addProductEvent("event35", "25");

...s.products的最终值将是:
s.products=";product1;3;300,;product2;2;122,;product3;1;25;event35=25"

...s.events的最终值为:
s.events="purchase,event35"

示例#2

如果...
s.products=";product1;3;300,;product2;2;122,;product3;1;25"

...下面的代码运行……
s.addProductEvent("event35", 25, 1);

...s.products的最终值将是:
s.products=";product1;3;300;event35=25,;product2;2;122;event35=25,;product3;1;25;event35=25"

当第三个参数等于true(或1)时,每个产品条目都将在调用中指定的事件添加到其值

示例#3

如果...
s.products=";product1;3;300;event2=10;eVar33=large|eVar34=men|eVar35=blue,;product2;2;122,;product3;1;25"
s.events="purchase,event2"

...下面的代码运行……
s.addProductEvent("event33", "12");
s.addProductEvent("event34", "10");
s.addProductEvent("event35", "15");

...s.products的最终值将为……
s.products=";product1;3;300;event2=10;eVar33=large|eVar34=men|eVar35=blue,;product2;2;122,;product3;1;25;event33= 12|event34=10|event35=15"

...和s.events将设置为:
s.events="purchase,event2,event33,event34,event35"

示例#4

如果...
s.products=";product1;3;300;event2=10;eVar33=large|eVar34=men|eVar35=blue,;product2;2;122,;product3;1;25"
s.events="purchase,event2"

...下面的代码运行……
s.addProductEvent("event33", "12", 1);
s.addProductEvent("event34", 10, 1); //The second argument can be an integer or a string representing an integer/number
s.addProductEvent("event35", "15", 1);

...s.products的最终值将为……
s.products=";product1;3;300;event2=10|event33=12|event34=10|event35=15;eVar33=large|eVar34=men|eVar35=blue, ;product2;2;122;event33=12|event34=10|event35=15,;product3;1;25;event33=12|event34=10|event35=15"

...和s.events将设置为:
s.events="purchase,event2,event33,event34,event35"

示例#5

如果未设置s.products并且运行以下代码……
s.addProductEvent("event35", "25");

...s.products的最终值将是:
s.products=";;;;event35=25"

在这种情况下,event35还将附加到s.events的结尾

版本历史

1.0(2019年10月7日)

  • 第一版。