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 태그 안에서 실행했을 때 잠깐 됐음. 근디 재현하려고 하니까 또 안됨. 열라 빡침.

 

 

https://www.simoahava.com/gtm-tips/use-eventtimeout-eventcallback/#commento-5c8615f8a3aae7a1a6f4b95645a3e5a1a871a05695225992122808a053aa1cb8

 

#GTMTips: Use eventTimeout With eventCallback

Introducing the eventCallback and eventTimeout keys in dataLayer when using Google Tag Manager.

www.simoahava.com