똑같은 삽질은 2번 하지 말자

Google Tag Manager에서 dataLayer로 변수 셋팅하기 본문

SEO

Google Tag Manager에서 dataLayer로 변수 셋팅하기

곽빵 2022. 4. 3. 17:01

개요

GTM을 사용하면서 내가 셋팅한 dataLayer에서 GA로 정보를 전송하기 위해서는 dataLayer 담은 값을 GTM의 변수로써

셋팅해야 하는데 어떻게 하면 될까?

 

데이터 영역 버전?

변수구성의 탭에 들어가면 위의 사진처럼 데이터 영역 버전 이라는 것을 발견할 수 있다.

 

버전1 vs 버전2

https://www.simoahava.com/gtm-tips/data-layer-variable-versions-explained/

 

#GTMTips: Data Layer Variable Versions Explained

A guide to how the two versions (1 and 2) of Google Tag Manager's Data Layer variable work, and how they are different from each other.

www.simoahava.com

위의 기사를 읽어보면 좀더 자세한 내용을 알 수 있지만,  간단하게 요약하자면

이하의 dataLayer가 셋팅되어있다고 가정한다.

window.dataLayer.push({
  'product' : {
    'price' : '119.99',
    'category' : 'Membership'
  }
});
window.dataLayer.push({
  'product' : {
    'price' : '1199.99',
    'name' : 'Tim Duncan Fan Club Membership'
  }
});

버전1은 dataLayer에 쌓여있는 값중에 이름이 겹치는 값들이 있으면 기존의 값들은 무시하고 무조건 최신의 값만 가져온다.

예를 들어, product라는 변수를 취득한다 하면

{
  'price' : '1199.99',
  'name' : 'Tim Duncan Fan Club Membership'
}

버전2은 dataLayer에 쌓여있는 값중에 이름이 겹치는 값들이 있으면  기존의 값고 최신의 값을 비교하여 겹치지 않는 부분은 merge하고 겹치는 부분들은 overwrite한다. 

{
  'price' : '1199.99', 
  'category' : 'Membership', 
  'name' : 'Tim Duncan Fan Club Membership'
}

 

dataLayer 담은 값을 GTM의 변수로써 셋팅하기

gtm.element 라고 명시하면

이하의 체크한 부분의 데이터를 습득하는게 된다.

 

변수를 셋팅하는게 끝났으면 이 변수를 특정이벤트의 트리거와 연결시켜 ga쪽으로 보낼 수 있게 된다.

이하의 페이지는 pageUrl, routeName, user_sex등등을 dataLayer를 이용한 변수셋팅으로 값을 취득하고 있다.

Comments