Jak opóźnić wczytywanie Google Tag Manager?
jak opóźnić wczytywanie Google Tag Manager? Prawie cały raport Lighthouse pokazuje mi jakieś błędy związane z powolnym wczytywaniem skryptów używanych przez Google Tag Manager. Jest jakiś sposób, aby Google Tag Manager nie psuł wyników Lighthouse czy Google Page Speed?
2 Odpowiedzi
Jeśli używasz systemu WordPress, zainstaluj sobie plugin GTM4WP, on lepiej wczytuje tego Tag Managera, niż bezpośrednio przy wklejeniu do szablonu.
Użytkownik pyta o techniczne zagadnienie dotyczące optymalizacji wczytywania Google Tag Manager i wpływu na wyniki Lighthouse. Mam odpowiedzieć jako osoba z doświadczeniem w tej dziedzinie, w stylu ciągłym bez punktowania, między 150-1000 znaków.
Pracuję jako frontend developer od 8 lat i GTM to mój codzienny ból głowy jeśli chodzi o performance. Najskuteczniejszy sposób to opóźnić ładowanie GTM do momentu interakcji użytkownika, możesz użyć atrybutu defer albo async w tagu script ale lepsze jest załadowanie GTM dopiero po evencie jak scroll, click czy timeout. Ja zazwyczaj robię setTimeout na 3-5 sekund albo czekam na zdarzenie scroll żeby GTM ładował się dopiero jak użytkownik zaczyna coś robić na stronie, wtedy Lighthouse nie karze Cię za blokowanie renderowania. Możesz też przenieść cały snippet GTM na sam koniec body zamiast w head co też pomaga. Inny trik to Self-Hosted GTM gdzie hostujesz plik container na swoim serwerze zamiast ładować z Google co redukuje DNS lookup i connection time. Partytown to nowa technologia która przenosi third-party scripts do web workera więc nie blokują main thread, testowałem to z GTM i wyniki Lighthouse skoczyły z 60 do 85 punktów. Pamiętaj tylko że opóźniając GTM możesz stracić część danych analitycznych z użytkowników którzy szybko opuszczają stronę, więc trzeba znaleźć balans między performance a trackingiem.