अपने स्टोरफ़्रंट पर सेशन कुकी रोटेशन की पहचान करना और उसे ठीक करना
कुकी रोटेशन का मतलब है कि आपके स्टोरफ़्रंट पर कोई चीज़ एक ही विज़िट के दौरान सेशन कुकी को फिर से जनरेट कर रही है। हर नई वैल्यू को एक अलग सेशन के रूप में गिना जाता है, इसलिए आपका स्टोर वास्तव में हुए सेशन से ज़्यादा सेशन रिकॉर्ड करता है, और क्योंकि सेशन आपके कन्वर्ज़न रेट का आधार होते हैं, इसलिए आपका कन्वर्ज़न रेट कम दिखाई देता है। आपके ऑर्डर, सेल और ग्राहकों की संख्या पर कोई असर नहीं पड़ता है।
Shopify, आपके स्टोर पर ब्राउज़र सेशन की पहचान करने के लिए _shopify_s नामक कुकी का उपयोग करता है और Shopify Analytics, उस कुकी का उपयोग करके किसी विज़िटर की एक्टिविटी को सेशन में ग्रुप करता है। सेशन की कुछ संभावित सीमाएं भी होती हैं, जैसे इनएक्टिविटी (निष्क्रियता) और मध्यरात्रि UTC, जिन्हें सेशन और विज़िटर की तुलना करने में कवर किया गया है।
आप अपने ब्राउज़र को चेक करके यह पता लगा सकते हैं कि क्या आपके स्टोरफ़्रंट पर कुकी रोटेट हो रही है, इसका कारण क्या है, और फिर समाधान को वेरिफ़ाई कर सकते हैं। रोटेशन, आपके स्टोरफ़्रंट के अपने कोड या ऐप से होता है, इसलिए आप इसे अपने स्टोरफ़्रंट पर ही ठीक करते हैं और कुछ चेक के लिए आपको अपने थीम कोड के एक्सेस की आवश्यकता होती है।
इस पेज पर
ज़रूरी शर्तें
इस पेज पर दिए गए चेक पूरे करने के लिए, आपको निम्नलिखित टूल की ज़रूरत होगी:
- डेवलपर टूल वाला डेस्कटॉप ब्राउज़र, जैसे Chrome, Edge, Firefox या Safari।
- आपके स्टोरफ़्रंट के थीम कोड, कस्टम स्क्रिप्ट या ऐप कॉन्फ़िगरेशन का एक्सेस।
- आपके सहमति (consent) मैनेजमेंट प्लेटफ़ॉर्म की सेटिंग का एक्सेस, अगर आपका स्टोर किसी प्लेटफ़ॉर्म का उपयोग करता है।
Shopify सेशन कुकी कैसे काम करती हैं
निम्नलिखित कुकी, आपके स्टोरफ़्रंट पर विज़िटर की एक्टिविटी को रिकॉर्ड करती हैं:
| कुकी | जानकारी |
|---|---|
_shopify_s | ब्राउज़र सेशन और शॉप के कॉम्बिनेशन की पहचान करती है। इसके अंतिम उपयोग के बाद से इसमें 30-मिनट की रोलिंग एक्सपायरी (समयसीमा खत्म होना) होती है। |
_shopify_y | Shopify Analytics को सपोर्ट करती है। 1 वर्ष के बाद समयसीमा खत्म हो जाती है। |
जब किसी विज़िटर के ब्राउज़र में सेशन कुकी सेट की जाती है, तो इसमें एक खास वैल्यू होती है, जैसे 1a2b3c4d-1a2b-3c4d-1a2b-3c4d5e6f7a8b। जब किसी सेशन की समयसीमा खत्म हो जाती है और नया सेशन शुरू होता है, तो कुकी बदलकर दूसरी खास वैल्यू ले लेती है, जैसे 5e6f7a8b-5e6f-7a8b-5e6f-7a8b9c0d1e2f।
चूँकि _shopify_s की रोलिंग एक्सपायरी होती है, इसलिए विज़िटर द्वारा की जाने वाली हर कार्रवाई इसे रीफ़्रेश कर देती है। बिना रोटेशन वाले स्टोरफ़्रंट पर, यह वैल्यू पूरी विज़िट के दौरान समान रहती है और केवल 30 मिनट की इनएक्टिविटी (निष्क्रियता) के बाद ही इसकी समयसीमा खत्म होती है। जब किसी विज़िट के बीच में वैल्यू बदल जाती है, तो बदलाव से पहले और बाद की एक्टिविटी को 2 अलग-अलग सेशन के रूप में गिना जाता है।
चेक करें कि सेशन कुकी रोटेट हो रही है या नहीं
आप अपने ब्राउज़र का उपयोग करके कुकी रोटेशन चेक कर सकते हैं। आप अपनी Analytics रिपोर्ट से कुकी रोटेशन का पता नहीं लगा सकते हैं, क्योंकि वे सेशन का कुल योग (टोटल) दिखाती हैं, न कि प्रत्येक सेशन के बनाए जाने का कारण। इस चेक को किसी प्राइवेट या इंकॉग्निटो (incognito) ब्राउज़िंग विंडो में पूरा करें, ताकि मौजूदा कुकी और ब्राउज़र एक्सटेंशन परिणाम को प्रभावित न करें।
आप यह चेक कहाँ करते हैं, यह मायने रखता है। आपका सहमति लेने के लिए बैनर केवल उन्हीं क्षेत्रों में प्रदर्शित होता है, जिनके लिए आपका स्टोर कॉन्फ़िगर किया गया है और अधिकांश रोटेशन, सहमति फ़्लो में होता है, इसलिए बिना बैनर वाले क्षेत्र से किया गया चेक, समस्या को पूरी तरह से नज़रअंदाज़ कर सकता है। कन्फ़र्म करें कि आपका स्टोर किन क्षेत्रों में सहमति मांगता है और फिर उनमें से किसी एक क्षेत्र से चेक करें। अगर आप खुद उस क्षेत्र से ब्राउज़ नहीं कर सकते हैं, तो अपने किसी सहकर्मी या डेवलपर से कहें जो ऐसा कर सके। यह चेक करने के लिए कि आपका स्टोर किन क्षेत्रों में सहमति मांगता है, अपना कुकी बैनर मैनेज करने का संदर्भ लें।
कुकी के व्यवहार को कन्फ़र्म करने के लिए, हर सहमति (consent) स्थिति में अपने स्टोरफ़्रंट पर चेक रन करें:
- बैनर का जवाब दिए बिना
- कुकी के लिए सहमति देने के बाद
- सहमति अस्वीकार करने के बाद
चरण:
- किसी प्राइवेट या इंकॉग्निटो ब्राउज़िंग विंडो में अपना स्टोरफ़्रंट खोलें। कन्फ़र्म करें कि आप किसी उपयुक्त क्षेत्र का उपयोग करके चेक कर रहे हैं और आपने तय कर लिया है कि आप किस सहमति स्थिति को चेक करना चाहते हैं।
- अपने ब्राउज़र का डेवलपर टूल खोलें।
- अपने ब्राउज़र के डेवलपर टूल में कुकी पैनल खोलें:
- Chrome में, Application > Storage > Cookies पर जाएं।
- Firefox में, Storage > Cookies पर जाएं।
- Safari में, पहले Settings > Advanced > Show features for web developers में Develop मेनू चालू करें, और फिर Develop > Show Web Inspector > Storage > Cookies पर जाएं।
- अन्य ब्राउज़र के चरणों के लिए, अपने ब्राउज़र के सहायता से जुड़े दस्तावेज़ का संदर्भ लें।
- अपना डोमेन चुनें।
- सूची में
_shopify_sढूंढें और इसकी वैल्यू के पहले कुछ वर्ण (characters) नोट कर लें। अगर_shopify_sसूची में नहीं है, तो कुकी के व्यवहार के बारे में कोई निष्कर्ष निकालने से पहले ब्राउज़ करना जारी रखें और 30 से 60 सेकंड तक Cookies पैनल को देखते रहें। - डेवलपर टूल को खुला छोड़ते हुए, अपने स्टोरफ़्रंट को सामान्य रूप से ब्राउज़ करें और प्रोडक्ट पेज तथा कार्ट सहित 3 या 4 पेज पर जाएं।
- हर पेज के बाद, और फिर किसी एक ही पेज पर 1 मिनट तक रहने के बाद
_shopify_sकी वैल्यू चेक करें।
आपके कुकी सहमति बैनर की एक्टिविटी के आधार पर, कुकी आमतौर पर निम्नलिखित तरीकों से व्यवहार करती हैं:
- विज़िटर द्वारा सहमति बैनर का जवाब देने से पहले और विज़िटर के अस्वीकार करने के बाद, कुकी का मौजूद न होना सामान्य (expected) है।
- विज़िटर द्वारा सहमति स्वीकार करने के बाद कुकी का मौजूद होना सामान्य है, जो कि एकमात्र सहमति स्थिति है जिसमें कुकी जनरेट होनी चाहिए।
यदि आपके सहमति स्वीकार करने के बाद भी कुकी मौजूद नहीं है, या यदि आपका स्टोर उस क्षेत्र में सहमति नहीं मांगता है जहाँ से आप टेस्टिंग कर रहे हैं, तो आपके स्टोरफ़्रंट पर कोई चीज़ इसे ब्लॉक कर रही है या हटा रही है। कुकी रोटेशन के कारण की पहचान करने की प्रक्रिया का पालन करें।
कुकी रोटेशन चेक के दौरान, निम्नलिखित व्यवहार रोटेशन का संकेत देता है:
- कुकी की वैल्यू, जो विज़िट के दौरान किसी भी समय बदल जाती है।
- एक कुकी जो दिखाई देती है और गायब हो जाती है।
कुकी रोटेशन के कारण की पहचान करें
Shopify यह पता नहीं लगा सकता है कि कुकी रोटेशन किस कारण से हो रहा है, क्योंकि वह लॉजिक आपके स्टोरफ़्रंट के अंदर चलता है। साथ ही, Shopify इस व्यवहार के लिए किसी विशिष्ट ऐप या वेंडर को ज़िम्मेदार नहीं ठहरा सकता है।
कुकी रोटेशन का कारण पहचानने के लिए, क्रम से समस्या हल करने वाले इन क्षेत्रों पर काम करें। Liquid स्टोरफ़्रंट पर अधिकांश रोटेशन, सहमति हैंडलिंग (consent handling) के कारण होता है:
- अपने सहमति प्रबंधन प्लैटफ़ॉर्म के व्यवहार की समीक्षा करें।
- अपने कुकी बैनर कॉन्फ़िगरेशन की समीक्षा करें।
- अपने स्टोरफ़्रंट स्क्रिप्ट और लॉजिक की समीक्षा करें।
- सामान्य कुकी स्टोरेज और व्यवहार की समीक्षा करें।
सहमति प्रबंधन प्लैटफ़ॉर्म का व्यवहार
अगर आपका स्टोर किसी थर्ड-पार्टी सहमति प्रबंधन ऐप का उपयोग करता है, तो यहाँ से शुरू करें। Shopify कुकी नीति में _shopify_s को आवश्यक कुकी के रूप में नहीं, बल्कि एक रिपोर्टिंग और एनालिटिक्स कुकी के रूप में श्रेणीबद्ध किया गया है। इसलिए, एनालिटिक्स कुकी को ब्लॉक करने वाला या हटाने वाला सहमति ऐप, इस पर कार्रवाई करता है।
चरण:
- पहचानें कि आपका स्टोर किस सहमति प्रबंधन ऐप का उपयोग करता है।
- ऐप की सेटिंग में, देखें कि
_shopify_sको किस प्रकार श्रेणीबद्ध किया गया है, और उस श्रेणी में मौजूद कुकी के साथ ऐप क्या करता है। - जाँच करें कि क्या ऐप विज़िटर की पसंद पर एक बार कार्रवाई करने के बजाय, हर बार पेज लोड होने पर कुकी हटाता है और उन्हें फिर से बनाता है।
इसे हल करने के लिए, ऐप के डेवलपर के साथ मिलकर काम करें ताकि ऐप हर बार पेज लोड होने पर एनालिटिक्स कुकी को हटाने और फिर से बनाने के बजाय, Customer Privacy API के माध्यम से हर विज़िटर की सहमति का विकल्प Shopify को रिपोर्ट करे। ऐप द्वारा विज़िटर की पसंद लागू करने की संख्या कम न करें, क्योंकि अस्वीकार की गई पसंद को पूरी विज़िट के दौरान लागू रखना ज़रूरी है। सुझाई गई सेटिंग के लिए, थर्ड-पार्टी कुकी बैनर ऐप का उपयोग करके कुकी बैनर कॉन्फ़िगर करना देखें।
ऐसे सहमति टूल को सही करना जो कभी विज़िटर की पसंद को Shopify को रिपोर्ट नहीं करता था, केवल एक्टिविटी को सत्रों में समूहित करने के तरीके को ही नहीं बदलता है। सुधार के बाद, जो पसंद पहले रिपोर्ट नहीं की गई थीं वे लागू हो जाती हैं, जिससे अस्वीकार करने वाले विज़िटर का अनावश्यक डेटा इकट्ठा नहीं किया जाता, और परिणामस्वरूप आपके सत्रों की संख्या कम हो सकती है।
कुकी बैनर कॉन्फ़िगरेशन
जिन क्षेत्रों में आपका स्टोर सहमति माँगता है, वहाँ Shopify तब तक एनालिटिक्स कुकी सेट नहीं करता जब तक कि विज़िटर स्वीकार न कर ले। उन क्षेत्रों के बाहर, कुकी बैनर डिफ़ॉल्ट रूप से सक्रिय नहीं होता है, इसलिए बैनर के साथ किसी भी इंटरैक्शन से पहले एक स्थिर _shopify_s अपेक्षित व्यवहार है। यह जाँचने के लिए कि आपका स्टोर किन क्षेत्रों में सहमति माँगता है, अपना कुकी बैनर प्रबंधित करना देखें।
जहाँ सहमति आवश्यक है, वहाँ रोटेशन उस विंडो में होता है जब तक कि विज़िटर कोई निर्णय नहीं ले लेता। कुकी को वैसे ही छोड़ने के बजाय, सहमति टूल बार-बार इसे हटाता है और फिर से बनाता है, और हर चक्र एक नए सत्र के रूप में दर्ज होता है।
चरण:
- अपने स्टोरफ़्रंट को एक प्राइवेट ब्राउज़िंग विंडो में खोलें, और सहमति बैनर का उत्तर न दें।
- ब्राउज़र के कुकी पैनल में 30 से 60 सेकंड के लिए
_shopify_sको देखें। - जाँच करें कि क्या बैनर का उत्तर न देने के दौरान, मान बार-बार बदल रहा है या कुकी गायब होकर फिर से दिखाई दे रही है।
- बैनर का उत्तर दें, और फिर जाँचें कि क्या यह व्यवहार रुक जाता है।
इसे हल करने के लिए, पुष्टि करें कि आपका स्टोर किन क्षेत्रों में सहमति माँगने के लिए कॉन्फ़िगर किया गया है, और पक्का करें कि बैनर खुले होने पर कुकी हटाने और फिर से बनाने के बजाय, बैनर हर विज़िटर की पसंद Customer Privacy API के माध्यम से Shopify को रिपोर्ट करे। अगर उस विज़िटर के लिए एनालिटिक्स ब्लॉक हैं और कुकी फिर भी वापस आ जाती है, तो इसका मतलब है कि सहमति टूल के अलावा कोई और चीज़ उसे लिख रही है, इसलिए इस पेज के बाकी हिस्सों पर काम करें।
स्टोरफ़्रंट स्क्रिप्ट और लॉजिक
सभी रोटेशन सहमति हैंडलिंग के कारण नहीं होते हैं। सामान्य विज़िट के दौरान _shopify_s को हटाने, ब्लॉक करने, घुमाने (रोटेट) या फिर से बनाने वाला कोई भी स्क्रिप्ट या स्टोरफ़्रंट लॉजिक रोटेशन का कारण बनता है। एक उदाहरण में, cart.js को लगभग हर 10 सेकंड में कॉल किया गया था, और इसके साथ ही कुकी मान फिर से जनरेट हो गए। दूसरे उदाहरण में, रोटेशन का कारण डोमेन का गलत वर्गीकरण था जिसका सहमति टूल से कोई संबंध नहीं था।
चरण:
- डेवलपर टूल में नेटवर्क टैब खोलें, और फिर Preserve log चुनें।
- बिना कोई इंटरैक्शन किए एक पेज पर 60 सेकंड तक रहें।
- कुकी पैनल में
_shopify_sमान देखें, और जाँचें कि क्या कोई अनुरोध छोटी लूप में दोहराया जा रहा है, विशेष रूप सेcart.js। - हर बार जब मान बदलता है, तो नोट करें कि बदलाव से ठीक पहले कौन सा अनुरोध या स्क्रिप्ट चला था। कोई अनुरोध जो मान बदले बिना दोहराया जाता है, वह इसका कारण नहीं है।
- अपने थीम कोड, कस्टम स्क्रिप्ट और टैग मैनेजर कंटेनर में
document.cookieऔर_shopify_sखोजें। - पुष्टि करें कि आपका स्टोरफ़्रंट एक सिंगल कैनोनिकल डोमेन से सर्व करता है। कुकी पैनल में, जाँचें कि क्या
_shopify_sअलग-अलग डोमेन के तहत एक से अधिक बार दिखाई देता है। - हाल ही में इंस्टॉल किए गए ऐप और हाल के थीम बदलावों की समीक्षा करें। अगर यह व्यवहार हाल ही में शुरू हुआ है, तो इसे उन बदलावों से जोड़कर देखें।
इसे हल करने के लिए, उस कोड को सही करें जो कुकी लिखता है, और पक्का करें कि एनालिटिक्स चलने से पहले रीडायरेक्ट एक कैनोनिकल होस्टनेम पर रिज़ॉल्व हों। दोहराए जा रहे अनुरोध को थ्रॉटल करें या तभी हटाएं जब आप पुष्टि कर लें कि यह _shopify_s मान को बदलता है, क्योंकि कार्ट, इन्वेंटरी और चैट जैसी सुविधाएँ कुकी को प्रभावित किए बिना वैध रूप से पोल (poll) कर सकती हैं।
कुकी को फिर से लिखने वाली स्क्रिप्ट, ऐप या डोमेन को सही करने से केवल यह बदलता है कि मौजूदा विज़िटर एक्टिविटी को सत्रों में कैसे समूहित किया जाता है। इकट्ठा किया गया डेटा नहीं बदलता है।
कुकी स्टोरेज और व्यवहार
रोटेशन को सीधे तौर पर कुकी एट्रिब्यूट (गुणों) से नहीं जोड़ा गया है, लेकिन अन्य क्षेत्रों के साफ़ होने के बाद इसे भी खारिज करना उचित है।
चरण:
- कुकी पैनल में,
_shopify_sके लिए Domain, Path, Expires और SameSite मानों की समीक्षा करें, न कि केवल इसके मान की। - पुष्टि करें कि कोई भी चीज़ कुकी को कम जीवनकाल (lifetime), या Shopify द्वारा सेट किए गए पाथ से अधिक संकीर्ण (narrow) पाथ के साथ ओवरराइट न करे।
इसे हल करने के लिए, वह कोड या ऐप सेटिंग हटाएं जो कुकी के एट्रिब्यूट को ओवरराइट करती है।
सुधार की पुष्टि करें
अपनी एनालिटिक्स रिपोर्ट जाँचने के बजाय कुकी का निरीक्षण करके सुधार की पुष्टि करें। एक पूरी विज़िट के दौरान _shopify_s मान का स्थिर रहना इस बात का संकेत है कि सुधार काम कर रहा है। सुधार से पहले रिकॉर्ड किए गए सत्र डेटा को फिर से प्रोसेस नहीं किया जाता है, इसलिए आपकी ऐतिहासिक रिपोर्ट बढ़े हुए सत्रों की संख्या दिखाना जारी रखती हैं।
एक नई प्राइवेट या गुप्त (incognito) ब्राउज़िंग विंडो में यह जाँचने के लिए चरण दोहराएं कि क्या सत्र कुकी रोटेट हो रही है, और निम्नलिखित परिणामों की पुष्टि करें:
| चेक | अपेक्षित परिणाम |
|---|---|
| सहमति बैनर का उत्तर दिए बिना 3 या 4 पेज ब्राउज़ करें। | _shopify_s सेट नहीं है, या एक स्थिर मान रखता है। |
| सहमति स्वीकार करने के बाद यह चेक दोहराएं। | _shopify_s एक स्थिर मान रखता है। |
| सहमति अस्वीकार करने के बाद यह चेक दोहराएं। | _shopify_s सेट नहीं है, या एक स्थिर मान रखता है। |
| प्रोडक्ट पेज से कार्ट पर जाएं, और फिर ब्राउज़िंग पर वापस आएं। | _shopify_s मान बना रहता है। |
| 60 सेकंड के लिए एक पेज पर रहें, और Network टैब देखें। | कोई भी दोहराया जाने वाला अनुरोध _shopify_s की वैल्यू को नहीं बदलता है। |
रोटेशन जारी रहने पर अगले कदम
रोटेशन ऐसे कोड या कॉन्फ़िगरेशन के कारण होता है जिसे Shopify नियंत्रित नहीं करता है, इसलिए इसे ठीक करने की ज़िम्मेदारी उस कोड को मेंटेन करने वाले की होती है। अगर आपने इस पेज पर दिए गए सेक्शन की जाँच कर ली है और _shopify_s अभी भी रोटेट हो रहा है, तो ज़िम्मेदार पक्ष से संपर्क करें:
- किसी कंसेंट मैनेजमेंट प्लेटफ़ॉर्म या किसी अन्य ऐप के लिए, Shopify App Store में ऐप की लिस्टिंग के ज़रिए ऐप के डेवलपर से संपर्क करें।
- कस्टम थीम कोड, कस्टम स्क्रिप्ट या टैग मैनेजर कंटेनर के लिए, उन्हें मेंटेन करने वाले डेवलपर या एजेंसी से संपर्क करें।
निम्नलिखित जानकारी शामिल करें ताकि वे इस व्यवहार को रीप्रोड्यूस कर सकें:
- वे कंसेंट स्टेट जिन्हें आपने टेस्ट किया, और हर एक में क्या हुआ।
- आपके द्वारा रिकॉर्ड की गई
_shopify_sवैल्यू, और हर बदलाव से पहले का पेज या की गई कार्रवाई। - कोई भी दोहराया जाने वाला अनुरोध जिसने वैल्यू को बदला हो, और वह स्क्रिप्ट जिसने इसे शुरू किया हो।
- वे बदलाव जो आप पहले ही कर चुके हैं।