سيتم إيقاف Universal Analytics (UA) في 1 تموز (يوليو) 2023، ما يعني أنه سيتوقف عن معالجة البيانات. ستتوقف مواقع "إحصاءات Google 360" عن العمل في 1 تشرين الأول (أكتوبر) 2023. نقل البيانات إلى "إحصاءات Google" 4.

ملفات تعريف الارتباط وتعريف المستخدم

لكي تحدد "إحصاءات Google" أن نتيجتين مختلفتين تنتميان إلى المستخدم نفسه، يجب إرسال معرّف فريد مرتبط بهذا المستخدم المحدّد مع كل نتيجة.

وتحقّق مكتبة analytics.js هذا من خلال الحقل معرّف العميل، وهو سلسلة فريدة يتم إنشاؤها عشوائيًا يتم تخزينها في ملفات تعريف الارتباط للمتصفّحات، وبالتالي يمكن ربط الزيارات اللاحقة إلى الموقع الإلكتروني نفسه بالمستخدم نفسه.

تستخدِم analytics.js تلقائيًا ملف تعريف ارتباط واحدًا للطرف الأول اسمه _ga لتخزين معرّف العميل، ولكن يمكن تخصيص اسم ملف تعريف الارتباط ونطاقه ووقت انتهاء صلاحيته. وتشمل ملفات تعريف الارتباط الأخرى التي تم إنشاؤها بواسطة analytics.js تتضمن _gid وAMP_TOKEN و_gac_<property-id>. وتخزِّن ملفات تعريف الارتباط هذه أرقام تعريف أخرى ومعلومات حملات عشوائية عن المستخدم.

يسمح استخدام ملفات تعريف الارتباط analytics.js بتحديد المستخدمين الفريدين على مستوى جلسات التصفّح، ولكن لا يمكنه تحديد المستخدمين الفريدين عبر المتصفحات أو الأجهزة المختلفة. إذا كان موقعك الإلكتروني يحتوي على نظام مصادقة خاص به، يمكنك استخدام ميزة User ID، بالإضافة إلى معرّف العميل، لتعريف المستخدم بدقة أكبر على جميع الأجهزة التي يستخدمها للوصول إلى موقعك الإلكتروني.

يوضّح هذا الدليل كيفية تخصيص إعدادات ملفات تعريف الارتباط، فضلاً عن كيفية ضبط حقل User-ID لقياس نشاط المستخدم بدقة أكبر في جميع الجلسات.

يعرض الجدول التالي قيم حقول ملفات تعريف الارتباط التلقائية التي يستخدمها مقتطف analytics.js:

اسم الحقل نوع القيمة القيمة التلقائية
cookieName ملف نصي _ga
cookieDomain ملف نصي نتيجة تعبير JavaScript التالي:
document.location.hostname
cookieExpires عدد صحيح 63072000 (سنتان، بالثواني)
cookieUpdate منطقي true
cookieFlags ملف نصي

لتعديل أي من هذه القيم، يمكنك تحديدها في الأمر fieldObject الذي تضبطه في الأمر create. على سبيل المثال:

ga('create', 'UA-XXXXX-Y', {
  'cookieName': 'gaCookie',
  'cookieDomain': 'blog.example.co.uk',
  'cookieExpires': 60 * 60 * 24 * 28  // Time in seconds.
  'cookieUpdate': 'false',
  'cookieFlags': 'SameSite=None; Secure',
});

الحقل الأكثر شيوعًا لملفات تعريف الارتباط الذي سيتم إعداده هو cookieDomain، وبالتالي، يقبل الأمر create الحقل cookieDomain كمَعلمة ثالثة اختيارية للملاءمة:

ga('create', 'UA-XXXXX-Y', 'blog.example.co.uk');

تحدّد علامة "إحصاءات Google" المقترَحة السلسلة 'auto' للحقل cookieDomain:

ga('create', 'UA-XXXXX-Y', 'auto');

يؤدي تحديد 'auto' على أنه cookieDomain إلى تفعيل الضبط التلقائي لنطاق ملفات تعريف الارتباط، والذي يُخبر برنامج analytics.js بتحديد أفضل نطاق لملفات تعريف الارتباط لاستخدامه تلقائيًا.

يضبط الضبط التلقائي لنطاق ملفات تعريف الارتباط ملف تعريف الارتباط _ga على أعلى مستوى ممكن في النطاق. على سبيل المثال، إذا كان عنوان موقعك الإلكتروني هو blog.example.co.uk، ستعمل خدمة analytics.js على ضبط نطاق ملف تعريف الارتباط على .example.co.uk. بالإضافة إلى ذلك، إذا اكتشف analytics.js أنّك تشغّل خادمًا محليًا (مثل localhost) يتم ضبط cookieDomain تلقائيًا على 'none'.

وفي كل مرة يتم فيها إرسال نتيجة إلى Google Analytics، يتم تحديث وقت انتهاء صلاحية ملف تعريف الارتباط ليكون الوقت الحالي بالإضافة إلى قيمة الحقل cookieExpires. وهذا يعني أنّه في حال استخدام الفترة التلقائية التي تبلغ cookieExpires سنة وزار أحد المستخدمين موقعك الإلكتروني كل شهر، لن تنتهي صلاحية ملف تعريف الارتباط لديه أبدًا.

في حال ضبط وقت cookieExpires على 0 (صفر) ثانية، سيتحوّل ملف تعريف الارتباط إلى ملف تعريف ارتباط مستند إلى جلسة وتنتهي صلاحيته بعد انتهاء جلسة المتصفّح الحالية:

عند ضبط cookieUpdate على true (القيمة التلقائية)، ستعدّل analytics.js ملفات تعريف الارتباط عند كل تحميل للصفحة. سيؤدي ذلك إلى تعديل تاريخ انتهاء صلاحية ملف تعريف الارتباط لضبطه مقارنةً بآخر زيارة للموقع. على سبيل المثال، إذا تم ضبط تاريخ انتهاء صلاحية ملف تعريف الارتباط على أسبوع واحد، وزار أحد المستخدمين باستخدام المتصفّح نفسه كل خمسة أيام، سيتم تعديل تاريخ انتهاء صلاحية ملف تعريف الارتباط في كل زيارة، وبالتالي لن تنتهي صلاحيته أبدًا.

وعند ضبطها على false، لا يتم تعديل ملفات تعريف الارتباط عند تحميل كل صفحة. ويكون لذلك تأثير انتهاء صلاحية ملف تعريف الارتباط بالنسبة إلى أول مرة زار فيها المستخدم الموقع الإلكتروني.

لإلحاق علامات إضافية بملف تعريف الارتباط عند ضبطه يجب فصل العلامات باستخدام فاصلة منقوطة.

ويجب ألا تدخل مباشرةً إلى ملفات تعريف ارتباط analytics.js، لأن تنسيق ملف تعريف الارتباط قد يتغير في المستقبل. وبدلاً من ذلك، على مطوّري البرامج استخدام readyCallback للانتظار إلى أن يتم تحميل مقتطف analytics.js، ثم الحصول على قيمة clientId المخزَّنة على أداة التتبُّع.

ga(function(tracker) {
  var clientId = tracker.get('clientId');
});

إيقاف ملفات تعريف الارتباط

في بعض الحالات، ننصحك باستخدام آلية التخزين الخاصة بك (مثل localStorage أو عامل الخدمة) للحفاظ على معرِّف العميل في جميع الجلسات بدون استخدام ملفات تعريف الارتباط. يمكنك إيقاف analytics.js من إعداد ملفات تعريف الارتباط من خلال ضبط الحقل storage على 'none'.

ga('create', 'UA-XXXXX-Y', {
  'storage': 'none'
});

إذا كنت تخزّن الحقل clientId بنفسك، عليك التأكّد من ضبط الحقل cliendId عند إنشاء أداة التتبّع.

ga('create', 'UA-XXXXX-Y', {
  'storage': 'none',
  'clientId': '76c24efd-ec42-492a-92df-c62cfd4540a3'
});

لإيقاف ملفات تعريف الارتباط في _gac_<property-id>، اضبط الحقل storeGac على false في الأمر create:

ga('create', 'UA-XXXXX-Y', {
  storeGac: false,
});

استخدام localStorage لتخزين معرّف العميل

يوضّح نموذج الرمز التالي كيفية تعديل علامة JavaScript لاستخدام localStorage لتخزين معرّف العميل بدلاً من ملفات تعريف الارتباط:

var GA_LOCAL_STORAGE_KEY = 'ga:clientId';

if (window.localStorage) {
  ga('create', 'UA-XXXXX-Y', {
    'storage': 'none',
    'clientId': localStorage.getItem(GA_LOCAL_STORAGE_KEY)
  });
  ga(function(tracker) {
    localStorage.setItem(GA_LOCAL_STORAGE_KEY, tracker.get('clientId'));
  });
}
else {
  ga('create', 'UA-XXXXX-Y', 'auto');
}

ga('send', 'pageview');

رقم تعريف المستخدم

تتيح ميزة User ID تحليل مجموعات من الجلسات على جميع الأجهزة، باستخدام سلسلة معرّف فريدة ومستمرة وغير محدّدة للهوية الشخصية تمثّل مستخدمًا. وللتعرّف على الأسباب التي تدفعك إلى تنفيذ ميزة User ID، اطّلع على مزايا استخدام ميزة User ID.

لتنفيذ رقم تعريف المستخدم باستخدام analytics.js:

  1. قدِّم معرّف سلسلة فريدًا ومستمرًا وغير محدّد للهوية الشخصية لتمثيل كل مستخدم سجّل الدخول. ويتم غالبًا تقديم هذا المعرّف من خلال نظام مصادقة.
  2. تحديد رقم تعريف المستخدم على أداة التتبُّع:
ga('create', 'UA-XXXXX-Y', 'auto', {
  userId: USER_ID
});
ga('send', 'pageview');

التعامل مع المصادقة بعد تحميل الصفحة

عند إنشاء تطبيقات الصفحة الواحدة أو مواقع إلكترونية ديناميكية أخرى تتعامل مع تسجيل دخول المستخدم بعد التحميل الأوليّ للصفحة، لا يمكن لعملية ضبط قيمة User-ID في أداة التتبّع حدوثها في وقت الإنشاء.

وفي مثل هذه الحالات، يمكنك استخدام الأمر set لضبط القيمة في أداة التتبّع فور التعرّف عليها.

// Creates the tracker and sends a pageview as normal
// since the `userId` value is not yet known.
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

// At a later time, once the `userId` value is known,
// sets the value on the tracker.
ga('set', 'userId', USER_ID);

// Setting the userId doesn't send data to Google Analytics.
// You must also use a pageview or event to send the data.
ga('send', 'event', 'authentication', 'user-id available');

وعند استخدام هذا المنهج، لن تحتوي النتائج المرسلة قبل الحقل userId على قيم أرقام تعريف المستخدمين. ومع ذلك، من خلال عملية تُعرف باسم توحيد الجلسة، يمكن لبرنامج "إحصاءات Google" ربط هذه النتائج بالمستخدم الصحيح في وقت المعالجة.