Mercado Libre هي منصة التجارة الإلكترونية الرائدة في أمريكا اللاتينية، وهي تعمل في 18 بلدًا. تمتلك الشركة بنية أساسية رقمية معقّدة تضم أكثر من 100 مليون مستخدم نشط ومجموعة متنوعة من الخدمات، بما في ذلك السوق والدفعات (Mercado Pago) والخدمات اللوجستية.
تمتلك Mercado Libre أكثر من 40 نطاقًا، كان الكثير منها يعتمد في السابق على ملفات تعريف الارتباط التابعة لجهات خارجية لتفعيل ميزات مثل مصادقة المستخدمين على مستوى المواقع الإلكترونية المختلفة ورصد عمليات الاحتيال.
أجرت Mercado Libre عملاً مكثّفًا لتحديد التجارب والوظائف المهمة للمستخدمين التي قد تعتمد على ملفات تعريف الارتباط التابعة لجهات خارجية. تساعد أبحاثها وتنفيذها لبدائل ملفّات تعريف الارتباط التابعة لجهات خارجية، بما في ذلك واجهات برمجة تطبيقات "مبادرة حماية الخصوصية"، في ضمان عمل مواقعها على النحو المتوقّع ومواصلة تقديم تجربة إيجابية للمستخدمين، سواء كانت ملفّات تعريف الارتباط التابعة لجهات خارجية متاحة أم لا.
اطّلِع على المقالة لمعرفة رحلة Mercado Libre لتقليل اعتمادها على ملفات تعريف الارتباط التابعة لجهات خارجية وحماية خصوصية عملائها.
تدقيق ملفات تعريف الارتباط وتقييم تأثيرها
فكّرت Mercado Libre في ثلاثة جوانب من استخدام ملفات تعريف الارتباط التابعة لجهات خارجية:
- هل تعتمد Mercado Libre على مشاركة ملفات تعريف الارتباط على مستوى المواقع الإلكترونية بين نطاقاتها؟
- هل تعتمد الخدمات التي تقدّمها كجهة خارجية على ملفات تعريف الارتباط التابعة لجهات خارجية؟
- هل ستتأثّر أي من الخدمات التابعة لجهات خارجية التي يعتمد عليها التطبيق في حال عدم توفّر ملفات تعريف الارتباط التابعة لجهات خارجية؟
يتطلّب تقييم تأثير استخدام ملفات تعريف الارتباط التابعة لجهات خارجية للمواقع الرقمية بهذا النطاق نهجًا منسقًا، لأنّ هناك العديد من وحدات النشاط التجاري المعنيّة.
قاد فريق منصة الواجهة الأمامية في Mercado Libre عملية تدقيق في التأثير ووفّر للفرق الأخرى دعمًا وتواصلًا مركزيًا. وشمل ذلك توفير موارد وتدريبات لضمان فهم التغييرات اللازمة على مستوى الشركة كي تتمكّن جميع الفِرق من اتّباع الممارسات الجديدة.
حالات استخدام مشاركة ملفات تعريف الارتباط على مواقع إلكترونية مختلفة
تعمل كل وحدة من وحدات أعمال Mercado Libre على نطاقات منفصلة، مثل mercadolibre.com وmercadopago.com وmercadoshops.com.
ومن خلال إجراء تدقيق تفصيلي، اكتشف الفريق الحالات التي كانت فيها مشاركة ملفات تعريف الارتباط على جميع المواقع الإلكترونية ضرورية لتجارب المستخدمين ضمن المنظومة المتكاملة:
- مصادقة المستخدمين: من المحتمل أن يتوقّف جزء من ميزة مصادقة المستخدمين عن العمل لدى 75 مليون مشترٍ نشط شهريًا في 18 بلدًا.
- الإحصاءات الداخلية: يعتمد أكثر من 4,000 محلّل أعمال على البيانات على مستوى المواقع الإلكترونية لاتّخاذ القرارات. التأثير المحتمل في تتبُّع رحلة المستخدِم
- منع الاحتيال: ميزة ضرورية لعمليات الدفع الآمنة عندما لا تكون ملفات تعريف الارتباط التابعة لجهات خارجية متاحة (أكثر من 50 عملية شراء في الثانية على Mercado Libre و244 معاملة في الثانية على Mercado Pago).
يتضمّن هذا التحليل الشامل معلومات مثل الفريق والمالك وتأثير النشاط التجاري ووصف حالة الاستخدام والسلوك الحالي والمشاكل المحتمَلة وحلّ "مبادرة حماية الخصوصية" المقترَح.
ملفات تعريف الارتباط المقسّمة في Mercado Libre
ملفات تعريف الارتباط المُقسَّمة، والمعروفة أيضًا باسم CHIPS، تسمح للمطوّرين باختيار ملف تعريف ارتباط في مساحة تخزين مُقسَّمة، مع توفير حاويات ملفات تعريف ارتباط منفصلة لكل موقع إلكتروني من المستوى الأعلى.
استخدام CHIPS للسماح برصد عمليات الاحتيال بدون ملفات تعريف الارتباط التابعة لجهات خارجية
التحدّي
تستخدم Mercado Libre ملفات تعريف الارتباط التابعة لجهات خارجية لتقديم تجربة سلسة للمستخدمين الذين يصلون إلى منصة الدفع، سواءً للدفعات التي تتم مباشرةً على المنصة أو عمليات الدمج الشفافة التي تستخدم Mercado Pago كمعالج دفع. على سبيل المثال، يتم استخدام ملفات تعريف الارتباط التابعة لجهات خارجية في آليات للمساعدة في تحديد الحالات التي يتم فيها استخدام بطاقة ائتمان من جهاز معروف للمستخدم، وبالتالي منع عمليات الاحتيال باستخدام بطاقات الائتمان.
تشكّل معلومات الجهاز إحدى إشارات البيانات الرئيسية التي تستخدمها نماذج تعلُّم الآلة في Mercado Libre لتحديد ما إذا كان سيتم الموافقة على عملية دفع أم لا. وبالتالي، فإنّ عدم توفّر هذه المعلومات لعدد كبير من المستخدمين قد يمثّل خسارة كبيرة في نسبة الموافقة على الدفعات.
الحل
لحلّ المشاكل المتعلّقة بملفات تعريف الارتباط التابعة لجهات خارجية، اختبرت Mercado Libre تقنية CHIPS، وهي حلّ يضبط ملفّ تعريف ارتباط فريدًا لكلّ موقع إلكتروني مدمج مع منصّة الدفع. والهدف من ذلك هو تمكين Mercado Libre من الاحتفاظ بعدة معلومات لكل متجر فردي.
في هذه الحالة، ساعدت مبادرة CHIPS Mercado Libre في توفير تجربة سلسة وفعّالة للعملاء المتكرّرين حتى في حال حظر ملفات تعريف الارتباط التابعة لجهات خارجية.
التفاصيل الفنية
إنّ طريقة الدمج الأكثر شيوعًا لاستخدام Mercado Pago كمعالج دفعات تتضمن استخدام JavaScript الذي يدمج كلّ من وحدة إنشاء الرموز المميّزة لبيانات البطاقات ووحدة منع الاحتيال. تستخدِم وحدة منع الاحتيال ملفات تعريف الارتباط التابعة لجهات خارجية لربط الدفعات بأجهزة المستخدمين.
في السابق، كان بإمكان Mercado Pago تحديد أجهزة المستخدمين وتتبُّعها في المتاجر من خلال استخدام ملفات تعريف الارتباط التابعة لجهات خارجية، كما هو موضّح في المخطّط البياني التالي.
في الوقت الحالي، تتيح ملفات تعريف الارتباط المقسّمة لشركة Mercado Libre الاحتفاظ بمعلومات تحديد الجهاز من خلال ضبط ملف تعريف ارتباط منفصل لكل موقع إلكتروني من المستوى الأعلى. كما هو موضّح في الصورة التالية، يحافظ هذا النهج على الخصوصية، لأنّه يحدّ من مشاركة المعلومات في جميع المتاجر. يتم استخدام ملفات تعريف الارتباط المقسّمة عندما لا تكون ملفات تعريف الارتباط التابعة لجهات خارجية متاحة. ويؤدي ذلك إلى حظر مشاركة المعلومات في جميع المتاجر، ما يؤدي إلى تحسين خصوصية المستخدم.
مرحلة التطوير المبكّر
أولاً، أوقفت Mercado Libre ملفات تعريف الارتباط التابعة لجهات خارجية في Chrome وتحقّقت من أنّه لم يتم ضبط ملفات تعريف الارتباط الخاصة بها بنجاح على المواقع الإلكترونية التي توفّر Mercado Libre فيها خدماتها كمقدّم خدمة خارجي. بعد ذلك، عدّلت Mercado Libre ملفات تعريف الارتباط هذه لتتم تقسيمها. ومن خلال هذا التغيير، تمكّنوا من تأكيد إمكانية ضبط ملفات تعريف الارتباط المقسّمة في Chrome، حتى إذا أوقف المستخدم ملفات تعريف الارتباط التابعة لجهات خارجية. بعد ذلك، أضاف Mercado Libre رأس Set-Cookie
ولم يواجه أي أخطاء، وذلك باتّباع تعليمات تصميم أمان CHIPS.
كفاءة النشاط التجاري
بدأت Mercado Libre في استخدام CHIPS لدمج Mercado Pago وMercado Shops مع نطاقات مخصّصة. تخزِّن Mercado Libre الآن ملفّ تعريف ارتباط إضافيًا مقسَّمًا، بالإضافة إلى ملفّ تعريف ارتباط عادي غير مقسَّم، على أجهزة المستخدمين.
كان تنفيذ CHIPS في Mercado Libre مباشرًا.
اختبار فعالية CHIPS في نماذج الاحتيال المستندة إلى تعلُّم الآلة
تخطّط Mercado Libre للتوقّف عن إرسال إشارة ملف تعريف الارتباط العادي غير المقسّم لمجموعة التحكّم، وذلك لمحاكاة سيناريو يتم فيه حظر ملفات تعريف الارتباط التابعة لجهات خارجية، واستخدام ملفات تعريف الارتباط المقسّمة (CHIPS) بدلاً من ذلك. في البداية، ستتضمّن مجموعة التحكّم هذه حصة من عدد المستخدِمين في أحد المواقع الإلكترونية، وتنوي Mercado Libre زيادة الحصة وعدد المواقع الإلكترونية تدريجيًا أثناء اختبار مدى الفاعلية.
سيتم قياس مدى الفعالية وفقًا لموافقة الدفعات في المجموعة الضابطة مقارنةً بفترة مشابهة سابقة.
التجارب السابقة
أجرت Mercado Libre تجربة مشابهة على مجموعة تجريبية للتحقّق مما إذا كان بإمكانها تحديد الأجهزة نفسها باستخدام CHIPS بدلاً من ملفات تعريف الارتباط غير المقسّمة وقياس عمر الجهاز (ملف تعريف الارتباط).
تتألف مجموعة التحكّم من التجّار المستهدَفين في الأرجنتين والبرازيل، وقد تصرفت كلتا المجموعتَين بالطريقة نفسها.
في الختام، تمكّنت Mercado Libre من تأكيد هوية% 70 تقريبًا من الأجهزة التي تستخدم CHIPS، ما يعني أنّ% 30 المتبقية كانت إما مستخدمين جددًا أو حالات ذات سلوك غير متوقّع.
استنتاج تنفيذ ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS)
تلتزم Mercado Libre بحماية خصوصية المستخدمين، حتى لو كان ذلك يعني موازنة بين الخصوصية والحد الأدنى من المشاكل التي يواجهها المستخدمون. كان تنفيذ CHIPS بسيطًا وساعد في الحدّ من تأثير هذا الخيار داخل الموقع الإلكتروني نفسه. لا تزال Mercado Libre تستكشف حلول "مبادرة حماية الخصوصية" الأخرى، مثل الرموز المميّزة للحالة الخاصة، والتي يمكن أن تُغلق الفجوة في التجربة بالكامل، ما يمنح أفضل ما في العالمَين: الخصوصية والفائدة.
مجموعات المواقع الإلكترونية المرتبطة في Mercado Libre
مجموعات المواقع الإلكترونية ذات الصلة (RWS) هي طريقة تتيح للشركة الإفصاح عن العلاقات بين المواقع الإلكترونية، بحيث تسمح المتصفّحات بوصول محدود إلى ملفات تعريف الارتباط التابعة لجهات خارجية لأغراض محدّدة.
استخدام مجموعات المواقع الإلكترونية ذات الصلة للحفاظ على إمكانات الإحصاءات
التحدّي
عندما يصل جهاز جديد إلى أحد نطاقات Mercado Libre المملوكة والمُدارة (O&O)، تستخدم Meli ملفّ تعريف ارتباط لفهم نشاط الجهاز على نطاقات مختلفة، مثل mercadolibre.com وmercadopago.com.
الحل
لحلّ المشاكل التي تواجهها الشركة عندما لا تكون ملفات تعريف الارتباط التابعة لجهات خارجية متاحة، نفّذت Mercado Libre ميزة "الاستجابة للطلبات بدون ملفّات تعريف الارتباط" لجميع نطاقاتها الموجّهة إلى العملاء والتي كانت تستخدم ملفات تعريف الارتباط التابعة لجهات خارجية، مع مراعاة القيود المفروضة على النطاق الأساسي وخمسة نطاقات أخرى مرتبطة في مجموعة واحدة.
نظرة تفصيلية فنية: العثور على النطاقات المناسبة لتضمينها
أثناء التحقيق في النطاقات التي يجب تضمينها في المجموعة، اكتشفت Mercado Libre أنّ العديد من نطاقاتها تحتوي على ملفات تعريف ارتباط قديمة لم تعُد قيد الاستخدام. تم استبعاد هذه النطاقات من المجموعة.
كان فريق منصة واجهة الويب مسؤولاً عن إنشاء مجموعات المواقع الإلكترونية ذات الصلة في Mercado Libre وإدارتها. (يمكنك العثور على المجموعة الكاملة في مستودع GitHub الخاص بمجموعة المواقع الإلكترونية ذات الصلة).
{
"contact": "infraestructura@mercadolibre.com",
"primary": "https://mercadolibre.com",
"associatedSites": [
"https://mercadolivre.com",
...
],
"rationaleBySite": {
"https://mercadolivre.com": "Mercado Libre in Brazil",
...
},
"ccTLDs": {
"https://mercadolibre.com": [
"https://mercadolibre.com.ar",
...
],
"https://mercadolivre.com": [
"https://mercadolivre.com.br"
],
...
}
},
استغرقت عملية نشر المجموعة أسبوعَين فقط بعد الموافقة على العينة التي تم إرسالها.
تكرار ملفات تعريف الارتباط التابعة لجهات خارجية على نطاقات العملاء والمنتجات باستخدام واجهة برمجة التطبيقات Storage Access API
المتطلبات
لكي يتمكّن الخادم من ضبط ملفات تعريف الارتباط، يجب أن يكون متوافقًا مع مشاركة الموارد المتعدّدة المصادر (CORS)، ويجب أن تكون الطلبات من مصادر متعددة وأن تتضمّن بيانات اعتماد:
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Origin', `${req.headers.origin}`);
يجب ضبط ملفات تعريف الارتباط باستخدام:
Secure
SameSite=None
عندما لا تكون ملفات تعريف الارتباط التابعة لجهات خارجية متاحة تلقائيًا، على العميل التحقّق ممّا إذا كان لديه إذن بالوصول إلى ملفات تعريف الارتباط غير المقسّمة باستخدام navigator.permissions.query()
، ثم طلب أذونات الوصول إلى مساحة التخزين لكل نطاق مضمّن باستخدام requestStorageAccessFor()
. بالإضافة إلى ذلك، يجب أن يتفاعل المستخدم مع الشاشة (مثل النقر أو إجراء على لوحة المفاتيح) لكي يطلب وكيل المستخدم الإذن بنجاح في المرة الأولى.
التغلب على تحديات RWS
واجهت عمليات نشر ملفات تعريف الارتباط الحالية، مثل وحدات بكسل الصور، واستخدام Storage Access API، قيودًا بسبب شرط التفاعل مع المستخدم. كان هذا هو الحال مع تسجيل الدخول المستمر للمستخدمين في Mercado Libre على جميع النطاقات، والذي يتعطّل عندما يوقف المستخدمون ملفات تعريف الارتباط التابعة لجهات خارجية.
لم يتم تصميم مجموعات المواقع الإلكترونية ذات الصلة وتقنيات "مبادرة حماية الخصوصية" لتقديم بدائل مقابلة لملفات تعريف الارتباط التابعة لجهات خارجية، وقد لا تتوافق مع بعض حالات الاستخدام:
وحدات بكسل الصورة
- يمكن لشركة Mercado Libre إضافة سمة
crossorigin="use-credentials"
. ومع ذلك، فإنّ الاعتماد على تفاعل المستخدم (النقر على رابط) يعني أنّ Mercado Libre لا يمكنها ضمان ضبط ملف تعريف الارتباط. يتم أيضًا إلغاء الوحدات البكسل في حال حدوث تنقّل بين الشاشات: عندما يرصد Chrome عملية تنقّل، يلغي جميع طلبات الموارد من الصفحة الحالية لبدء تحميل الصفحة الجديدة.
- يمكن لشركة Mercado Libre إضافة سمة
sendBeacon()
- لا يمكن ضبط
crossorigin
، لذا تُرفَض الطلبات ولا يتم إرسال ملفات تعريف الارتباط.
- لا يمكن ضبط
عمليات إعادة التوجيه التي تستخدم
sendBeacon()
أو وحدات بكسل للصور- وبما أنّ هذه الإعدادات تعتمد على تفاعل المستخدِم، لا يمكن ضبط ملفات تعريف الارتباط من خلال عمليات إعادة التوجيه إلى شاشات وسيطة بين نطاقات مختلفة تنفِّذ JavaScript.
قيود WebView
لا تتوفّر واجهة برمجة التطبيقات Permissions API في WebView. وقد فرض ذلك على Mercado Libre تنفيذ منطق يقضي بعدم إطلاق واجهة برمجة التطبيقات Storage Access إلا في حال توفّر واجهة برمجة التطبيقات Permissions API (في كل مكان باستثناء WebView). بالإضافة إلى ذلك، لا يتيح Safari أو Firefox حاليًا استخدام requestStorageAccessFor()
.
تواصل Mercado Libre استخدام ميزة رصد الميزات حسب الحاجة، بغض النظر عن المنصة.
تقدّم المقالةحلّ يناسب الجميع
احتاجت Mercado Libre إلى استخدام fetch()
و{keepalive: true, credentials: 'include'}
. بهذه الطريقة، يمكنهم ضبط CORS وتضمين بيانات الاعتماد والتأكّد من تقديم طلب في الخلفية بدون أن يلغيه المتصفّح.
fetch(domain, {
keepalive: true,
credentials: 'include',
});
// or
fetch(domain, {
method: 'POST'
body: data,
keepalive: true,
credentials: 'include',
});
مثال كامل:
const TP_DOMAINS = ['https://mercadolibre.com',
'https://www.mercadoshops.com.ar',
'https://www.mercadopago.com',
'https://www.mercadopago.com.ar'];
if ('requestStorageAccessFor' in document) {
// Check the permission to see if storage access is already available.
let storageAccessPermission = await navigator.permissions.query({
name: 'top-level-storage-access',
requestedOrigin: TP_DOMAINS[0]
})
// If the permission has already been granted, request storage access.
if (storageAccessPermission.state === 'granted') {
requestStorageAccessForDomains();
}
// If the state "prompt" is returned, a storage access request must be triggered by user gesture.
else if (storageAccessPermission.state === 'prompt') {
document.addEventListener('click', requestStorageAccessForDomains, { capture: true });
document.addEventListener('keydown', requestStorageAccessForDomains, { capture: true });
}
} else {
console.log('requestStorageAccessFor is not supported');
}
function requestStorageAccessForDomains() {
// Request storage access for each domain.
TP_DOMAINS.forEach(rSAFor)
// Clean up listeners so they are not called again.
document.removeEventListener('click', requestStorageAccessForDomains);
document.removeEventListener('keydown', requestStorageAccessForDomains);
}
function rSAFor(domain) {
document.requestStorageAccessFor(domain).then(
success => { setCookie(domain); },
err => { console.log('requestStorageAccessFor error: ' + err); }
);
}
function setCookie(domain) {
const url = new URL(domain);
const hostname = url.hostname.split('.').slice(1).join('.');
fetch(domain + '/pixel.gif?name=_d2id&value=DONE&max_age=94608000&domain=.' + hostname, {
keepalive: true,
credentials: 'include',
});
}
الاختبار في Chrome
يمكن اختبار مجموعة مواقع إلكترونية ذات صلة محليًا من خلال ضبط علامة Chrome. على سبيل المثال، في العرض الترويجي على related-website-sets.glitch.me:
--use-related-website-set="{\"primary\": \"https://related-website-sets.glitch.me\", \"associatedSites\": [\"https://rws-member-1.glitch.me\"]}"
https://related-website-sets.glitch.me/
خاتمة تنفيذ ميزة "الاستجابة السريعة للطلبات"
إنّ تنفيذ ميزة RWS للمواقع الإلكترونية على نطاق واسع ليس أمرًا بسيطًا. لم تكن Mercado Libre بحاجة سوى إلى موارد مطوّر واحد، ولكن استغرقت عملية الطرح في 18 بلدًا حوالي ثلاثة أشهر من البداية إلى النهاية.
ننصحك بالبدء مبكرًا إذا أردت تنفيذ ميزة "الاستجابة السريعة للطلبات". لا تنتظر طويلاً لتنفيذ ميزة "الاستجابة السريعة للطلبات". اضطرت Mercado Libre إلى تغيير ملفات تعريف الارتباط على الخادم وجانب العميل، وإضافة رؤوس جديدة، وإجراء تغييرات على الخلفية، وتعديل JavaScript.
الملاحظات النهائية والخطوات التالية
أظهر نجاح Mercado Libre في تنفيذ واجهات برمجة التطبيقات Privacy Sandbox API التزامه بالتأقلم مع المشهد المتغيّر لحماية الخصوصية. من خلال اختبار استخدام ملفات تعريف الارتباط التابعة لجهات خارجية ومعالجتها بشكل استباقي، حافظت Mercado Libre على وظائف النشاط التجاري المهمة، مثل الإحصاءات ومنع الاحتيال، مع تحسين خصوصية المستخدم وضمان الامتثال للوائح التنظيمية المتغيّرة. تقدّم دراسة الحالة هذه إحصاءات قيّمة للمؤسسات التي تسعى إلى الانتقال إلى مستقبل لا يتوفّر فيه ملفات تعريف الارتباط التابعة لجهات خارجية.