لكي يحدّد "إحصاءات Google" أنّ نتيجتَين مختلفتَين تنتميان إلى المستخدِم نفسه، يجب إرسال معرّف فريد مرتبط بهذا المستخدِم بالتحديد مع كل نتيجة.
وتنفذ مكتبة analytics.js ذلك من خلال حقل معرّف العميل، وهو سلسلة فريدة يتم إنشاؤها عشوائيًا يتم تخزينها في ملفات تعريف ارتباط المتصفح، بحيث يمكن ربط الزيارات اللاحقة إلى الموقع نفسه بالمستخدم نفسه.
تستخدم analytics.js تلقائيًا ملف تعريف ارتباط واحدًا للطرف الأول يُسمى
_ga
لتخزين معرّف العميل، ولكن يمكن تخصيص اسم ملف تعريف الارتباط ونطاقه
ووقت انتهاء صلاحيته. وتشمل ملفات تعريف الارتباط الأخرى التي تم إنشاؤها من خلال analytics.js
_gid
وAMP_TOKEN
و_gac_<property-id>
. وتخزِّن ملفات تعريف الارتباط هذه معرّفات أخرى
تم إنشاؤها عشوائيًا ومعلومات حملات حول المستخدم.
يسمح استخدام ملفات تعريف الارتباط لشفرة analytics.js بتحديد المستخدمين الفريدين عبر جلسات التصفح، ولكن لا يمكنه تحديد المستخدمين الفريدين عبر المتصفحات أو الأجهزة المختلفة. إذا كان موقعك الإلكتروني يتضمّن نظام مصادقة خاصًا به، يمكنك استخدام ميزة User ID، بالإضافة إلى Client ID، لتحديد المستخدم بدقة أكبر على جميع الأجهزة التي يستخدمها للوصول إلى موقعك الإلكتروني.
يوضّح هذا الدليل كيفية تخصيص إعدادات ملفات تعريف الارتباط بالإضافة إلى كيفية ضبط حقل رقم تعريف المستخدم لقياس نشاط المستخدم بدقة أكبر في جميع الجلسات.
ضبط إعدادات حقل ملفات تعريف الارتباط
يعرض الجدول التالي القيم التلقائية لحقول ملفات تعريف الارتباط التي تستخدمها analytics.js:
اسم الحقل | نوع القيمة | القيمة التلقائية |
---|---|---|
cookieName |
text | _ga |
cookieDomain |
text |
نتيجة تعبير JavaScript التالي:document.location.hostname
|
cookieExpires |
عدد صحيح | 63072000 (عامان بالثواني) |
cookieUpdate |
boolean |
true
|
cookieFlags |
text |
|
لتعديل أي من هذه القيم، يمكنك تحديدها في 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"، يتمّ تحديث وقت انتهاء صلاحية ملفّ تعريف الارتباط ليكون الوقت الحالي بالإضافة إلى قيمة الحقل 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.
لتنفيذ User ID باستخدام analytics.js:
- تقديم رقم تعريف فريد وثابت وغير محدِّد للهوية الشخصية لتمثيل كل مستخدم سجّل دخوله. غالبًا ما يتم توفير هذا المعرّف من خلال أحد أنظمة المصادقة.
- ضبط رقم تعريف المستخدم على جهاز التتبُّع:
ga('create', 'UA-XXXXX-Y', 'auto', { userId: USER_ID }); ga('send', 'pageview');
معالجة المصادقة بعد تحميل الصفحة
عند إنشاء تطبيقات صفحة واحدة أو مواقع إلكترونية ديناميكية أخرى تتعامل مع تسجيل دخول المستخدم بعد التحميل الأولي للصفحة، لا يمكن أن تحدث عملية ضبط قيمة رقم تعريف المستخدم على أداة التتبُّع في وقت الإنشاء.
وفي هذه الحالات، يمكنك استخدام الأمر
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" ربط هذه النتائج بالمستخدم الصحيح في وقت المعالجة.