Adobe 外掛程式:getQueryParam

重要

此外掛程式由 Adobe Consulting 提供,協助您從 Adobe Analytics 中獲得更多價值。Adobe 客戶服務不提供此外掛程式的支援,包括安裝或疑難排解在內。如果您需要與此外掛程式有關的協助,請聯絡貴組織的客戶經理。客戶經理可安排您與顧問會面以尋求協助。

getQueryParam 外掛程式讓您可擷取 URL 中所含任何查詢字串參數的值。如需從登陸頁面 URL 擷取內部和外部促銷活動程式碼,此外掛程式非常有用。擷取搜尋詞或其他查詢字串參數時,它也很有用。

此外掛程式提供完善的功能,可剖析複雜的 URL,包括雜湊和包含多個查詢字串參數的 URL。如果您的查詢字串參數需求很簡單,則Adobe建議您使用URL參數功能,使用Web SDK、Adobe Analytics擴充功能或 Util.getQueryParam() 方法。

使用自訂程式碼編輯器安裝外掛程式

如果您不想使用外掛程式擴充功能,可以使用自訂程式碼編輯器。

  1. 使用您的 AdobeID 認證登入 Adobe Experience Platform 資料彙集
  2. 按一下所需的屬性。
  3. 前往擴充功能索引標籤,然後按一下 Adobe Analytics 擴充功能底下的​「設定」​按鈕。
  4. 展開使用自訂程式碼設定追蹤摺疊式功能表,便會顯示「開啟編輯器」按鈕。
  5. 開啟自訂程式碼編輯器,並將下方提供的外掛程式程式碼貼入編輯視窗中。
  6. 儲存並發佈 Analytics 擴充功能的變更。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getQueryParam v4.0.1  */
function getQueryParam(a,d,f){function n(g,c){c=c.split("?").join("&");c=c.split("#").join("&");var e=c.indexOf("&");if(g&&(-1<e||c.indexOf("=")>e)){e=c.substring(e+1);e=e.split("&");for(var h=0,p=e.length;h<p;h++){var l=e[h].split("="),q=l[1];if(l[0].toLowerCase()===g.toLowerCase())return decodeURIComponent(q||!0)}}return""}if("-v"===a)return{plugin:"getQueryParam",version:"4.0.1"};var b=function(){if("undefined"!==typeof window.s_c_il)for(var g=0,c;g<window.s_c_il.length;g++)if(c=window.s_c_il[g],c._c&&"s_c"===c._c)return c}();"undefined"!==typeof b&&(b.contextData.getQueryParam="4.0");if(a){d=d||"";f=(f||"undefined"!==typeof b&&b.pageURL||location.href)+"";(4<d.length||-1<d.indexOf("="))&&f&&4>f.length&&(b=d,d=f,f=b);b="";for(var m=a.split(","),r=m.length,k=0;k<r;k++)a=n(m[k],f),"string"===typeof a?(a=-1<a.indexOf("#")?a.substring(0,a.indexOf("#")):a,b+=b?d+a:a):b=""===b?a:b+(d+a);return b}};
/******************************************** END CODE TO DEPLOY ********************************************/

使用外掛程式

getQueryParam 函數會使用以下引數:

  • qsp (必要):要在 URL 中尋找的查詢字串參數清單 (以逗號分隔)。不區分大小寫。
  • de (選用):有多個查詢字串參數相符時要使用的分隔字元。預設為空字串。
  • url (選用):自訂 URL、字串或變數,系統會從其中擷取查詢字串參數值。預設為 window.location

若呼叫此函數,系統會根據上述引數和 URL 傳回值:

  • 如果找不到相符的查詢字串參數,此函數會傳回空白字串。
  • 如果找到相符的查詢字串參數,此函數會傳回查詢字串參數值。
  • 如果找到相符的查詢字串參數但值為空白,此函數會傳回 true
  • 如果找到多個相符的查詢字串參數,此函數會傳回一個字串,其中每個參數值都由 de 引數中的字串分隔開。

範例

// Given the URL https://example.com/?cid=trackingcode
// Sets the campaign variable to "trackingcode"
s.campaign = getQueryParam('cid');

// Given the URL https://example.com/?cid=trackingcode&ecid=123
// Sets the campaign variable to "trackingcode:123"
s.campaign = getQueryParam('cid,ecid',':');

// Given the URL https://example.com/?cid=trackingcode&ecid=123
// Sets the campaign variable to "trackingcode123"
s.campaign = getQueryParam('cid,ecid');

// Given the URL https://example.com/?cid=trackingcode&ecid=123#location
// Sets the campaign variable to "123"
s.campaign = getQueryParam('ecid');

// Given the URL https://example.com/#location&cid=trackingcode&ecid=123
// Sets the campaign variable to "123"
// The plug-in replaces the URL's hash character with a question mark if a question mark doesn't exist.
s.campaign = getQueryParam('ecid');

// Given the URL https://example.com
// Does not set the campaign variable to a value.
s.pageURL = "https://example.com/?cid=trackingcode";
s.campaign = getQueryParam('cid');

// Given the URL https://example.com
// Sets the campaign variable to "trackingcode"
s.pageURL = "https://example.com/?cid=trackingcode";
s.campaign = getQueryParam('cid','',s.pageURL);

// Given the URL https://example.com
// Sets eVar2 to "123|trackingcode|true|300"
s.eVar1 = "https://example.com/?cid=trackingcode&ecid=123#location&pos=300";
s.eVar2 = getQueryParam('ecid,cid,location,pos','|',s.eVar1);

版本記錄

4.0.1 (2021 年 3 月 26 日)

  • 已更新後述情況的問題:如果查詢字串中未顯示查詢參數,則傳回 undefined 而非 ""。

4.0 (2021 年 3 月 19 日)

  • 將版本編號加入為內容資料。
  • 已移除 pt 外掛程式上的相依性。

3.3 (2019 年 9 月 24 日)

  • 略過不必要的邏輯以縮小程式碼大小

3.2 (2018 年 5 月 15 日)

  • findParameterValuegetParameterValue 函數移入 getQueryParam 函數

3.1 (2018 年 5 月 10 日)

  • 修正擷取無值查詢字串參數的問題

3.0 (2018 年 4 月 16 日)

  • 單點發行 (重新編譯,程式碼大小較小)。
  • 為提高可讀性,將協助程式函數重新命名為 findParameterValuegetParameterValue
  • 移除新增引數以尋找 URL 雜湊中所含參數的必要性

2.5 (2016 年 1 月 8 日)

  • 與 H-Code 和 AppMeasurement 相容(需要 s.pt 搭配 AppMeasurement)。

2.4

  • 新增 h 參數,讓程式碼可尋找在雜湊 (#) 字元後發現的查詢字串參數

2.3

  • 修正外掛程式只有在追蹤代碼之後出現雜湊時才運作的回歸問題

2.2

  • 現在會從傳回值中移除雜湊字元 (以及之後的所有內容)

2.1

  • 與 H.10 程式碼相容

本頁內容