Ok Yandex! 驴D贸nde est谩n nuestros objetivos de alcance?

La historia sobre Yandex.Metrika ReachGoal, la ni帽a Lida y que no hay problemas insolubles



El mundo es imperfecto, la red mundial es a煤n m谩s imperfecta. A veces, puedes cerrar los ojos a esto. Pero no solo cuando una hermosa ni帽a llamada Lida del "departamento de marketing" est谩 de pie frente a usted, mir谩ndolo a los ojos y haciendo la pregunta: "Por alguna raz贸n, en Y. Metrica, los datos que veo en el embudo de pedidos son diferentes de esos que veo en nuestro sistema contable. Y tenemos m谩s pedidos ".

Dado que las ni帽as con ojos hermosos deben ser amadas y apreciadas de todas las formas posibles, se decidi贸 conectar el registro de eventos que ocurren con los clientes durante su proceso de pedido.

Especialmente sin esperar ning煤n efecto interesante y, por lo tanto, no sabiamente astuto, se agreg贸 r谩pidamente un servicio que registra los eventos que ocurren en la interfaz en los navegadores de los visitantes de nuestro sitio.

En primer lugar, est谩bamos interesados 鈥嬧媏n los eventos que podr铆an ocurrir durante la ejecuci贸n del c贸digo Y. Metrica, es decir, yaCounterXXXXXX.reachGoal ().

Entonces, configuramos todos los lugares donde necesitamos detectar la excepci贸n y enviar estos eventos al servidor:

try { yaCounterXXXXXX.reachGoal("EVENT_XXX"); } catch(e) { $.get("/front/service/event", {event: "YM-warning", goal: " EVENT_XXX ", message: e.message}); } 

El tiempo pasa, recordamos que arrojamos una ca帽a de pescar, pero no comprobamos la captura.
Vamos a mirar los registros, y para nuestra sorpresa, vemos aproximadamente lo siguiente:

 [2018-04-17 09:04:51.431] [BASKET_LOAD] [yaCounterXXXXXX is not defined] [Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36] [2018-04-17 09:09:18.082] [BASKET_LOAD] [yaCounterXXXXXX is not defined] [Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:59.0) Gecko/20100101 Firefox/59.0] [2018-04-17 09:09:21.369] [BASKET_LOAD] [yaCounterXXXXXX is not defined] [Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:59.0) Gecko/20100101 Firefox/59.0] [2018-04-17 09:09:24.990] [BASKET_LOAD] [yaCounterXXXXXX is not defined] [Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:59.0) Gecko/20100101 Firefox/59.0] [2018-04-17 09:09:27.001] [] [yaCounterXXXXXX is not defined] [Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:59.0) Gecko/20100101 Firefox/59.0] [2018-04-17 09:12:44.778] [ORDER_CREATED] [yaCounterXXXXXX is not defined] [Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:59.0) Gecko/20100101 Firefox/59.0] ...    

Un c谩lculo r谩pido mostr贸 que alrededor del 3..4..5% de los eventos en la canasta pasan por Y. Metrika. Lida ten铆a raz贸n. Y como la ni帽a tiene raz贸n, hay que hacer algo. Aunque cuando la chica se equivoca, a煤n debes hacer algo.

Comenzamos a buscar una raz贸n. El contador est谩 configurado correctamente, la gran mayor铆a de los eventos son registrados por ellos correctamente. Estamos tratando de buscar en Google la presencia de problemas similares entre colegas en el taller. No se encontr贸 nada por el estilo.

Yandex TechSupport respondi贸 con una carta que conten铆a un enlace a la documentaci贸n para instalar el contador m茅trico, por lo que, por supuesto, un agradecimiento por separado.

No describir茅 todas las hip贸tesis que hemos probado. La conclusi贸n es que, al momento de cargar la p谩gina, el c贸digo de contador Yandex.Metrica no se carga en el navegador del cliente y no se inicializa all铆. Puede ser un bloqueador de anuncios y / o rastreadores de seguimiento, puede haber algunos problemas de red entre el cliente y el servidor Yandex (esto es poco probable).

Tuve que tomar a Lida de las manos, mirarla a los ojos sin fondo y decir a rega帽adientes la cruda verdad: "Lida, tendremos que aceptar el hecho de que algunos visitantes de nuestro sitio no recibir谩n eventos de" pedido / rechazo de hacer un pedido "en Y. Metrika. Pero definitivamente se nos ocurrir谩 algo ".

El verano pas贸 y el oto帽o estaba llegando a su fin, cuando Lida apareci贸 nuevamente en el umbral de la oficina. En sus ojos llenos de l谩grimas, se hizo evidente que esos porcentajes desafortunados que pasaban le imped铆an mostrar hermosos informes a sus superiores y, por lo tanto, obtener una bonificaci贸n anual, que ya inclu铆a en su presupuesto para viajes a Tailandia para las vacaciones de A帽o Nuevo.

El coraz贸n tembl贸. Todo el equipo del grupo de front-end se reuni贸, y en una forma dif铆cil se le orden贸 "隆cavar desde aqu铆 hasta el almuerzo!" 隆la tarea se estableci贸 para resolver este problema de cualquier manera! No es eso !!! De lo contrario, Lida no podr谩 ir a Tailandia ...

Frontend no quiso cavar durante mucho tiempo y se ofreci贸 una soluci贸n r谩pida casi de inmediato:

 //     .    , //         //     var n = document.getElementsByTagName("script")[0], s = document.createElement("script"); s.src = "/js/yaScriptLocal.js"; n.parentNode.insertBefore(s, n); 

El resultado de esta decisi贸n se puede ver en el gr谩fico, este es un an谩lisis del registro de eventos



Como puede ver, el n煤mero de errores se redujo a casi 0

Si a煤n no ha verificado el 茅xito de la descarga de scripts Yandex.Metrica en su sitio, aseg煤rese de verificar. Tambi茅n te esperan descubrimientos interesantes.

Descargo de responsabilidad: entiendo que la soluci贸n anterior est谩 lejos de ser 贸ptima. Me alegrar铆a escuchar pensamientos y opiniones sobre este asunto.

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


All Articles