¿Qué debo hacer si configura una gran cantidad de objetivos en Yandex.Metrica a través del Administrador de etiquetas de Google (GTM) y necesita transferir urgentemente estos objetivos como eventos a Google Analytics (GA)? Por supuesto, puede reconfigurar cada etiqueta para enviar eventos en paralelo a GA y a la métrica, pero si hay muchas metas en la métrica, llevará tiempo.
La situación inversa es posible cuando los objetivos no fueron establecidos por usted, sino por los desarrolladores en el código del sitio. Y usted, como analista de la compañía, necesita configurar el envío de los mismos eventos a GA, y solo tiene GTM a su alcance. En este caso, incluso con un pequeño número de objetivos, pueden surgir dificultades. Los desencadenantes de eventos en GTM deberán personalizarse tanto como sea posible para que los objetivos en Métrica y los eventos en GA sigan la misma lógica, y no existan discrepancias significativas en los diferentes sistemas de análisis.
En ambos casos, se necesitará más de una hora para ajustar todo manualmente. Pero puedes encontrar una opción más práctica. Hay una función que le permite interceptar el envío de objetivos a la métrica y, al mismo tiempo, enviar impulsos al dataLayer. Por lo tanto, no necesitará recordar ni comprender cómo se configuró el envío de objetivos a Yandex.Metrica, solo use la función deseada. La versión funcional de la función dependerá de la versión del contador Yandex.Metrica que haya instalado.
Cómo distinguir un nuevo contador métrico de un antiguo
Para determinar la versión funcional de una función, debe comprender qué versión del contador está instalada en su sitio.
Si su contador se instaló anteriormente el 10/12/2018 y no se actualizó más tarde, entonces tiene una versión anterior:
<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>
donde:
XXXXXXXX es tu número de contador.
w.yaCounterXXXXXXXX en el código deja en claro que esta es la versión anterior del contador.
Un ejemplo de envío de un objetivo en un antiguo contador:
<script> yaCounterXXXXXXXX.reachGoal('TARGET_NAME'); </script>
donde:
XXXXXXXX : su número de contador;
TARGET_NAME es el identificador del objetivo.
Una nueva versión del contador apareció el 10/12/2018.
Se ve así:
<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>
donde:
XXXXXXXX es tu número de contador.
ym (XXXXXXXX en el código deja en claro que esta es la nueva versión del contador.
Ejemplo de envío de un objetivo en un nuevo contador:
<script> ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); </script>
donde:
XXXXXXXX : su número de contador;
TARGET_NAME es el identificador del objetivo.
Función para la versión anterior de Yandex.Metrica
Si tiene instalada una versión anterior del contador Yandex.Metrica (ver arriba), la función para interceptar los destinos de envío se verá así:
<script> function mainTagFunction(reachGoal) { yaCounterXXXXXXXX.reachGoal = function() { var param = arguments[0]; reachGoal.apply(this, arguments); </script>
donde:
XXXXXXXX : su número de contador;
El código se activa cada vez que se llama a la función yaCounterXXXXXXXXX con el método reachGoal. La función hace un empuje en el DataLayer, cuando se empuja, el nombre del evento (metrika) y el parámetro se transmiten, el identificador del objetivo se pasa en el parámetro.
Función para la nueva versión de Yandex.Metrica
Si tiene instalada una nueva versión del contador Yandex.Metrica, la función para interceptar el envío de objetivos es la siguiente:
<script> function func (){ </script>
Funciona cada vez que se llama a la función ym (), y si se
llamó al método
reachgoal , envía un impulso al dataLayer. El nombre del evento (metrika) y el parámetro se pasan al dataLayer, el identificador del objetivo se pasa al parámetro event_param.
Configurar el envío de eventos a GA a través de GTM
Para configurar GTM para enviar eventos con los objetivos de la métrica en GA, debe:
1. Cree un activador "
Ver página - Modelo DOM listo ", además puede especificar en qué páginas desea duplicar objetivos de Metric en GA

2. Cree una etiqueta de "
HTML personalizado " e inserte el código de función deseado. Un disparador creado anteriormente se instala en esta etiqueta.

3. Cree un activador de "
Evento personalizado " con el nombre del evento metrika.

4. Cree una variable "Variable
de nivel de datos " con un nombre como se muestra en el ejemplo:

5. Cree una etiqueta "
Google Analytics - Universal Analytics " con un activador y una variable que se crearon anteriormente.

donde:
UA-XXXXXXXX-XX : su número de contador de Google Analytics
6. Publique el contenedor GTM.

Con esta configuración, Google Analytics recibirá eventos con la categoría del evento: Metrika, y las acciones para estos eventos serán los identificadores de objetivos de Yandex.Metrica.

Verificar configuración
Para verificar la corrección de la configuración para enviar eventos a GA, debe ingresar el siguiente código en la consola de su navegador:
a) Para el nuevo contador métrico
ym(XXXXXX, 'reachGoal', 'TARGET_NAME')
donde:
XXXXXXXX : el número de su contador en Yandex.Metrica.
b) Para el antiguo contador métrico
yaCounterXXXXXXXX.reachGoal('TARGET_NAME');
donde:
XXXXXXXX : el número de su contador en Yandex.Metrica.
La consola en cada navegador se abre a su manera, por ejemplo, para Chrome, la consola se abre con la combinación de
teclas Ctrl + Shift + j :

Después de presionar Enter, su evento debe ir no solo a Metric, sino también a GA.
Para verificar esto, abra el informe "Eventos" en la sección "
En tiempo real ":

Si todo se configuró correctamente, verá una línea con los valores Metrika y TARGET_NAME.
¡Felicitaciones, ha configurado objetivos de transferencia de Metric a Google Analytics!
Se preparó material para el portal Cossa.