TIL
1/12
닉네임이 멋이 중헌디
2024. 1. 12. 18:29
GTM & GA
GTM이 데이터 영역이라는 매개체를 제공하고 정의한 ga 이벤트를 이 데이터 영역에 push하면 gtm이 가져감
1. GTM이 로드되기 전에 dataLayer에 모두 push 되어야 한다
headscripts로 dataLayer push 코드를 옮겨서 GTM 로드 전에 실행하도록 함
2. 그런데도 안되는 이유
dataLayer에 push하고 location redirect할 때 이벤트 수집이 잘 안되는 문제가 있음
redirect하기 전 setTimeout으로 시간을 지연시키면 되기도 하는데 이건 해결책X
3. 아래 링크 참고해서 ga한테 eventCallback을 통해 redirect를 직접하도록 넘겼는데도 안됨. 근디 이건 내가 string으로 함수 짜는 게 서툴러서 그럴 수도 있음
cf. 굉장히 열받는 포인트 : 1번을 시도했을 때 잠깐 이벤트가 찍히는 것을 ga 툴로 확인할 수 있었음. 모든 headscripts를 각자 다른 script로 실행하는 게 아닌 같은 script 태그 안에서 실행했을 때 잠깐 됐음. 근디 재현하려고 하니까 또 안됨. 열라 빡침.
#GTMTips: Use eventTimeout With eventCallback
Introducing the eventCallback and eventTimeout keys in dataLayer when using Google Tag Manager.
www.simoahava.com