كي يحدّد Google Analytics أن نتيجتين مختلفتين تنتميان إلى المستخدم نفسه، يجب إرسال معرّف فريد مرتبط بهذا المستخدم المحدّد مع كل نتيجة.
وتُنفّذ مكتبة 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 Analytics ربط هذه النتائج بالمستخدم المناسب في وقت المعالجة.