اختبار إعدادات sendBeacon لإرسال البيانات

باستخدام الطرق القياسية لإرسال البيانات إلى Google Analytics ، من المحتمل ألا يكون لدى النظام وقت لإرسال جميع الأحداث إذا تمت مقاطعة العملية عن طريق إعادة تحميل الصفحة. في وقت سابق من هذا العام ، ظهرت العديد من المنشورات حول كيفية تحسين سلامة البيانات التي تم جمعها في الجمعية العامة. تم تخصيص أحدها للأحداث التي تتتبع إجراءات المستخدم التي تؤدي إلى إعادة تحميل الصفحة: النقرات على الروابط الخارجية وتنزيلات الملفات والنقرات على أزرار إرسال النموذج وقبل أحداث التحميل. لحل المشكلة ، يقترح مؤلف المادة ، ديمتري أوسيوك ، تعيين حقل النقل باستخدام منارة القيمة في رمز Google Analytics. يحدد هذا الحقل طرق الإرسال المراد استخدامها:


xhr (باستخدام كائن XMLHttpRequest)
صورة (باستخدام كائن صورة)
منارة (باستخدام طريقة navigator.sendBeacon).


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


الآن analytics.js نفسه يختار أفضل طريقة الشحن. يتم استخدام Navigator.sendBeacon فقط إذا تم تحديد منارة كآلية نقل (حقل النقل). وفقًا لـ Google ، من المحتمل أن يتم استخدام خيار beacon في المستقبل في المتصفحات التي تدعمه افتراضيًا. قررت أن تحقق في الممارسة العملية من تأثير استخدام إعداد sendBeacon.


ما تم القيام به:


تم اختيار حدث للاختبار: انقر على الرابط في القائمة. بالنقر فوق يتم تحميل صفحة أخرى.
أنشئ علامتين في Google Tag Manager ، تعمل على نفس المشغلات. واحد يستخدم طريقة الإرسال القياسية ، والثاني sendBeacon.


بالإضافة إلى ذلك ، قررت اختبار استخدام أولويات العلامات المختلفة في GTM لفهم تأثير الإعدادات في جميع الحالات.


بمعنى آخر ، عندما نقر المستخدم على الرابط الذي نحتاجه ، أرسلت GTM الحدث إلى GA مرتين: مرة واحدة باستخدام الطريقة القياسية ، مرة واحدة باستخدام طريقة sendBeacon. يمكن تغيير الأولويات في إعدادات العلامات المتقدمة في GTM ، العنصر هو "أولوية تنشيط العلامة". الصفر هو الأولوية الدنيا ؛ كلما ارتفع الرقم ، زادت الأولوية مقارنةً بالعلامات الأخرى. بشكل افتراضي ، القيمة هي صفر.



تحقق من sendBeacon


اختبرت ثلاثة خيارات:


  • تعطى الأولوية للإرسال القياسي ؛
  • الأولوية أعلى لـ sendBeacon ؛
  • أولوية عالية على حد سواء لكلا الطريقتين.

في حالة اختلاف الأولويات ، عندما نقر المستخدم على الرابط ، أرسل GTM أولاً الحدث بأعلى أولوية ، بعده مباشرة - الثاني. عندما تزامنت الأولويات ، عملت كل طريقة من الطرق في وقت سابق في نصف الحالات.


نتيجة لذلك ، يمكنك مراقبة اثنين من أزواج الأحداث - للكمبيوتر (سطح المكتب) والأجهزة المحمولة (الكمبيوتر اللوحي والمحمول).


الأولوية لإرسال القياسية



الأولوية في sendBeacon



نفس الأولوية - أكبر عينة



كما أظهر الاختبار ، أداء sendBeacon حقًا أفضل ، لكن النسبة المئوية للأحداث التي ربما لم يتم إرسالها ليست عالية. الفرق بالمقارنة مع طريقة الإرسال التقليدية ~ 0.3 ٪. تجدر الإشارة أيضًا إلى أن sendBeacon مصمم لتتبع الأحداث التي تقود المستخدم إلى صفحة جديدة. عند استخدام هذه الطريقة لتتبع جميع الأحداث على الموقع ، سيكون الفرق أقل أهمية. في الوقت نفسه ، لدى sendBeacon ميزة: إرسال البيانات بشكل غير متزامن ، لا يؤدي إلى إبطاء الموقع ، والذي يحدث عند استخدام طرق أخرى. سرعة تنزيل وتحميل الصفحات لا تنخفض.


* المكافأة: أثناء التجربة ، كنت مقتنعا بالإضافة إلى ذلك بأن أولويات تفعيل العلامات في GTM تعمل بشكل جيد.

Source: https://habr.com/ru/post/ar449688/


All Articles