본문 바로가기

Google Tag Manager

4. 구글태그매니저 변수의 정의 : Google Tag Manager Variables

 

Google Tag Manager Variables

 

구글 태그 매니저의 핵심, 태그 매니저 변수

 

안녕하세요 그로스 해커 유성민입니다. 오늘은 구글 태그 매니저를 사용하시기 이전에 GTM에서 가장 중요한 개념인 “변수"에 대해서 자세히 설명드릴까 합니다. 변수라는 개념은 너무나도 방대한 역사를 가지고 있어서, 모든 내용을 한 번에 다루기에는 다소 한계가 있습니다. 저는 변수에 대한 간단한 정의와 Google Tag Manager에서의 변수는 어떻게 쓰일까에 대한 내용들을 구성해보도록 하겠습니다.

 

1. 변수, 그 자체에 대하여

 

여기 “철수가 가지고 있는 돈" 이라는 변수를 하나 만들었다고 가정합시다. 현재 “철수가 가지고 있는 돈”은 2000원입니다. 그런데 만약에, 철수가 1000원짜리 아이스크림을 사 먹었다고 생각해봅시다. 그러면, “철수가 가지고 있는 돈"은 1000원(2000원 - 1000원)이 될 것입니다. 그런데 여기서 주목할 점은, “철수가 가지고 있는 돈"의 값이 1000원이 줄어들어, 변화가 이루어졌습니다. 하지만, 여전히 그 남은 1000원은 “철수가 가지고 있는 돈" 이 맞습니다.

 

상황 1) 철수가 가지고 있는 돈 = 2000원

1000원 짜리 아이스크림을 구매한 후,

상황 2) 철수가 가지고 있는 돈 = 1000원

 

상황 1이든 상황 2이든 , 우리가 지금 지칭하고 있는 “철수가 가지고 있는 돈"이라는 이름 자체는 변화되지 않았습니다. 여기서 변하지 않는 이름, [철수가 가지고 있는 돈] 은 우리가 임의로 데이터를 저장하기 위해 만들어준 “변수"입니다. 그리고 위의 수식에서 우항에 있는 변하는 값은 우리가 지칭한 변수의 값이 된다 하여, “Value(값)”이라고 부르게 됩니다. 즉, 우리는 여러 가지 상황에 따라 변하는 값을 저장하기 위한 용도로 “철수가 가지고 있는 돈"이라는 가상의 변수를 하나 만들어 준 것입니다.

 

변수는 “하나의 데이터를 저장할 수 있는 메모리 공간" 을 의미합니다. 변수는 변할 수 있는 수를 의미합니다. 변수의 반대말은 항상 변하지 않는 “상수”입니다. 후에서도 설명할 테지만, 우리가 숫자를 배우고 난 후에서야 함수의 x를 배우는 것처럼, 프로그래밍에서도 “변수" 보다는 “상수”가 먼저 태어난 개념입니다. 여러 가지 값을 저장할 수 있었던 변수보다는 한번 메모리에 저장하면 변하지 않는 상수가 원시적인 프로그래밍 세계에서 쓰였던 개념인 것입니다. 하지만, 항상 변하는 값을 우리가 필요할 때마다 불러오고, 상황에 맞게 이 값을 변화시켜준다면, 그만큼 효율적인 프로그래밍을 만들어 낼 수가 있습니다.

 

2. 구글 태그매니저에서의 변수란?

 

개발자들에게 변수는 변하는 값을 대표하기 위해 사용되는 하나의 상징과도 같은 존재입니다. 태그 매니저 변수 역시, 변수의 근본적인 개념과 같은 기능을 가집니다. Google Tag Manager 변수들은 지난번 태그 매니저의 구조 편에서 말씀드렸던 트리거와 태그에 모두 사용됩니다.

 

1) 트리거에서의 변수 : 트리거에서의 변수는 특정한 태그가 Fired 되어야만 할 때 그 태그가 실행되어야 할 시기를 지정하는 필터를 정의하는 데에 사용되어집니니다.

(ex : “naver.com”이라는 도메인을 가지고 있는 URL에서만 pageview 트리거를 Fire 시켜라!)

 

2) 태그에서의 변수 : 태그에서의 변수는 동적으로 변화하는 값을 포착할 때 사용됩니다.

(ex : 전환 추적 태그에서 실제 상품이 구매되었을 때, 상품 구매액을 적용하고 포착하라)

 

태그 매니저는 각각의 컨테이너에서 공통적으로 사용할 수 있는 built-in variables(내장 변수)를 제공하고, 우리가 우리 웹사이트나 애플리케이션에서 추적하고자 하는 니즈에 맞게 적합한 user-defined variables(사용자 정의 변수)도 만들 수 있습니다. 즉 , GTM에서의 변수는 내장 변수와 사용자 정의 변수 2가지로 나뉩니다.

 

 

2014년 10월, 우리가 지금 사용 중인 구글태그 매니저의 버젼이 출시되었습니다. 출시와 함께 우리는 auto event tracking 과 같은 다양한 기능들과, 태그 매니저의 새로운 UI를 접하게 되었습니다. 이로 인해, 우리는 기존 프로그래밍 중심의 구글 태그매니저 활용 방식에서 좀 더 직관적이고 활용하기 쉬운 변수나 트리거를 가지고 구글 태그매니저를 사용하게 되었습니다.

 

이 커다란 변화를 하나씩 열거하는 것은 너무나도 방대한 양입니다. Auto-Event Tracking 기술은 정말 인상적이지만, 이전 구글 태그매니저의 버전과 비교를 해보았을 때, 우리는 변수와 트리거가 상당히 개선되었다는 점에 주목을 먼저 해보아야 될 것 같습니다. ( Auto - event Tracking 기술에 대해서는 추후 자세히 다룰 예정입니다.)

 

이러한 이유 때문에, 저는 여러분들에게 저만의 구글 태그 매니저 변수들을 정리해볼까 합니다. 제가 이 변수 가이드를 정리한다고 해서, 여러분들이 반드시 예전 매크로 가이드를 안 볼 필요는 없습니다. 왜냐하면, 아직도 예전 매크로 가이드에서 사용되고 있는 다른 타입의 변수들도 여전히 남아있기 때문입니다.

 

3. GTM 변수의 예시

 

프로그래밍 영역에서, 변수는 어떠한 값들을 저장하는 데에 필요한 컴퓨터 메모리에서 구획을 나누는 역할을 합니다. 사실 변수의 개념은 프로그래밍에서는 원시인의 “불"과 같은 매우 중요한 발명이 됩니다. 변수는 다양한 함수, 절차, 환경들을 넘나들며 재활용성을 가지기 때문입니다. 이전에는 동일한 가치의 값들을 일시적이고 일회용으로 사용하며, 중복성과 비효율성을 가지고 왔었습니다. 변수의 개념은 지금 존재하는 컴퓨팅 환경의 판도를 완전히 바꾸어 버렸습니다.

Google Tag Manager에서 변수 호출은 특정 구문과 같은 방식으로 수행됩니다.

{{변수 이름}}

 

나중에 우리가 배우겠지만, 우리는 우리가 원할 때마다 변수를 호출하기에는 한계가 있습니다. 하지만, 문법이나 문장이 허락하는 조건 하에서는 {{변수 이름}} 을 세팅하게 되면 “변수 이름"이라고 이름을 가진 변수의 기본 함수를 실행할 수 있습니다.

 

대표적인 예로, 구글 애널리틱스를 실행하기 위한 구글 태그 매니저 컨테이너 변수는 다음과 같습니다.

 

여기, 매번 태그를 만들 때마다, 구글 애널리틱스 추적 태그(UA-XXXXX-X)를 우리가 직접 타이핑하는 것이 아닌, 우리가 직접 상수를 생성하고 그 값을 구글 태그 매니저에 저장해둘 수 있습니다. 그러므로, 문법적으로 오류가 없는 상황에서는 우리가 원하는 어떤 때라도, 사전에 정의해둔 변수를 가져올 수 있다는 의미입니다.

 

저는 어떤 특정 상황에서는 이 변수가 GTM을 창조하거나, 없애버릴 수 있는 경지에 까지 내용을 다뤄볼 예정입니다. 몇몇의 보수적인 분들은 사이트에 GTM을 가지고 운용하는 주된 이점을 물어보곤 합니다. 저는 그럴 때마다, GTM의 특장점은 바로 변수에 있음을 말씀드리려 합니다. 구글 태그 매니저의 변수 기능은 유연성을 가지고, 우리가 직접 짠 코드를 추가하고, 궁극적으로는 시간을 절약할 수 있기 때문입니다.

 

오늘은 구글 태그 매니저에서의 변수의 개념에 대해서 자세히 살펴보았습니다. 다음 장에서는 구글 태그 매니저의 두 가지 변수(내장 변수, 사용자 정의 변수) 중 하나인 내장 변수에 대해서 자세히 살펴보도록 하겠습니다 :)