This content originally appeared on DEV Community and was authored by Gregory Russo
No dia a dia de um time de desenvolvimento, a pressão para a implementação de uma feature ou principalmente a correção de um bug é gigantesca e realmente explicável, mas essa pressão acaba nos levando a tomar decisões que a longo prazo podem onerar muito a performance do site.
Se você precisa ter em mãos os dados de sua página, provavelmente você utiliza a dupla: Google Analytics (GA) e o Google Tag Manager (GTM). Aqui não estarei tão focado em explicar as suas funções, neste artigo da Alura, temos uma explicação clara sobre a função e importância de cada um. Minha intenção é conseguir te ajudar a argumentar com seu PO sobre o porquê priorizar a soluções definitivas o mais rápido possível sempre que o GTM for utilizado da maneira errada.
O GTM implementa uma série de tags na nossa página, isso é, blocos de código, com essa facilidade, a área de marketing tem uma ferramenta fácil e rápida para integrar scripts de terceiros na página, manipular cookies ou implementar trackings do GA, porém, junto disso, trazemos a possibilidade de alterar o front-end do nosso site em produção, tornando-se a ferramenta oficial para features temporárias que viverão para sempre no seu site.
Qual o problema com o GTM?
O GTM nos traz a possibilidade de implementarmos HTML na página, incluindo a tag <script>
, isso é, podemos rodar qualquer código Javascript, manipulando qualquer elemento do DOM.
Porém, sabemos que muitas vezes criar uma feature dentro do fluxo comum de deploy é custoso, algumas empresas passam por processos de aprovação de GMUD’s, podendo levar até dias para que um deploy esteja de fato no ar, nesse momento, ferramentas como o GTM se tornam tentadoras.
É lógico que, dentro desse cenário citado, caso aconteça um deploy que gere um bug em produção, a busca por uma solução rápida faz todo sentido, não estou aqui para julgar e criticar quem pensa em resolver, antes de qualquer outra coisa, minha crítica é quando não realizamos a priorização dessa correção no código fonte de maneira imediata.
O script do GTM é implementado no código fonte da sua página, quando se inicia o carregamento do seu site no navegador, uma requisição é realizada para a sua API que responde todas as tags que serão implementadas na sua página, incluindo as suas gambiarras. Apesar da ferramenta até possui um sistema de gatilho para que uma tag seja disparada apenas no momento desejado, por exemplo, podendo definir que uma tag carregue apenas em uma URL específica, porém, independentemente se essa tag será disparada, o seu código é retornado pela API, aumentando o tamanho dessa resposta e carregando mais conteúdo que o necessário.
De maneira simplória, quanto mais tag criada tivemos no GTM, maior o tamanho do retorno do script, consequentemente, mais lento será o carregamento da sua página.
Por conta desse carregamento ser feito no navegador, caso você realize uma manipulação no DOM para alterar um elemento HTML, por exemplo, corre o risco que o usuário veja essa mudança acontecendo, gerando um efeito indesejado na página. A grosso modo, o fluxo funcionaria mais ou menos assim: o servidor devolveria o código fonte da sua página com o seu elemento HTML já montado, posteriormente o script do GTM é acionado, realizando uma chamada para a API e aguardando seu retorno, após essa resposta acontecer, as tags serão carregadas uma a uma na sua página e aí sim, sendo disparadas, somente nesse momento que a sua gambiarra aparecerá de fato.
A minha intenção, caro leitor, é instigar o time de desenvolvedores para que sempre que uma mudança desse tipo seja realizada no GTM, logo, seja priorizada para corrigir em definitivo e excluir a gambiarra nessa ferramenta, que apesar de muito fácil, pode gerar grandes problemas a longo prazo se não for gerenciada da maneira certa.
E você, qual sua experiência com o GTM? Muita gambiarra implementada nele? Me diga nos comentários.
This content originally appeared on DEV Community and was authored by Gregory Russo
Gregory Russo | Sciencx (2021-09-11T13:53:36+00:00) GTM – Ferramenta oficial de features temporárias que viverão para sempre.. Retrieved from https://www.scien.cx/2021/09/11/gtm-ferramenta-oficial-de-features-temporarias-que-viverao-para-sempre/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.