(대체됨) Google Tag Manager와 Universal Analytics 사용

:warning: 이 주제는 여전히 Google Tag Manager와 함께 Universal Analytics를 사용하는 사람들을 위한 참고 자료로 역사적 목적으로만 유지됩니다. Google이 GTM으로 UA 데이터를 전송하는 것을 중단하는 2023년 7월 이후에 삭제될 예정입니다.

:information_source: 현재 설정에 대한 문서는 Analytics용 Google Tag Manager 설정에서 확인할 수 있습니다.

이 주제에서는 Google Tag Manager를 통해 Google Universal Analytics를 사용하는 방법을 보여줍니다. 설정이 완료되면 Google Tag Manager API가 Discourse 사이트에서 실행되며, 이론적으로는 Tag Manager와 통합되는 모든 서비스로 임의의 이벤트를 전송할 수 있습니다. Analytics는 시작에 불과합니다.

:warning: 보안상의 이유로 최신 Discourse 설치 환경에는 모든 비-Discourse 스크립트를 차단하는 콘텐츠 보안 정책(CSP)이 적용됩니다. 이는 GTM 통합에 외부 스크립트를 추가할 경우 스크립트가 실행되도록 해당 도메인을 허용 목록에 추가해야 할 수 있음을 의미합니다.

예를 들어, 광고 기능이나 AdWords 통합을 활성화한 경우 다음을 추가해야 합니다.

  • https://stats.g.doubleclick.net
  • https://www.google.com

이 항목들을 content security policy script src 사이트 설정에 추가해야 합니다.

Custom HTML 태그에 자체 스크립트가 있는 경우, 이 가이드를 따르하여 Discourse에서 실행되도록 허용할 수 있습니다.


Universal Analytics

가장 먼저 필요한 것은 Analytics 계정을 만드는 것입니다. Google 계정으로 로그인되어 있다면, https://analytics.google.com을 방문하기만 하면 계정 생성을 안내받을 수 있습니다.

새 계정을 만든 후에는 속성(Property)을 생성하세요.

앱 유형으로 "Website"를 선택하고, 나머지 필드를 Discourse 사이트에 맞게 채우세요. 마지막에 **추적 ID(tracking id)**가 부여되며, UA-12345678-1과 같은 형태입니다. Tag Manager에 제공해야 하므로 잘 보관해 두세요.

:warning: Tracking ID가 보이지 않는다면 Google Analytics 4 속성을 가지고 있는 것입니다. (Google Analytics 4 속성에는 Tracking ID가 없습니다.) 대신 Universal Analytics 속성을 생성해야 합니다. Universal Analytics 속성 옵션은 고급 옵션 보기(Show advanced options) 아래에 숨겨져 있으므로 이 지침을 주의 깊게 따르세요. Universal Analytics 속성을 생성한 후에는 위의 지침을 따라 “UA-” Tracking ID를 찾을 수 있습니다.

Tag Manager

https://tagmanager.google.com을 방문하여 Google이 설정하도록 하세요. 로그인 후 첫 번째 "계정(Account)"과 “컨테이너(Container)” 생성을 prompted됩니다. 컨테이너가 사용될 장소를 묻는다면 "Web"을 선택하세요.

컨테이너가 생성되면, 이제 tag manager api의 일부 이벤트를 Google Analytics에 연결해야 합니다.

변수(Variables)

왼쪽의 Variables 탭으로 이동하세요. 하단의 User-Defined Variables 섹션의 “New” 버튼을 클릭합니다. 두 개의 변수를 생성할 것입니다.

Title: DL - page title
Type: Data Layer Variable
Data Layer Variable Name: page.title
Data Layer Version: 2

Title: DL - page url
Type: Data Layer Variable
Data Layer Variable Name: page.url
Data Layer Version: 2

예시는 다음과 같습니다:

트리거(Triggers)

이제 API에서 해당 변수가 도착할 때 무언가를 수행하는 트리거를 만들어 보겠습니다. 왼쪽의 “Triggers” 탭을 클릭하고 New를 클릭하세요. 유형으로 "Page View"를 선택하고, 저장한 후 트리거 이름을 virtualPageView로 지정하세요.

저장된 후 트리거는 다음과 같이 보일 것입니다.

태그(Tags)

마지막으로, Analytics를 추가할 준비가 되었습니다. 왼쪽의 Tags 탭을 클릭하고 새 태그를 생성하세요.

  • Tag Type: Google Analytics: Universal Analytics 선택
  • Configure Tag:
    • Track Type: Page View 선택
    • Google Analytics Settings: New Variable… 선택
    • Variable Configuration:
      • Tracking ID: Universal Analytics의 tracking id 입력 (UA-xxxxxxxx-x)
      • Cookie Domain: 아래 세 필드를 정확히 표시된 대로 추가합니다:
        • name: cookieDomain, value: auto
        • name: title, value: {{DL - page title}} (드롭다운에서 선택 가능)
        • name: page, value: {{DL - page url}}
    • Triggering:
      • virtualPageView 선택
  • Save and Name Tag

완료된 태그는 다음과 유사해 보일 것입니다:

게시(Publish)

페이지 오른쪽 상단의 Publish 버튼을 클릭할 때까지 이 작업은 라이브가 되지 않습니다. 게시되지 않은 변경 사항이 있으면 버튼이 빨간색으로 표시됩니다.

:warning: Discourse 사이트에서 googletagmanager.com의 404 오류가 보고되는 경우, 변경 사항을 게시하지 않았기 때문일 가능성이 높습니다.

Discourse

GTM은 데이터를 기다리고 있으므로, 이제 Discourse 사이트에 데이터를 추가해 보겠습니다. Admin의 Settings 탭으로 이동하여 gtm container id를 검색하고 tag manager id를 입력하세요. 이 ID는 항상 tag manager UI의 상단 내비게이션 바에 표시되어야 합니다.

:warning: ga universal tracking codega tracking code 설정에서 Analytics 추적 코드를 반드시 제거하세요.

페이지를 새로고침하면 데이터가 GTM을 통해 Analytics로 흘러들어갈 것입니다. 실시간 콘텐츠 뷰를 보고 사이트 방문자의 트래픽과 URL을 확인하세요.

더 이상?

이제 페이지뷰 데이터가 tag manager로 전송되고 있으므로, 이벤트를 받는 추가 태그를 추가할 수 있습니다. Google DFP, AdWords, LinkedIn 등이 목록에 있습니다.

관련 링크:


@MarkDoerr가 [date=2023-02-08 time=17:10:00 timezone=“America/Los_Angeles”]에 마지막으로 검토함

1개의 좋아요

감사합니다, @MarkDoerr. 이제 사용해야 할 discourse 해결책에 대한 링크를 공유해 주시면 도움이 될 것 같습니다.

1개의 좋아요

링크를 그대로 유지하고, 그동안 해당 링크가 쌓아온 좋은 인기도 보존하기 위해, 기존 설정 문서에 GA4에 대한 새로운 정보를 추가하여 업데이트했습니다.

다만, 혹시 이 답변을 먼저 접하게 되는 분들이 있을까 봐 말씀해 주신 점이 좋습니다. 원 답변을 업데이트했습니다.

감사합니다!

1개의 좋아요