Tray هي مقدّم نظام إدارة محتوى (CMS) للتجارة الإلكترونية ولديها أكثر من 20 عامًا من الخبرة في خدمة سوق البيع بالتجزئة في البرازيل. يدير التجّار متاجرهم على الإنترنت باستخدام بنية أساسية Tray's، والتي توفّر أيضًا خدمات وعمليات دمج لتنظيم الخدمات اللوجستية للنشاط التجاري والدفعات والعروض الترويجية وإعداد التقارير.
"Tray" عضو في مجموعة LWSA، وهي قوة دافعة في مجال التجارة الإلكترونية. يثق أكثر من 180,000 عميل في Tray، وحقّقوا معًا أكثر من 3 مليارات دولار أمريكي من إجمالي قيمة المعاملات في الربع الأول من عام 2024.

الاعتماد على ملفات تعريف الارتباط التابعة لجهات خارجية
تستخدم البنية الفنية Tray's ملفات تعريف الارتباط التابعة لجهات خارجية (3PC) لتوفير وظائف تابعة لجهات خارجية لمواقع التجّار الإلكترونية، لا سيما لpanel المشرف في "الخلفية" التي يستخدمها التاجر لإدارة المتجر. إنّ ملفات تعريف الارتباط هذه ضرورية لعرض المحتوى الذي يتم عرضه من تطبيقات تابعة لجهات خارجية يتم استضافتها على نطاقات غير نطاق التاجر. Tray's أظهرت الأبحاث أنّ التغييرات المخطّط لها على كيفية تعامل المتصفّحات مع ملفات تعريف الارتباط التابعة لجهات خارجية قد تؤدي إلى إيقاف هذه الميزة. بما أنّ Tray تُعدّ بنية أساسية مهمة للعديد من بائعي التجزئة على الإنترنت، من الضروري أن يستمر العمل كالمعتاد، حتى في حال إجراء تغييرات مهمة على كيفية تعامل Chrome والمتصفّحات الأخرى مع ملفات تعريف الارتباط التابعة لجهات خارجية.
توضِّح دراسة الحالة هذه كيفية اكتشاف Tray's للمشاكل المحتملة، وتقييمها للحلول المحتملة، والحلّ الناجح الذي تم تنفيذه للتأكّد من جاهزية مواقعها الإلكترونية للتغييرات في 3PC.
البنية التقنية
Microservices
تستضيف شركة Tray جميع تطبيقات المتجر وتطبيقات الخلفية على نطاقها، وهو tray.com.br، ويمكن للتجّار استخدام سجلّ CNAME لعرض هذه التطبيقات من نطاقهم المخصّص. باستخدام هذا الإعداد، لن يظهر للمتسوّقين سوى نطاق المتجر، مثل merchant.example. تستفيد Tray من بنية الخدمات المصغرة لتقديم الميزات والإمكانات. يستخدم هذا النهج التطبيقات المستقلة والمكتفية ذاتيًا التي تركّز كلّ منها على وظيفه معيّنة. بعد ذلك، يتم تجميع هذه الخدمات الصغيرة في نطاقات استنادًا إلى إمكاناتها الوظيفية:
- المتجر: يتضمّن التطبيقات المسؤولة عن ميزات صفحة المتجر، مثل عرض المنتجات والبحث عنها وإدارة المظاهر.
- مسار الشراء: يدير سلة التسوّق وعملية الدفع وتفاعلات العميل أثناء رحلة الشراء.
- إدارة المتجر: يوفّر هذا القسم تطبيقات للإدارة الخلفية لمهام مثل الإدارة وإعداد التقارير واستيراد البيانات.
- عمليات الدمج: تسهّل عمليات الربط مع منصات خارجية لتفعيل إدراجات على جميع الأسواق وإدارة الخدمات اللوجستية وغير ذلك.
تطبيق Backoffice
Backoffice هو تطبيق أساسي ضمن "إدارة المتجر"، ويعمل بمثابة لوحة الإدارة المركزية لمتجر البائع على Tray. من خلال هذه الشريحة، يمكن للبائعين تنفيذ ما يلي:
- تسجيل المنتجات
- ضبط طرق الشحن والدفع
- إنشاء إعلانات ترويجية
- إدارة أحداث البث المباشر
- الإشراف على مسار الطلبات
- مراقبة تقارير المبيعات
بما أنّ Backoffice يجمع العديد من الخدمات المصغرة، بعضها تديره Tray وبعضها تديره جهات خارجية، في واجهة واحدة، فهو معرّض بشكل خاص للانقطاعات الناتجة عن التغييرات في كيفية التعامل مع ملفات تعريف الارتباط التابعة لجهات خارجية.
عناوين CNAME لتخصيص التجار
يستخدم Tray سجلات CNAME لدمج واجهات المتجر بسلاسة.
عند إعداد متجر جديد، يمكن للتجّار
إعداد سجلّات CNAME
لتوجيه الطلبات إلى التطبيقات المستضافة على نطاق Tray's،
tray.com.br. وهذا يعني أنّه عندما يزور أحد العملاء
موقعًا إلكترونيًا للتاجر (مثل example.com
)، يعيد سجلّ CNAME توجيهه إلى
نطاق Tray's مع الاحتفاظ بعنوان URL للتاجر في شريط العناوين. ويمنح ذلك
المستخدمين تجربة سلسة حيث يبدو أنّ المحتوى معروض مباشرةً
من الموقع الإلكتروني للتاجر.
فهم سجلّات CNAME
تعمل سجلّات CNAME بشكل مشابه لإعادة توجيه المكالمات على الهاتف. لنفترض أنّك تتصل بصديق على الرقم 555-0199، ولكنّه لا يردّ. قد تتم إعادة توجيه المكالمة إلى البريد الصوتي على رقم مختلف، مثل 555-0100. ومع ذلك، لن يلاحظ المتصل هذه العملية. سيربطك الهاتف بسلاسة، وسيظلّ الردّ الآلي على البريد الصوتي يعرض رقم صديقك الأصلي (555-0199).
تعمل أسماء CNAME بالطريقة نفسها لمواقع الويب. عندما يزور أحد المستخدِمين
موقع تاجر إلكتروني (مثل example.com
)، قد يعيد سجلّ CNAME توجيه طلبه
بلا إظهار ذلك إلى خادم مختلف، مثل assets.example.com
. ولكن من منظور العميل والمتصفح، يحدث كل شيء على example.com
. يعرض
شريط العناوين عنوان URL للتاجر، ويتفاعل المستخدم مع الموقع الإلكتروني
كما لو كان المحتوى مصدره مباشرةً من هذا النطاق.
تقييم الأعطال المحتمَلة
Tray's أظهر تحليل التغييرات المخطّط لها في معالجة 3PC حدوث مشاكل في تطبيق Backoffice. عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية، ظهرت مشاكل عند تحميل الصفحات من نطاقات مختلفة داخل إطارات iframe المضمّنة في صفحات الخلفية. وينطبق ذلك على النطاقات الداخلية التي تنتمي إلى خدمات الشركة، بالإضافة إلى الشركاء الخارجيين الذين يطوّرون تطبيقات مدمجة مع Tray باستخدام واجهة برمجة التطبيقات الخاصة بها.
على سبيل المثال، تخيل صفحة على backoffice.merchant.example
تضمّ محتوى مستضافًا على tray.com.br وجهات خارجية أخرى.
ستتعامل المتصفّحات مع هذا المحتوى المضمّن على أنّه تابع لجهة خارجية بسبب اختلاف
النطاق، ما قد يؤدي إلى حظره بموجب أيّ قيود مفروضة على الجهات الخارجية.
قد يؤدي هذا الإعداد إلى حدوث عدة مشاكل:
- الجلسات المعطّلة: يمكن أن تؤدي ملفات تعريف الارتباط التابعة لجهات خارجية المحظورة إلى تعطُّل الجلسات المتأثرة، ما يؤدي إلى تقسيم تجارب المستخدمين من خلال مطالبتهم بتسجيل الدخول عدة مرات، أو إلى تعطيل صفحات Backoffice أو التسبب في حدوث تناقضات فيها بسبب عدم عمل إطارات iframe بشكل صحيح.
- تحديات الدمج: قد تواجه التطبيقات التابعة للشركاء والخدمات الداخلية التي يتم دمجها مع الخلفية في Tray's باستخدام واجهة برمجة التطبيقات صعوبات مماثلة بسبب القيود المفروضة على الجهات الخارجية.
يوضّح الشكل التالي هذا السيناريو:
- يصل مستخدم إلى تطبيق Backoffice المستضاف على
merchant.example
. - تقع التطبيقات المضمّنة على نطاقات مختلفة، بعضها على
tray.com.br
الذي يملكه Tray، والبعض الآخر على نطاقات مورّدين خارجيين (third-party.example
). - يؤدي هذا الاختلاف في النطاق إلى فرض قيود على ملفات تعريف الارتباط التابعة لجهة خارجية، ما قد يؤدي إلى حدوث مشاكل في التطبيقات المضمّنة.

تحليل الحلول والتبعيات لملفات تعريف الارتباط التابعة لجهات خارجية
اختبار رحلات المستخدِمين الأساسية
كان الهدف من اختبار Tray's وتحليله هو تحسين أداء الموقع الإلكتروني و تجربة المستخدم، مع التركيز على عمليات الدمج التابعة لجهات خارجية والاستعداد لمستقبل يتصف فيه العديد من المستخدمين بالتصفّح بدون استخدام ملفات تعريف الارتباط التابعة لجهات خارجية.
استخدَم Tray أداة تحليل "مبادرة حماية الخصوصية" (PSAT) و "أدوات مطوّري البرامج في Chrome" لتحليل مسارات المستخدِمين الرئيسية للعملاء والتجار. وقد شمل ذلك اختبار تحميل الصفحات ضمن إطارات iframe، والتحقّق مما إذا كانت جلسات المستخدمين تظل صالحة، والتأكّد من استمرار عمل التطبيقات التابعة لجهات خارجية كما هو متوقّع. شمل الاختبار أدوار المستخدمين والأجهزة والمتصفّحات المختلفة (بما في ذلك Chrome وFirefox وSafari) لتحديد المشاكل المحتمَلة في التوافق مع مختلف المتصفّحات. استخدَم Tray أداة PSAT وأدوات مطوّري برامج Chrome لتصنيف ملفات تعريف الارتباط وتقييم تأثيرها في تجربة المستخدم.
كان هذا التحليل خطوة حيوية نحو ضمان تجربة مستخدم سلسة ومتسقة، والتكيّف مع المستقبل الذي قد تكون فيه ملفات تعريف الارتباط التابعة لجهات خارجية محدودة أو غير متاحة.
تحليل حلول "مبادرة حماية الخصوصية"
Storage Access API
على الرغم من أنّ واجهة برمجة التطبيقات Storage Access API (SAA) يمكن أن تعالج بشكلٍ محتمل حالات انقطاع Tray's وهي متوافقة مع جميع المتصفحات الرئيسية، إلا أنّها لم تكن الخيار الأنسب للنشاط التجاري لسببَين رئيسيَين:
- كان المحتوى المضمّن بحاجة فقط إلى الوصول إلى ملفات تعريف الارتباط على المصدر الذي تم تضمينه فيه، وليس للوصول إلى ملفات تعريف الارتباط نفسها على مواقع إلكترونية متعددة.
- لم تكن طلبات المتصفّح المرتبطة بسياسة SAA مثالية، خاصةً أنّه لم يتم استخدام ملفات تعريف الارتباط لتتبُّع المستخدِمين على مستوى المواقع الإلكترونية.
ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS)
قدّمت CHIPS حلًا قويًا يقدّم تجربة ممتازة للمستخدمين عند تضمين المحتوى على مواقع إلكترونية متعددة. كانت سمة Partitioned
سهلة التنفيذ ولم تؤثر بشكل ملحوظ في تفاعل المستخدمين
في Chrome. لم تكن واجهة CHIPS متوافقة مع المتصفّحات الرئيسية الأخرى عندما كانت شركة Tray
تُجري تغييرات على خدمتها، لذلك اختارت نقل محتوى الادراج الذي تملكه وتديره إلى الموقع الإلكتروني نفسه الذي يتضمّن التطبيق على المستوى الأعلى لتوفير تجربة متّسقة على جميع المتصفّحات. يعتمد المحتوى المضمّن التابع لجهات خارجية
على CHIPS في Chrome ويفتح نافذة جديدة (سياق الطرف الأول) في متصفحات
أخرى. منذ التنفيذ الأولي في Tray's، أكّد Firefox
أنّه سيطرح CHIPS قريبًا، وبدأ Safari في
إتاحة
السمة Partitioned، بدءًا من الإصدار التجريبي للتكنولوجيا.
لقد اعتقدنا أنّ CHIPS هو حلّ أنيق ويسعدنا أن نرى أنّه يتم استخدامه في عدة متصفّحات. قرّرنا الاحتفاظ بحلّ CHIPS بالإضافة إلى نقل البيانات إلى المواقع الإلكترونية التابعة للطرف الأول حتى نتمكّن من إتاحة جميع المتصفّحات حتى قبل اعتماد CHIPS.
— تاكاهيرو تاكاهاشي، رئيس قسم التكنولوجيا في Tray
توافق المتصفّح ومعايير W3C
يلعب Chrome دورًا محوريًا في منتدى المعايير. إنّ المشاركة النشطة في مجموعات العمل ومجموعات المنتدى في W3C، مثل PrivacyCG، هي أمر بالغ الأهمية للتأثير في المنظومة المتكاملة الأوسع للمتصفّحات من أجل اعتماد تكنولوجيات الويب الجديدة.
تعمل "مبادرة حماية الخصوصية" مع المنظومة المتكاملة للويب بهدف تطويرواجهات برمجة التطبيقات باستمرار، مثل CHIPS، استنادًا إلى الملاحظات والآراء التي يقدّمها العاملون في المجال. وقد كان هذا النهج الشفاف المستنِد إلى المعايير مفيدًا في تعزيز استخدام CHIPS في المتصفّحات الكبرى الأخرى.
حلّ المشاكل المتعلقة باعتماد ملفات تعريف الارتباط التابعة لجهات خارجية بشكلٍ دائم
يتوافق تطبيق "Tray" مع التجّار وعملائهم على جميع أنواع الأجهزة و المتصفّحات. كان من الأفضل استخدام نهج يستند إلى CHIPS فقط، ولكن تم إجراء تغييرات إضافية أيضًا لتتوافق مع المتصفّحات الأخرى التي لم تكن متوافقة مع CHIPS في ذلك الوقت.
Tray's معالجة الانقطاعات الناتجة عن عدم توفّر 3PC تضمّن استراتيجيتَين رئيسيتين:
1. التطبيقات الداخلية
تم تعديل Tray الخدمات المصغرة التي تعمل بالكامل، بما في ذلك "متجر على الإنترنت" و"البيع المباشر" و"مُصدر الفواتير"، لكي يكتسب مصدر المحتوى المضمّن عنوان CNAME الذي أعدّه التاجر. بعبارة أخرى، تم تعديل المحتوى المضمّن ليكون تابعًا لجهة خارجية تُضمّنه في الصفحة، ما يضمن عدم حدوث أي انقطاعات بسبب تغييرات ملفات تعريف الارتباط التابعة لجهات خارجية.
2- التطبيقات التابعة لجهات خارجية
بالنسبة إلى التطبيقات التابعة لجهات خارجية التي يتم الوصول إليها من خلال Backoffice، نفّذت Tray نهجًا أكثر ديناميكية. إليك آلية العمل:
- تنفيذ السمة المقسّمة: تم الحفاظ على تنفيذ سمة ملف تعريف الارتباط
Partitioned
للمورّدين الموثوقين، ما يتيح للتطبيقات التابعة لجهات خارجية ضبط ملفات تعريف الارتباط بفعالية على المتصفّحات المتوافقة مع CHIPS. - عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية: إذا كان متصفّح المستخدم يحظر 3PCs، سيتم فتح التطبيق التابع لجهة خارجية في نافذة جديدة (تابعة للطرف الأول). ويؤدي ذلك إلى تجنُّب المشاكل المتعلّقة بالفتح وضمان استمرار التشغيل، حتى في حال فرض قيود على 3PC.
- عند السماح بملفات تعريف الارتباط التابعة لجهات خارجية: إذا كان متصفّح المستخدم يسمح بملفّات تعريف الارتباط 3PC، سيستمر فتح التطبيق ضمن إطارات iframe كما في السابق.
عرض الحلّ
يوضّح الشكل التالي الحلّ. من خلال اكتساب
النطاق الرئيسي للمتجر (merchant.example
)، تبدو جميع التطبيقات المضمّنة وكأنها تأتي من
المصدر نفسه. ويؤدي ذلك إلى أن تصبح جميع التطبيقات المصغّرة من طرف أول بالنسبة إلى بعضها،
ما يعني أنّ قيود الجهات الخارجية الثالثة لا تُعدّ عاملاً. وبما أنّ كل هذه الإطارات
تصبح طرفًا أولًا بالنسبة إلى بعضها البعض، تعتمد مبادئ الخصوصية مبادئ ملفات تعريف الارتباط
التابعة للطرف الأول الأخرى: لا يمكن الوصول إليها إلا في سياق الطرف الأول، وتهدف إلى الحدّ من إمكانية تتبُّع الإجراءات على مواقع إلكترونية متعددة.
إنّ أي خدمات تابعة لجهات خارجية غير مملوكة لشركة Tray تستخدم سمة Partitioned
لتحديد ملفات تعريف ارتباط CHIPS، ما يعني أنّه لا يمكن الوصول إليها إلا في السياق الذي تم فيه ضبطها، كما أنّها تحدّ من إمكانية التتبّع على مستوى المواقع الإلكترونية.

الخلاصة
- لا يتوفّر حلّ واحد يناسب الجميع في ما يتعلّق بالخصوصية على الويب، فهناك العديد من الطرق لتحقيق تجارب سلسة للمستخدمين مع الحفاظ على الخصوصية.
- إنّ دمج الموارد في النطاق الأعلى نفسه يسمح لملفات تعريف الارتباط بالعمل حتى مع القيود المفروضة على ملفات تعريف الارتباط التابعة لجهات خارجية.
- قد يكون CHIPS حلًا أسهل من نقل جميع الموارد إلى الموقع الإلكتروني الرئيسي نفسه.
- يُعدّ حلّ Tray's دائمًا ويعمل على جميع المتصفحات. مع إتاحة مزيد من المتصفّحات لاستخدام CHIPS، يمكن اعتباره حلًا موثوقًا في جميع المتصفّحات لسيناريوهات مماثلة لسيناريو Tray's.