Adobe 外掛程式:getAndPersistValue
getAndPersistValue
外掛程式可讓您將值儲存在 Cookie 中,以便稍後造訪時擷取。其作用與Adobe Experience Platform資料收集中Adobe Analytics擴充功能的儲存期間功能類似。 設定 Analytics 變數後,如果您想在後續的點擊中自動讓該變數保留相同的值,Adobe 建議您使用此外掛程式。 如果Analytics擴充功能中的儲存持續時間功能已足夠,就不需要此外掛程式。 如果您不需要在後續的點擊中設定及保留相同值的變數,也不需要使用此外掛程式。 eVar 的內建永續性不需要使用此外掛程式,因為 eVar 是由 Adobe 保存在伺服器端。
使用Web SDK擴充功能安裝外掛程式
Adobe提供擴充功能,可讓您搭配Web SDK使用最常用的外掛程式。
-
使用您的 AdobeID 認證登入 Adobe Experience Platform 資料彙集。
-
按一下左側的 標籤,然後按一下所需的標籤屬性。
-
按一下左側的 擴充功能,然後按一下 目錄 標籤
-
尋找並安裝 常用Web SDK外掛程式 擴充功能。
-
按一下左側的 資料元素,然後按一下所需的資料元素。
-
使用下列設定來設定所需的資料元素名稱:
- 擴充功能:常見Web SDK外掛程式
- 資料元素:
getAndPersistValue
-
在右側設定所要的引數。
-
儲存並發佈資料元素的變更。
手動實作Web SDK安裝外掛程式
此外掛程式尚不支援在Web SDK的手動實作中使用。
使用Adobe Analytics擴充功能安裝外掛程式
Adobe提供擴充功能,可讓您搭配Adobe Analytics使用最常用的外掛程式。
-
使用您的 AdobeID 認證登入 Adobe Experience Platform 資料彙集。
-
按一下所需的標籤屬性。
-
前往擴充功能標記,然後按一下「目錄」按鈕
-
安裝並發佈常用 Analytics 外掛程式擴充功能
-
如果您尚未執行上述步驟,請使用下列設定建立標示為「初始化外掛程式」的規則:
- 條件:無
- 事件:核心 - 已載入資料庫 (頁面頂端)
-
使用下列設定將動作新增至上述規則:
- 擴充功能:常用 Analytics 外掛程式
- 動作類型:初始化 getAndPersistValue
-
儲存並發佈規則的變更。
使用自訂程式碼編輯器安裝外掛程式
如果您不想使用常見Analytics外掛程式擴充功能,可以使用自訂程式碼編輯器。
- 使用您的 AdobeID 認證登入 Adobe Experience Platform 資料彙集。
- 按一下所需的屬性。
- 前往擴充功能索引標籤,然後按一下 Adobe Analytics 擴充功能底下的 「設定」 按鈕。
- 展開使用自訂程式碼設定追蹤摺疊式功能表,便會顯示「開啟編輯器」按鈕。
- 開啟自訂程式碼編輯器,並將下方提供的外掛程式程式碼貼入編輯視窗中。
- 儲存並發佈 Analytics 擴充功能的變更。
使用 AppMeasurement 安裝外掛程式
Analytics 追蹤物件實例化 (使用 s_gi
) 後,將下列程式碼複製並貼到 AppMeasurement 檔案中的任何位置。保留您實作中的程式碼備註和版本號碼,有助於 Adobe 疑難排解任何可能問題。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getAndPersistValue v3.0 (Requires AppMeasurement) */
function getAndPersistValue(vtp,cn,ex){var d=vtp,k=cn,l=ex;if("undefined"!==typeof d&&"-v"===d)return{plugin:"getAndPersistValue",version:"3.0"};var a=function(){if("undefined"!==typeof window.s_c_il)for(var c=0,b;c<window.s_c_il.length;c++)if(b=window.s_c_il[c],b._c&&"s_c"===b._c)return b}();"undefined"!==typeof a&&(a.contextData.getAndPersistValue="3.0");window.cookieWrite=window.cookieWrite||function(c,b,f){if("string"===typeof c){var h=window.location.hostname,a=window.location.hostname.split(".").length-1;if(h&&!/^[0-9.]+$/.test(h)){a=2<a?a:2;var e=h.lastIndexOf(".");if(0<=e){for(;0<=e&&1<a;)e=h.lastIndexOf(".",e-1),a--;e=0<e?h.substring(e):h}}g=e;b="undefined"!==typeof b?""+b:"";if(f||""===b)if(""===b&&(f=-60),"number"===typeof f){var d=new Date;d.setTime(d.getTime()+6E4*f)}else d=f;return c&&(document.cookie=encodeURIComponent(c)+"="+encodeURIComponent(b)+"; path=/;"+(f?" expires="+d.toUTCString()+";":"")+(g?" domain="+g+";":""),"undefined"!==typeof cookieRead)?cookieRead(c)===b:!1}};window.cookieRead=window.cookieRead||function(c){if("string"===typeof c)c=encodeURIComponent(c);else return"";var b=" "+document.cookie,a=b.indexOf(" "+c+"="),d=0>a?a:b.indexOf(";",a);return(c=0>a?"":decodeURIComponent(b.substring(a+2+c.length,0>d?b.length:d)))?c:""};a=new Date;k=k?k:"s_gapv";(l=l?l:0)?a.setTime(a.getTime()+864E5*l):a.setTime(a.getTime()+18E5);"undefined"!==typeof d&&d||(d=cookieRead(k));cookieWrite(k,d,a);return d};
/******************************************** END CODE TO DEPLOY ********************************************/
使用外掛程式
getAndPersist
函數會使用以下引數:
vtp
(必要):要在頁面之間保留的值cn
(選用):要儲存值的 Cookie 名稱。如果此引數未設定,系統會將 Cookie 命名為"s_gapv"
ex
(選用):Cookie 過期的天數。如果此引數為0
或未設定,Cookie 會在造訪結束時過期 (閒置 30 分鐘)。
如果 vtp
引數中的變數已設定,外掛程式會設定 Cookie,然後傳回 Cookie 值。如果 vtp
引數中的變數未設定,外掛程式只會傳回 Cookie 值。
範例
// Sets eVar21 to "raccoon", and sets the ev21gapv cookie to "raccoon" (which expires in 28 days).
s.eVar21 = "raccoon";
s.eVar21 = getAndPersistValue(s.eVar21,"ev21gapv",28);
// Checks the "ev21gapv" cookie for a value and assigns it to eVar21. It does not set a cookie value or reset an existing cookie's expiration since the value is not set on the page.
// If there is a cookie, assigns eVar21 to that value. Otherwise, eVar21 is blank.
s.eVar21 = getAndPersistValue(s.eVar21,"ev21gapv",28);
// Checks the "ev21gapv" cookie for a value and assigns it to prop35. It does not set a cookie value or reset an existing cookie's expiration since eVar21 is not set on the page.
s.prop35 = getAndPersistValue(s.eVar21,"ev21gapv",28);
// Sets eVar21 to "panda", and sets the ev21gapv cookie to "panda" (which expires in 14 days). It then sets prop35 to the value contained in the ev21gapv cookie.
// Ultimately both eVar21 and prop35 contain the value "panda".
s.eVar21 = "panda";
s.prop35 = getAndPersistValue(s.eVar21,"ev21gapv",14);
// Sets eVar30 to "shopping", and sets the s_gapv cookie to "shopping" (which expires at the end of the browser session).
s.eVar30 = "shopping";
s.eVar30 = getAndPersistValue(s.eVar30);
版本記錄
3.0 (2021 年 3 月 19 日)
- 將版本編號加入為內容資料。
2.0 (2018 年 4 月 16 日)
- 單點發行 (程式碼大小較小)
- 將 0 傳入
ex
引數現在會強迫在閒置 30 分鐘後過期,而不是在瀏覽器工作階段結束後過期。
1.0 (2016 年 1 月 18 日)
- 首次發行。