Al configurar GTM me encontré con una encrucijada y no sé qué opción es la mejor y por qué.
Simo Ahava declara window.dataLayer antes de cualquier fragmento y no borra el objeto de comercio electrónico.
Por otro lado, Google recomienda borrar el objeto de comercio electrónico antes de cualquier evento de comercio electrónico para evitar posibles problemas con las variables que usan datalayer v1. La forma en que Google lo expresa es "para evitar que múltiples eventos de comercio electrónico en una página se afecten entre sí".
Google borra el objeto de comercio electrónico y usa una sintaxis diferente
El método de Google me suena mejor aquí, aunque podría decirse que Simo es el tipo más respetado en el espacio de rastreo.
Entonces, ¿qué método es el mejor y por qué?
No creo que estos dos fragmentos cubran los mismos casos de uso. Simo habla de inicializar la capa de datos (generalmente antes del fragmento de GTM, no tendría mucho sentido hacerlo después), el segundo fragmento asume que el objeto dataLayer ya existe.
Por lo tanto, esto no es "uno u otro", pero lo ideal es hacer ambas cosas: configurar el dataLayer antes del fragmento de GTM, pero también borrar el objeto de comercio electrónico entre dos impulsos de comercio electrónico no relacionados.