본문 바로가기

Data & MarTech/Google Marketing Platform

[GTM] 서버사이드태그 - Transformations

반응형

GTM Server Side Tag - Transformations

Transformation는 Server-side container에 추가된 기능으로 Client - Tag 사이에서 이벤트 파라미터를 명칭 그대로 '변형'하여 전달할 수 있도록 하는 일종의 컨버터 역할을 제공합니다. 기존에는 GA태그 등 일정한 포맷으로 고정 값이 전달되는 태그의 경우, 필요에 따라 데이터를 변경하는 것이 어려웠지만 Transformation 기능이 제공되어 필요에 따라 태그 값을 변형하여 서버사이드 태그에 전달하는 것이 가능하게 되었습니다. 공식문서에서는 Transformation에 대해 '이벤트 파리미터를 변형하여 태그가 활용할 수 있도록 조정'한다고 안내되어 있으니 참고하시기 바랍니다.

 

Transformation이란?

Control the event paramaters available to tags with Transformation

Transformation은 Server Side의 Client가 Web Container Tag로부터 전달받은 이벤트 파라미터를 포함(include), 제외(exclude), 수정(modify)하는 기능을 제공하는 인터페이스입니다. Transformation은 GA4 client 바로 다음 레이어에 위치하는데 이를 통해 웹 컨테이너 원본값 자체가 변경되는 것이 아니며 이벤트 오브젝트가 변경된 형태로 복제되는 것이라고 보면 됩니다.

아래 그림을 예로 들어 보면, Google tag가 클라이언트(웹 브라우저)단에서 실행된 후 서버 컨테이너에 field1, field2가 포함된 URL을 전달하면 GA4 client는 이 값을 읽어 이벤트 오브젝트(Event Object) 형태로 읽을 수 있도록 지원합니다. 그럼 다음 단계인 Transformations에서 이벤트 오브젝트를 추가, 삭제, 확장하여 이후 Server Tag에 최종적으로 복제된 이벤트 오브젝트가 전달됩니다. 

Transformation Workflow (https://developers.google.com/tag-platform/tag-manager/server-side/transformations?hl=ko#what-are-transformations)

 

Transformation 생성하기 (Creating a Transformation)

1. Transformation 타입 선택

Transformation은 3가지 타입의 Transformation을 제공합니다.

Choose transformation type

  • Allow parameters: Allow tags to use event parameters
  • Augment event: Augment event parameters
  • Exclude parameters: Exclude event parameters from tags

 

타입에 따른 우선순위

Transformation 고급설정(Advanced Settings)에서 Priority를 지정하면 해당 Transformation이 우선 적용되며, 우선순위값이 특정되지 않은 경우에는 아래와 같은 순서로 변환이 실행됩니다. 태그에 따라 하나 이상의 변환이 적용될 수 있고 이는 언급한 우선순위에 따라 변환이 진행됩니다.

Allow parameters > Augment event > Exclude parameters

 

2. Transformation 타입별 상세 적용

1) 이벤트 파라미터 허용하기(Allow tags to use event parameters)

이벤트 파라미터 중 어떤 값들을 포함할지를 선택하는 기능을 제공합니다. 즉, 클라이언트 태그에서 전달한 값 중 특정 값만 허용하고자 할 경우에 Allow Tag를 사용하여 서버 태그에 넘겨주도록 선택할 수 있습니다. 또한 어떤 태그에만 적용을 허용할 지 여부도 선택이 가능합니다.

Parameters to Allow

허용할 이벤트 파라미터명을 등록하면 되고 Variable로 사전정의한 것을 사용하거나 직접 파라미터명을 입력하면 됩니다. 허용추가할 파라미터가 있을 경우 'Add Row'를 눌러 추가합니다.

Transformations - Allow parameters

 

2) 이벤트 파라미터 확장하기(Augment event parameters)

Augment 기능은 데이터 확장(Data Enrichment) 및 정리에 필요한 기능을 제공합니다. 확장은 이벤트 데이터값을 수정하거나 새로운 데이터를 추가하는 기능을 말하며 웹 컨테이너단에서 받은 기본적인 메타데이터(주문번호, 상품번호 등)을 참조하여 Cloud FireStore에서 상세 데이터를 조회하고 조회결과를 이벤트 오브젝트에 추가하여 서버태그로 전달하는 것이 가능합니다.

Parameters to Augment

확장하고자 하는 파라미터명(Name)과 값(Value)를 설정합니다. Name은 기존에 전달받은 파라미터명 및 신규 파라미터명 모두 사용이 가능합니다. 아래 예시에서는 items라는 새로운 파라미터를 추가하였고, Value값은 Cloud FireStore Lookup을 GTM 변수(Variable)로 추가하였습니다. Firebase Lookup 변수는 Web Container에서 전달받은 주문번호(order_id) 이벤트 파라미터를 읽은 후 FireStore items 값을 읽어오는 기능을 수행합니다.

Augment - Firebase CloudStore 연동한 Data 확장

Firebase Cloud Firestore

아래 그림의 items 부분이 실제 읽어올 value에 해당합니다. 

Firebase CloudStore 예시데이터

데이터 확장 결과

CloudStore 조회결과와 동일한 items 배열이 Event Data에 포함되어 변환된 것을 확인할 수 있습니다. 데이터조회는 Web Container에서 주문번호(transaction_id)를 이벤트 파라미터로 전달받은 다음 transaction_id를 가진 데이터를 찾는 방식입니다. 데이터 조회기능은 새로 추가한 Custom Variable, '[Firebase] Items By Order ID',에서 수행됩니다. 

주문번호 "11112222" 조회시 있는 items값을 잘 가져온 것을 확인할 수 있습니다.

 

NOTE!

Cloud FireStore를 연동하고자 할 경우, 현재 Server Side Tag Container의 서비스계정을 반드시 Firebase Project의 IAM User에 추가하여야 합니다.

이벤트 데이터 확장 결과

 

3) 이벤트 파라미터 제외하기(Exclude event parameters from tags)

태그에서 이벤트 파라미터를 제외해야 할 경우 이 변환 타입을 사용하면 됩니다. 제외대상으로 등록된 이벤트 파라미터를 제외한 이벤트 파라미터만 이후 호출되는 서버사이드 태그로 전달됩니다.

주의할 점!

특정 이벤트 파라미터를 제외할 경우 특정 파라미터가 필요한 태그가 정상적으로 동작하지 않을 수 있으므로 변환기능에 추가하기 전 테스트를 통해 의도치 않은 오동작이 없는지 점검하여야 합니다.

Transformation - Exclude parameters

 

3. Matching conditions

조건에 일치할 경우에만 변환기능이 동작하도록 설정할 수 있습니다. 아래 예시에서는 Server Side Tag Client를 통해 전달받은 Event Name이 singular_event라는 이름일 경우에만 동작하도록 추가하였습니다.

 

4. Affected tags

특정 Tag에만 변환이 적용되도록 할지 여부를 선택할 수 있습니다. Matching Conditions과 유사해 보이지만 어떤 Tag에 해당 변환이 동작하도록 할지 특정할 수 있다는 점이 다르다고 보면 됩니다.

 

Reference

Control the event parameters available to tags with Transformations
 

변환을 사용하여 태그에 사용할 수 있는 이벤트 매개변수 제어  |  Google 태그 관리자 - 서버

Google의 새로운 태그 플랫폼 문서를 미리 확인해 주셔서 감사합니다. 이 사이트는 공개 베타 버전입니다 (의견 보내기). 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 변환

developers.google.com

Transformations In Server-side Google Tag Manager
 

Transformations In Server-side Google Tag Manager

Transformations in server-side Google Tag Manager allow you to modify the event data object before it becomes available to tags. They are a governance and data enrichment tool, and this article explains how transformations work.

www.simoahava.com

 

반응형