قياس تطبيق الصفحة الواحدة

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

نظرة عامة

تطبيق الصفحة الواحدة (SPA) هو تطبيق ويب أو موقع إلكتروني يحمِّل جميع الموارد المطلوبة للتنقل عبر الموقع الإلكتروني عند تحميل الصفحة الأولى. وعندما ينقر المستخدم على الروابط ويتفاعل مع الصفحة، يتم تحميل المحتوى اللاحق ديناميكيًا. سيقوم التطبيق غالبًا بتحديث عنوان URL في شريط العناوين لمحاكاة التنقل التقليدي في الصفحة، ولكن لا يتم تقديم طلب آخر للصفحة الكاملة مطلقًا.

تعمل علامة "إحصاءات Google" التلقائية بشكل جيد مع المواقع الإلكترونية التقليدية لأنّه يتم تشغيل رمز المقتطف في كل مرة يُحمِّل فيها المستخدِمون صفحة جديدة. ومع ذلك، بالنسبة إلى تطبيق من صفحة واحدة يحمّل فيها الموقع محتوى صفحة جديدًا ديناميكيًا بدلاً من تحميل صفحة كاملة، لا يتم تشغيل رمز مقتطف analytics.js إلا مرة واحدة. وهذا يعني أنّه يجب تسجيل مشاهدات الصفحة (الافتراضية) اللاحقة يدويًا عند تحميل محتوى جديد.

تتبع مرات المشاهدة الافتراضية لصفحة الويب

عندما يحمّل تطبيقك المحتوى ديناميكيًا ويعدّل عنوان URL في شريط العناوين، يجب أيضًا تعديل البيانات المخزَّنة على جهاز التتبُّع.

لتحديث جهاز التتبُّع، استخدِم الأمر set وأدخِل قيمة page الجديدة:

ga('set', 'page', '/new-page.html');

بعد تعيين قيمة الصفحة الجديدة، ستستخدم جميع النتائج اللاحقة المُرسلة هذه القيمة الجديدة. لتسجيل مشاهدة صفحة على الويب، أرسِل نتيجة مشاهدة صفحة على الويب فورًا بعد تحديث أداة التتبُّع.

ga('set', 'page', '/new-page.html');
ga('send', 'pageview');

على الرغم من أنّ الأمر send لنتائج مشاهدة الصفحة على الويب يقبل من الناحية الفنية حقل page اختياري كمَعلمة ثالثة، لا يُنصح بتمرير حقل page بهذه الطريقة عند قياس تطبيقات الصفحة الواحدة. ويرجع ذلك إلى أنّ الحقول التي يتم تمريرها من خلال الأمر send لا يتم ضبطها في أداة التتبُّع، بل يتم تطبيقها على النتيجة الحالية فقط. سيؤدي عدم تعديل أداة التتبُّع إلى حدوث مشاكل إذا كان تطبيقك يرسل أي نتائج غير مشاهدات الصفحة على الويب (مثل الأحداث أو التفاعلات الاجتماعية)، حيث سيتم ربط هذه النتائج بأي قيمة page كانت واردة في أداة التتبُّع عند إنشائها.

معالجة عناوين URL متعددة للمورد نفسه

ولا تعدّل بعض تطبيقات الخدمة (SPA) جزء التجزئة من عنوان URL إلا عند تحميل المحتوى بشكل ديناميكي. وقد تؤدي هذه الممارسة إلى مواقف يشير فيها العديد من مسارات الصفحات المختلفة إلى المورد نفسه. في هذه الحالات، من الأفضل عادةً اختيار عنوان URL أساسي وإرسال قيمة page هذه إلى "إحصاءات Google" فقط.

على سبيل المثال، لنفترض أنّ موقعًا إلكترونيًا يمكن الوصول إلى الصفحة "لمحة عنّا" منه من خلال أيّ من عناوين URL التالية:

  • /about.html
  • /#about.html
  • /home.html#about.html

لتجنّب التكرار في تقاريرك، من الأفضل تسجيل كل مرّات مشاهدة الصفحة هذه على أنّها /about.html.

اعتبارات مهمة

عدم تعديل مُحيل المستند

عند إنشاء عنصر تتبُّع باستخدام الأمر create، يتم تخزين قيمة document.referrer في الحقل referrer في جهاز التتبُّع. في سياق تطبيق من صفحة واحدة لا يستخدم عمليات تحميل الصفحة الكاملة، سيظل الحقل referrer كما هو دائمًا.

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

عدم تعديل موقع المستند

وبالطريقة نفسها التي يستخدم بها جهاز التتبُّع document.referrer للحقل referrer، فإنّه يستخدِم document.location للحقل location الذي قد يحتوي على بيانات الحملة أو بيانات وصفية أخرى في شكل مَعلمات طلب بحث يتم إلحاقها بنهاية عنوان URL.

قد يؤدّي تحديث أيٍّ من حقول الحملة أو البيانات الوصفية الأخرى التي يتمّ التحقّق منها في "إحصاءات Google" إلى إنهاء الجلسة الحالية وبدء جلسة جديدة. لتجنب هذه المشكلة، لا تعدِّل الحقل location عند قياس مرات المشاهدة الافتراضية للصفحة في تطبيق من صفحة واحدة. استخدِم الحقل page بدلاً من ذلك.

عدم إنشاء أجهزة تتبُّع جديدة

لا تنشئ أجهزة تتبُّع جديدة في تطبيق من صفحة واحدة في محاولة لمحاكاة ما يفعله مقتطف تتبُّع JavaScript في المواقع الإلكترونية التقليدية. وقد يؤدي ذلك إلى خطر إرسال مُحيل غير صحيح بالإضافة إلى بيانات حملة غير صحيحة كما هو موضح أعلاه.