Show Menu
主题×

Adobe插件:getQueryParam

此插件由Adobe Consulting提供,旨在帮助您从Adobe Analytics中获得更多价值。 Adobe客户关怀部门不提供此插件的支持,包括安装或疑难解答。 如果您需要此插件的帮助,请与贵组织的客户经理联系。 他们可以安排与顾问的会议寻求帮助。
该插 getQueryParam 件允许您提取URL中包含的任何查询字符串参数的值。 它可用于从登录页面URL提取内部和外部营销活动代码。 在提取搜索词或其他查询字符串参数时,它也很有价值。
此插件在解析复杂URL时提供强大功能,包括散列和包含多个查询字符串参数的URL。 如果您只有简单的查询字符串参数需要,Adobe建议使用Launch中的URL参数功能或AppMeasurement Util.getQueryParam() 中包含的方法。

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

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

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

如果您不想使用插件扩展,则可以使用自定义代码编辑器。
  1. Log in to launch.adobe.com using your AdobeID credentials.
  2. 单击所需的属性。
  3. 转到选项卡, Extensions 然后单击Adobe Analytics扩 Configure 展下的按钮。
  4. 展开折 Configure tracking using custom code 叠面板,以显示按 Open Editor 钮。
  5. 打开自定义代码编辑器,并将下面提供的插件代码粘贴到编辑窗口中。
  6. 保存更改并将其发布到Analytics扩展。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getQueryParam v3.3 (Requires pt plug-in) */
s.getQueryParam=function(qsp,de,url){var g=this,e="",k=function(b,de){de=de.split("?").join("&");de=de.split("#").join("&");var d=de.indexOf("&"),url="";b&&(-1<d||de.indexOf("=")>d)&&(d=de.substring(d+1),url=g.pt(d,"&","gpval",b));return url};qsp=qsp.split(",");var l=qsp.length;g.gpval=function(de,b){if(de){var d=de.split("="),url=d[0];d=d[1]?d[1]:!0;if(b.toLowerCase() ==url.toLowerCase())return"boolean"===typeof d?d:this.unescape(d)}return""};de=de?de:"";url=(url?url:g.pageURL?g.pageURL: location.href)+"";if((4<de.length||-1<de.indexOf("="))&&url&&4>url.length){var b=de;de=url;url=b}for(var h=0;h<l;h++)b=k(qsp[h],url) ,"string"===typeof b?(b=-1<b.indexOf("#")?b.substring(0,b.indexOf("#")):b,e+=e?de+b:b):e=""===e?b:e+(de+b);return e};

/* Adobe Consulting Plugin: pt v2.01 */ 
s.pt=function(l,de,cf,fa){if(l&&this[cf]){l=l.split(de||",");de=l.length;for(var e,c=0;c<de;c++)if(e=this[cf](l[c],fa))return e}};
/******************************************** END CODE TO DEPLOY ********************************************/

使用插件

该方 getQueryParam 法使用以下参数:
  • qsp (必需):要在URL中查找的查询字符串参数的逗号分隔列表。 它不区分大小写。
  • de (可选):多个查询字符串参数匹配时使用的分隔符。 默认为空字符串。
  • url (可选):用于从中提取查询字符串参数值的自定义URL、字符串或变量。 默认为 window.location
调用此方法会根据上述参数和URL返回一个值:
  • 如果找不到匹配的查询字符串参数,则该方法返回空字符串。
  • 如果找到匹配的查询字符串参数,则该方法返回查询字符串参数值。
  • 如果找到匹配的查询字符串参数,但该值为空,则该方法返回 true
  • 如果找到多个匹配的查询字符串参数,则该方法返回一个字符串,每个参数值由参数中的字符串分 de 隔。

示例调用

示例#1

如果当前URL为:
http://www.abc123.com/?cid=trackingcode1

以下代码将s.campaign设置为等于“trackingcode1”:
s.campaign=s.getQueryParam('cid');

示例#2

如果当前URL为:
http://www.abc123.com/?cid=trackingcode1&ecid=123456

以下代码将s.campaign设置为等于“trackingcode1:123456”:
s.campaign=s.getQueryParam('cid,ecid',':');

示例#3

如果当前URL为:
http://www.abc123.com/?cid=trackingcode1&ecid=123456

以下代码将s.campaign设置为等于“trackingcode1123456”:
s.campaign=s.getQueryParam('cid,ecid');

示例#4

如果当前URL为:
http://www.abc123.com/?cid=trackingcode1&ecid=123456#location

以下代码将s.campaign设置为等于“123456”:
s.campaign=s.getQueryParam('ecid');

示例#5

如果当前URL为:
http://www.abc123.com/#location&cid=trackingcode1&ecid=123456

以下代码将s.campaign设置为等于“123456”
s.campaign=s.getQueryParam('ecid');

注意: 如果问号不存在,该插件会用问号替换Check的哈希字符的URL。 如果URL包含哈希字符前面的问号,则插件会将URL替换为“检查的哈希字符”的和号;

示例#6

如果当前URL为以下URL...
http://www.abc123.com/

...如果按如下方式设置变量s.testURL:
s.testURL="http://www.abc123.com/?cid=trackingcode1&ecid=123456#location&pos=300";

以下代码根本不会设置s.campaign:
s.campaign=s.getQueryParam('cid');

但是,以下代码将s.campaign设置为等于“trackingcode1”:
s.campaign=s.getQueryParam('cid','',s.testURL);

注意: 第三个参数可以是代码将用来尝试在
以下代码将s.eVar2设置为等于“123456|trackingcode1|true|300”:
s.eVar2=s.getQueryParam('ecid,cid,location,pos','|',s.testURL);

  • 值123456来自s.testURL变量中的ecid参数
  • trackingcode1的值来自s.testURL变量中的cid参数
  • true的值来自s.testURL变量中散列字符后的位置参数的存在(但非值)
值300来自s.testURL变量中pos参数的值

版本历史

3.3(2019年9月24日)

  • 绕过不必要的逻辑以减小代码大小

3.2(2018年5月15日)

  • findParameterValue getParameterValue 函数移入函 getQueryParam

3.1(2018年5月10日)

  • 修复了捕获无值查询字符串参数的问题

3.0(2018年4月16日)

  • 点发行版(重新编译后,代码尺寸更小)。
  • 为了可读性,将帮助 findParameterValue 程序函 getParameterValue 数重命名为和。
  • 删除了添加参数以查找URL哈希中包含的参数的需求

2.5(2016年1月8日)

  • 与H代码和AppMeasurement兼容(需要与AppMeasurement s.pt 一起使用)。

2.4

  • 添加了 h 参数,允许代码查找在哈希()字符后找到的查询字符串 # 参数

2.3

  • 修复了一个回归问题,该问题导致插件仅在跟踪代码后存在哈希时才起作用

2.2

  • 现在从返回值中删除哈希字符(以及之后的所有内容)

2.1

  • 与H.10代码兼容