ماذا أفعل إذا قمت بإعداد عدد كبير من الأهداف في Yandex.Metrica عبر Google Tag Manager (GTM) ، وكنت بحاجة ماسة إلى نقل هذه الأهداف كأحداث إلى Google Analytics (GA)؟ بالطبع ، يمكنك إعادة تكوين كل علامة لإرسال الأحداث إلى GA و Metric بشكل متوازٍ ، ولكن إذا كان هناك الكثير من الأهداف في Metric ، فسيستغرق الأمر بعض الوقت.
يكون الموقف العكسي ممكنًا عندما تكون الأهداف لم تحددها أنت ، ولكن بواسطة المطورين في رمز الموقع نفسه. وأنت كمحلل شركة ، تحتاج إلى تهيئة إرسال الأحداث نفسها إلى GA ، ولديك GTM فقط في متناول يدك. في هذه الحالة ، حتى مع وجود عدد صغير من الأهداف ، يمكن أن تنشأ صعوبات. سوف تحتاج إلى تخصيص أكبر قدر ممكن من مشغلات الأحداث في GTM بحيث تتوافق الأهداف في Metric والأحداث في GA مع نفس المنطق ، ولا توجد تباينات كبيرة في أنظمة التحليل المختلفة.
في كلتا الحالتين ، يجب قضاء أكثر من ساعة في ضبط كل شيء يدويًا. ولكن يمكنك العثور على خيار أكثر عملية. هناك وظيفة تسمح لك باعتراض إرسال الأهداف إلى Metric وإرسال دفعات في وقت واحد إلى dataLayer. وبالتالي ، لن تحتاج إلى تذكر أو فهم كيفية تكوين إرسال الأهداف إلى Yandex.Metrica - ما عليك سوى استخدام الوظيفة المطلوبة. تعتمد نسخة العمل من الوظيفة على إصدار عداد Yandex.Metrica الذي قمت بتثبيته.
كيفية التمييز بين عداد متري جديد من القديم
لتحديد إصدار العمل الخاص بوظيفة ما ، تحتاج إلى فهم إصدار العداد المثبت على موقعك.
إذا تم تثبيت عدادك في وقت سابق في 12/10/2018 ولم يتم تحديثه لاحقًا ، فسيكون لديك إصدار قديم:
<script type="text/javascript" > (function(d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounterXXXXXXXX = new Ya.Metrika({ id: XXXXXXXX, clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true }); } catch (e) {} }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function() { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); })(document, window, "yandex_metrika_callbacks"); </script>
حيث:
XXXXXXXX هو رقمك المضاد.
يوضح w.yaCounterXXXXXXXX في التعليمات البرمجية أن هذا هو الإصدار القديم من العداد.
مثال على إرسال هدف في عداد قديم:
<script> yaCounterXXXXXXXX.reachGoal('TARGET_NAME'); </script>
حيث:
XXXXXXXX - رقم العداد الخاص بك ؛
TARGET_NAME هو معرف الهدف.
ظهرت نسخة جديدة من العداد في 12/10/2018.
يبدو مثل هذا:
<script type="text/javascript" > (function(m, e, t, r, i, k, a) { m[i] = m[i] || function() { (m[i].a = m[i].a || []).push(arguments) }; m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a) })(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(XXXXXXXX, "init", { clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true }); </script>
حيث:
XXXXXXXX هو رقمك المضاد.
يوضح ym (XXXXXXXX في التعليمات البرمجية أن هذا هو الإصدار الجديد من العداد.
مثال على إرسال هدف في عداد جديد:
<script> ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); </script>
حيث:
XXXXXXXX - رقم العداد الخاص بك ؛
TARGET_NAME هو معرف الهدف.
وظيفة للإصدار القديم من Yandex.Metrica
إذا كان لديك إصدار قديم من عداد Yandex.Metrica مثبت (انظر أعلاه) ، فإن وظيفة اعتراض إرسال الأهداف ستبدو كما يلي:
<script> function mainTagFunction(reachGoal) { yaCounterXXXXXXXX.reachGoal = function() { var param = arguments[0]; reachGoal.apply(this, arguments); </script>
حيث:
XXXXXXXX - رقم العداد الخاص بك ؛
يتم تشغيل التعليمة البرمجية في كل مرة يتم استدعاء الدالة yaCounterXXXXXXXXX باستخدام الأسلوب reachGoal. تعمل الوظيفة على الضغط في dataLayer ، عند الضغط ، ويتم نقل اسم الحدث (metrika) والمعلمة ، يتم تمرير معرف الهدف في المعلمة.
وظيفة للنسخة الجديدة من Yandex.Metrica
إذا كان لديك إصدار جديد من عداد Yandex.Metrica مثبتًا ، فستكون وظيفة اعتراض إرسال الأهداف كما يلي:
<script> function func (){ </script>
تعمل في كل مرة يتم استدعاء الدالة ym () ، وإذا تم استدعاء طريقة الوصول ، فإنها ترسل دفعة إلى dataLayer. يتم تمرير اسم الحدث (metrika) والمعلمة إلى dataLayer ، يتم تمرير معرف الهدف إلى المعلمة event_param.
تكوين حدث إرسال إلى GA عبر GTM
لتكوين GTM لإرسال الأحداث مع أهداف Metric في GA ، يجب عليك:
1. قم بإنشاء مشغل "
عرض الصفحة - جاهز طراز DOM " ، يمكنك تحديد الصفحات التي تريد تكرار الأهداف من Metric في GA

2. قم بإنشاء علامة "
HTML مخصصة " وأدخل رمز الوظيفة المطلوب فيها. يتم تثبيت المشغل الذي تم إنشاؤه مسبقًا على هذه العلامة.

3. قم بإنشاء مشغل "
حدث مخصص " باستخدام metrika لاسم الحدث.

4. قم بإنشاء متغير "متغير
مستوى البيانات " باسم كما هو موضح في المثال:

5. قم بإنشاء علامة "
Google Analytics - Universal Analytics " باستخدام المشغل والمتغير الذي تم إنشاؤه مسبقًا.

حيث:
UA-XXXXXXXX-XX - رقم عداد Google Analytics
6. نشر حاوية GTM.

باستخدام هذه الإعدادات ، ستتلقى Google Analytics أحداثًا مع فئة الحدث - Metrika ، وستكون الإجراءات الخاصة بهذه الأحداث هي معرفات الأهداف من Yandex.Metrica.

تحقق من الإعدادات
للتحقق من صحة الإعدادات لإرسال الأحداث إلى GA ، يجب إدخال الرمز التالي في وحدة التحكم في المتصفح الخاص بك:
أ) للحصول على عداد متري جديد
ym(XXXXXX, 'reachGoal', 'TARGET_NAME')
حيث:
XXXXXXXX - عدد العداد في Yandex.Metrica.
ب) بالنسبة للعداد المتري القديم
yaCounterXXXXXXXX.reachGoal('TARGET_NAME');
حيث:
XXXXXXXX - عدد العداد في Yandex.Metrica.
يتم فتح وحدة التحكم في كل مستعرض بطريقته الخاصة ، على سبيل المثال ، بالنسبة إلى Chrome ، يتم فتح وحدة التحكم باستخدام تركيبة المفاتيح
Ctrl + Shift + j :

بعد الضغط على Enter ، يجب ألا ينتقل حدثك إلى Metric ، بل إلى GA أيضًا.
للتحقق من ذلك ، افتح تقرير "الأحداث" في قسم "
في الوقت الحقيقي ":

إذا تم تكوين كل شيء بشكل صحيح ، فسترى خطًا به قيم Metrika و TARGET_NAME.
تهانينا ، لقد قمت بإعداد نقل الأهداف من Metric إلى Google Analytics!
تم إعداد المواد للبوابة Cossa.