找出並解決您線上店面的工作階段 cookie 輪換問題

Cookie 輪換代表您線上店面的某個元素在單次訪問期間重新產生工作階段 cookie。每個新值都會計算為獨立的工作階段,因此商店記錄的工作階段數量會高於實際發生的數量,而由於工作階段是轉換率的分母,這會導致您的轉換率被低估。您的訂單、銷售和顧客數量則不受影響。

Shopify 會使用名為 _shopify_s 的 cookie 來識別您商店中的瀏覽器工作階段,且 Shopify Analytics 會使用該 cookie 將訪客的活動分組到工作階段中。工作階段也有預期的邊界 (例如閒置狀態和 UTC 午夜),比較工作階段和訪客中有涵蓋這類資訊。

您可以檢查您的瀏覽器以判斷線上店面中的 cookie 是否發生輪換、找出成因,然後驗證修復措施。輪換源自於您線上店面本身的程式碼或 app,因此您必須在線上店面中解決此問題,而且某些檢查需要存取您的佈景主題程式碼。

需求

若要完成此頁面上的檢查,您需要下列工具:

  • 具備開發人員工具的電腦版瀏覽器,例如 Chrome、Edge、Firefox 或 Safari。
  • 可存取線上店面的佈景主題程式碼、自訂指令碼或 app 設定。
  • 可存取您的同意聲明管理平台設定 (如果您的商店有使用的話)。

Shopify 工作階段 cookie 的運作方式

下列 cookie 會記錄您線上店面的訪客活動:

記錄線上店面訪客活動的 Shopify cookie 及其各自的持續時間。
Cookie說明
_shopify_s識別瀏覽器工作階段和商店的組合。從上次使用起算,有 30 分鐘的滾動到期時間。
_shopify_y支援 Shopify Analytics。1 年後到期。

在訪客瀏覽器中設定工作階段 cookie 時,其會保留 1a2b3c4d-1a2b-3c4d-1a2b-3c4d5e6f7a8b 等唯一值。工作階段到期並開始新的工作階段時,cookie 會變更為另一個唯一值,例如 5e6f7a8b-5e6f-7a8b-5e6f-7a8b9c0d1e2f

由於 _shopify_s 具備滾動到期機制,訪客的每項動作都會重新整理此 cookie。在沒有輪換的線上店面中,該值在整個訪問期間會保持不變,並且僅在閒置 30 分鐘後才會到期。如果該值在訪問中途發生變更,變更前後的活動將計算為 2 個獨立的工作階段。

您可以使用瀏覽器執行 cookie 輪換檢查。您無法透過分析報告診斷 cookie 輪換問題,因為報告僅顯示工作階段總數,而非每個工作階段建立的原因。請在無痕或私密瀏覽視窗中完成檢查,以免現有的 cookie 和瀏覽器擴充功能影響結果。

您執行檢查的地點非常重要。您的同意聲明橫幅僅會在商店設定的地區顯示,而大多數的輪換發生在同意聲明流程中,因此在沒有橫幅的地區執行檢查可能會完全漏掉此問題。請確認您的商店在哪些地區要求同意聲明,然後從其中一個地區執行檢查。如果您無法親自從該地區瀏覽,請請能這麼做的同事或開發人員協助。若要檢查您的商店在哪些地區要求同意聲明,請參閱管理 cookie 橫幅

若要確認 cookie 行為,請在每個同意聲明狀態下對線上店面執行檢查:

  • 不回覆橫幅
  • 同意 cookie 後
  • 拒絕同意聲明後

步驟:

  1. 在無痕或私密瀏覽視窗中開啟您的線上店面。確認您正使用適當的地區進行檢查,並已決定要檢查的同意聲明狀態。
  2. 開啟瀏覽器的開發人員工具。
  3. 在瀏覽器的開發人員工具中開啟 Cookie 面板:
    • 在 Chrome 中,前往「應用程式」>「儲存空間」>「Cookie」。
    • 在 Firefox 中,前往「儲存空間」>「Cookie」。
    • 在 Safari 中,請先在「設定」>「進階」>「顯示網頁開發人員的各項功能」中開啟「開發」選單,然後前往「開發」>「顯示網頁檢閱器」>「儲存空間」>「Cookie」。
    • 針對其他瀏覽器,請參閱您瀏覽器的支援文件以取得相關步驟。
  4. 選取您的網域。
  5. 在清單中找到 _shopify_s,並記下其值的前幾個字元。如果清單中沒有 _shopify_s,請繼續瀏覽並觀察「Cookie」面板 30 到 60 秒鐘,然後再對 cookie 行為做出結論。
  6. 讓開發人員工具保持開啟,並正常瀏覽您的線上店面,造訪 3 或 4 個頁面 (包含產品頁面和購物車)。
  7. 在造訪每個頁面後檢查 _shopify_s 的值,並在單一頁面上停留 1 分鐘後再次檢查。

根據您的 cookie 同意聲明橫幅活動,cookie 通常會呈現以下行為:

  • 在訪客回覆同意聲明橫幅之前,以及在訪客拒絕之後,cookie 預期會保持不存在的狀態。
  • 在訪客接受同意聲明後預期會出現 cookie,這是唯一必須產生 cookie 的同意聲明狀態。

如果您接受同意聲明後 cookie 仍然不存在,或者如果您的商店沒有在您測試的地區要求同意聲明,就表示線上店面中的某個元素封鎖或刪除了該 cookie。請參閱找出 cookie 輪換的成因並逐步執行操作。

在 cookie 輪換檢查期間,以下行為表示發生了輪換:

  • cookie 值在訪問期間的任何時刻發生變更。
  • 出現又消失的 Cookie。

Shopify 無法偵測觸發 Cookie 輪替的因素,因為該邏輯是在您的線上店面內部執行。Shopify 亦無法將此行為歸因於特定的 app 或廠商。

若要找出 Cookie 輪替的原因,請依序執行下列疑難排解步驟。Liquid 線上店面的多數輪替是由同意聲明處理作業所導致:

  1. 檢閱同意聲明管理平台的行為
  2. 檢閱cookie 橫幅設定
  3. 檢閱線上店面指令碼和邏輯
  4. 檢閱一般 Cookie 儲存空間和行為

如果您的商店使用第三方同意聲明管理 app,請從這裡開始。_shopify_s 在 Shopify 的 Cookie 政策中被歸類為報告和分析 Cookie,而非必要的 Cookie,因此封鎖或清除分析 Cookie 的同意聲明 app 將對其產生影響。

步驟:

  1. 確認您的商店使用哪個同意聲明管理 app。
  2. 在 app 的設定中,找出 _shopify_s 的分類方式,以及該 app 如何處理該類別中的 Cookie。
  3. 檢查該 app 是否會在每次頁面載入時清除並重新建立 Cookie,而不是僅根據訪客的選擇執行一次動作。

若要解決此問題,請與 app 開發人員合作,讓該 app 透過 Customer Privacy API 向 Shopify 報告每位訪客的同意聲明選擇,而不是在每次載入頁面時清除並重新建立分析 Cookie。請勿降低 app 強制執行訪客選擇的頻率,因為拒絕的選擇必須在整個訪問期間持續套用。如需建議的設定,請參閱使用第三方 cookie 橫幅 app 設定 cookie 橫幅

修正從未向 Shopify 報告訪客選擇的同意聲明工具,其改變的不只是活動歸類為工作階段的方式。修正後,系統將套用先前未報告的選擇,因此不再向拒絕的訪客收集非必要資料,您的工作階段計數可能會因此下降。

在您的商店要求同意聲明的地區,Shopify 在訪客接受前不會設定分析 Cookie。在這些地區以外,cookie 橫幅預設為不啟用,因此在與橫幅進行任何互動前,穩定的 _shopify_s 是預期行為。若要確認您的商店在哪個地區要求同意聲明,請參閱管理您的 cookie 橫幅

若需要提供同意聲明,輪替會發生在訪客做出決定前的這段期間。同意聲明工具不會放任 Cookie 不管,而是重複清除並重新建立 Cookie,每個循環都會記錄為一個新的工作階段。

步驟:

  1. 在私密瀏覽視窗中開啟您的線上店面,而且不要回覆同意聲明橫幅。
  2. 觀察瀏覽器「Cookie」面板中的 _shopify_s 30 到 60 秒。
  3. 在橫幅仍未獲回覆的期間,檢查數值是否重複變更,或是 Cookie 是否反覆消失又出現。
  4. 回覆橫幅,然後檢查該行為是否停止。

若要解決此問題,請確認您的商店設定在哪個地區要求同意聲明,並確保橫幅透過 Customer Privacy API 向 Shopify 報告每位訪客的選擇,而不是在橫幅開啟時清除並重新建立 Cookie。如果該訪客的分析功能遭到封鎖而 Cookie 仍然出現,就代表是同意聲明工具以外的其他項目寫入 Cookie 的,因此請完成此頁面上其餘範圍的疑難排解作業。

線上店面指令碼和邏輯

並非所有輪替都是由同意聲明處理作業引起的。在一般訪問期間,刪除、封鎖、輪替或重新產生 _shopify_s 的任何指令碼或線上店面邏輯,都會造成輪替。例如,cart.js 大約每 10 秒遭到呼叫一次,而 Cookie 數值也會同步重新產生。另一個例子是輪替可追溯至網域錯誤分類,而這與同意聲明工具無關。

步驟:

  1. 在開發人員工具中開啟「網路」(Network) 分頁,然後選取「保留日誌」(Preserve log)。
  2. 停留在一個頁面上 60 秒,不進行任何互動。
  3. 觀察「Cookie」面板中的 _shopify_s 數值,並檢查是否有任何要求在短週期內重複,尤其是 cart.js
  4. 每次數值變更時,請記下變更前一刻執行的要求或指令碼。重複發生但未變更數值的要求並不是發生此問題的原因。
  5. 在您的佈景主題程式碼、自訂指令碼及代碼管理工具容器中搜尋 document.cookie_shopify_s
  6. 確認您的線上店面是從單一標準網域提供服務。在「Cookie」面板中,檢查 _shopify_s 是否在不同網域下顯示一次以上。
  7. 檢閱最近安裝的 app 和近期對佈景主題進行的變更。如果此行為是最近才開始出現,請將其與這些變更建立關聯。

若要解決此問題,請修正寫入 Cookie 的程式碼,並確定在分析作業執行之前,重新導向可解析為一個標準主機名稱。只有在您確認重複執行的要求會變更 _shopify_s 數值後,才可調節或移除該要求,因為購物車、庫存和聊天功能可以在不更動 Cookie 的情況下合法進行輪詢。

修正會重寫 Cookie 的指令碼、app 或網域只會變更現有訪客活動歸類為工作階段的方式。系統收集的資料不會改變。

目前尚未直接將輪替追溯至 Cookie 屬性,但在釐清其他範圍的問題後,值得將其排除。

步驟:

  1. 在「Cookie」面板中,檢閱 _shopify_s網域 (Domain)、路徑 (Path)、過期時間 (Expires) 和 SameSite 數值,而不只看它的值。
  2. 確認沒有任何項目以較短的使用壽命,或是比 Shopify 設定更窄的路徑來覆寫 Cookie。

若要解決此問題,請移除覆寫 Cookie 屬性的程式碼或 app 設定。

驗證修正項目

請透過檢查 Cookie 來確認修正結果,而不是檢查您的「分析」(Analytics) 報告。若 _shopify_s 的值在整次訪問期間保持穩定,即代表修正已生效。在修正前記錄的工作階段資料不會重新處理,因此您的歷史報告會繼續顯示膨脹的工作階段數。

在新的無痕或私密瀏覽視窗中,重複檢查工作階段 Cookie 是否發生輪替的步驟,並確認下列結果:

解決工作階段 Cookie 輪替後要重複執行的檢查作業,其中包含確認修正生效的結果。
檢查預期結果
瀏覽 3 到 4 個頁面,不要回覆同意聲明橫幅。_shopify_s 未設定,或保持穩定的數值。
接受同意聲明後重複這項檢查。_shopify_s 保持穩定的數值。
拒絕同意聲明後重複這項檢查。_shopify_s 未設定,或保持穩定的數值。
從產品頁面移至購物車,然後回到瀏覽狀態。_shopify_s 的值持續存在。
停留在同一個頁面上 60 秒,並觀察 Network 分頁。沒有任何重複的要求會變更 _shopify_s 值。

持續發生輪替情況時的後續步驟

輪替情況是由 Shopify 無法控制的程式碼或設定所引起,因此應由維護該程式碼的人員負責修復。若您已確認過本頁面的所有相關區域,而 _shopify_s 仍持續輪替,請聯絡負責方:

  • 若是同意管理平台或其他 app,請透過 Shopify App Store 中的 app 產品資訊聯絡 app 開發人員。
  • 若是自訂佈景主題程式碼、自訂指令碼或代碼管理工具容器,請聯絡維護這些項目的開發人員或代理商。

請提供下列詳細資訊,以便對方重現該行為:

  • 您測試的同意狀態,以及各狀態下發生的情況。
  • 您記錄的 _shopify_s 值,以及每次變更前的頁面或動作。
  • 會變更該值的任何重複要求,以及啟動該要求的指令碼。
  • 您已進行的變更。