퍼스트 파티 모드 설정

이 문서는 퍼스트 파티 모드로 Google 태그를 배포하려는 사용자를 대상으로 합니다. 가장 안정적인 태그 구성을 위해 퍼스트 파티 모드를 사용하는 것이 좋습니다.

퍼스트 파티 모드를 사용하면 웹사이트 도메인에 호스팅된 자체 퍼스트 파티 인프라를 사용하여 Google 태그를 배포할 수 있습니다. 이 인프라는 웹사이트와 Google 서비스 간에 위치합니다. 이 문서의 설정을 통해 웹사이트를 더 효과적으로 측정할 수 있습니다. 기존 콘텐츠 전송 네트워크 (CDN), 부하 분산기 또는 웹 서버를 사용하여 설정할 수 있습니다.

표준 Google 태그 설정에서 웹페이지는 Google 도메인에서 Google 태그를 요청합니다. 태그가 실행되면 측정 요청이 Google 제품에 직접 전송됩니다. 퍼스트 파티 모드에서는 웹사이트가 퍼스트 파티 도메인에서 Google 태그를 로드합니다. 태그가 실행되면 측정 요청이 퍼스트 파티 도메인으로 전송되고 여기에서 관련 Google 제품으로 전달됩니다.

다음 다이어그램은 퍼스트 파티 모드의 정보 흐름을 나타냅니다.

퍼스트 파티 모드 아키텍처 정보 흐름

시작하기 전에

이 가이드에서는 웹사이트가 다음과 같이 이미 구성되어 있다고 가정합니다.

시작하려면 설정 유형을 선택하세요.

1. 태그 게재 경로 선택

태그를 게재하기 위해 웹사이트 도메인에서 경로를 예약해야 합니다. 이 경로가 도메인에서 이미 사용 중이 아닌지 확인합니다.

퍼스트 파티 모드를 설정하려면 사이트에서 아직 사용하지 않는 경로를 선택합니다. 사이트에 이미 있는 경로와 충돌할 가능성을 줄이려면 문자와 숫자의 조합을 선택하거나 더 읽기 쉬운 경로를 원한다면 /metrics, /securemetric, /analytics과 같은 단어를 사용하거나 원하는 다른 단어를 사용할 수 있습니다.

경로는 루트 경로 /가 아니어야 하며 100자(영문 기준)를 초과할 수 없습니다.

다음을 입력하여 이 문서의 예시를 채웁니다.

Your domain: example.com
Google tag ID: G-12345
Tag serving path: /metrics

2. 트래픽 라우팅

이 섹션에서는 웹사이트에서 이미 경로별 트래픽 라우팅을 지원하는 CDN 또는 부하 분산기를 사용하고 있다고 가정합니다.

사이트 방문자의 대략적인 위치를 조회하는 새 백엔드를 설정하고 기존 외부 애플리케이션 부하 분산기에서 라우팅 규칙을 만들어야 합니다.

새 백엔드 만들기

  1. GCP 부하 분산기를 엽니다.

  2. 부하 분산기에서 백엔드 구성 섹션을 엽니다. 새 백엔드 서비스를 만듭니다. 백엔드 구성 설정의 스크린샷

  3. 다음과 같이 위치 정보로 새 백엔드 서비스를 구성합니다.

    • 이름을 지정합니다(예: measurement-be-svc).
    • 백엔드 유형인터넷 네트워크 엔드포인트 그룹으로 설정합니다.
    • 프로토콜HTTPS로 설정하고 시간 제한은 미리 채워진 값으로 둡니다.
    • 백엔드에서 인터넷 네트워크 엔드포인트 그룹 드롭다운을 클릭하고 새 인터넷 네트워크 엔드포인트 그룹을 만듭니다.
      • 네트워크 엔드포인트 그룹 유형인터넷 NEG (전 세계, 지역)로 설정합니다.
      • 범위전역으로 설정합니다.
      • 모두 추가정규화된 도메인 이름 및 포트로 설정합니다.
      • 정규화된 도메인 이름G-12345.fps.goog로 설정합니다.
      • 만들기를 클릭하여 엔드포인트를 만듭니다.
      • 네트워크 엔드포인트 그룹 탭을 닫아 새 백엔드 서비스 탭으로 돌아갑니다.
    • 새 네트워크 엔드포인트 그룹의 이름을 검색하여 선택합니다.
    • 고급 구성 섹션을 엽니다. 다음 커스텀 요청 헤더를 추가합니다.
      헤더 이름 헤더 값
      Host G-12345.fps.goog
      X-Gclb-Country {client_region}
      X-Gclb-Region {client_region_subdivision}
    • 기타 설정을 검토합니다. 이 통합에는 Cloud CDNCloud Armor가 필요하지 않으므로 둘 다 안전하게 사용 중지할 수 있습니다.
    • 새 백엔드 서비스를 저장합니다.

라우팅 규칙 구성

  1. 부하 분산기에서 라우팅 규칙 섹션을 엽니다.

  2. 다음 호스트 및 경로 규칙을 추가합니다.

    호스트 경로 백엔드
    * /metrics/* measurement-be-svc

  3. 부하 분산기 구성을 업데이트합니다.

  4. 브라우저에서 https://example.com/metrics/healthy로 이동하여 설정을 확인합니다. 페이지에 ok 텍스트가 있어야 합니다. https://example.com/metrics/?validate_geo=healthy로 이동하여 지리 정보가 포함되어 있는지 확인합니다. 페이지에 ok 텍스트가 있어야 합니다.

퍼스트 파티 모드로 태그를 게재하려면 새 하위 도메인의 CNAME 항목을 만들고, 요청을 전달할 Origin Rule을 만들고, 위치정보를 포함할 Transform Rule을 만듭니다. 이 설정을 완료하려면 Cloudflare Enterprise 요금제가 있어야 합니다. Enterprise 요금제를 사용하지 않는 경우 Cloudflare 자동 설정을 사용하는 것이 좋습니다.

CNAME 항목 만들기

CNAME 항목에 예약할 하위 도메인을 선택합니다. 다음을 작성하여 이 문서의 예시를 채웁니다. 이 CNAME은 Cloudflare 구성 외부에 노출되지 않으므로 이름은 임의로 지정할 수 있습니다.

CNAME subdomain: fps
  1. DNS 탭에서 레코드 섹션을 엽니다.
  2. 다음 구성으로 새 레코드를 추가합니다.
    • 유형CNAME으로 설정합니다.
    • 이름fps로 설정합니다.
    • 타겟G-12345.fps.goog로 설정합니다.
  3. CNAME 레코드를 저장합니다.

출처 규칙 만들기

  1. 규칙 탭에서 원본 규칙을 열고 규칙을 만듭니다.
  2. 규칙 이름을 입력합니다(예: Route measurement).
  3. 커스텀 필터 표현식을 기반으로 수신 요청을 일치시키고 표현식 수정을 클릭합니다.
  4. 빌더에 다음 표현식을 붙여넣습니다. (http.host eq "example.com" and starts_with(http.request.uri.path, "/metrics"))
  5. 호스트 헤더다음으로 재작성으로 업데이트합니다. G-12345.fps.goog.
  6. DNS 레코드재정의...로 업데이트합니다. fps.example.com.
  7. 출처 규칙을 저장합니다.
  8. 다른 출처 규칙이 있는 경우 새로 만든 규칙의 위치를 늘려 다른 와일드 카드 경로 뒤에 실행되도록 합니다.
  9. 브라우저에서 https://example.com/metrics/healthy로 이동하여 설정을 확인합니다. 페이지에 ok가 표시됩니다.

위치정보 포함

  1. 규칙 탭에서 변환 규칙을 엽니다.
  2. 요청 헤더 수정 규칙을 만듭니다.
  3. 모든 수신 요청에 규칙을 적용합니다.
  4. 다음 구성으로 요청 헤더를 수정합니다.
    • 연산자를 Set dynamic로 설정합니다.
    • Header nameX-CfIpCountryRegion로 설정합니다.
    • ip.src.subdivision_1_iso_code로 설정합니다.
  5. 변환 규칙을 배포합니다.
  6. 규칙이 적용될 때까지 몇 분 정도 기다립니다. 브라우저에서 https://example.com/metrics/?validate_geo=healthy로 이동하여 설정을 확인합니다. 페이지에 ok가 표시됩니다.

(선택사항) 방문자 IP 헤더 삭제

퍼스트 파티 모드에서는 방문자 IP가 올바르게 작동하지 않아도 됩니다. 방문자 IP 헤더 삭제 관리형 변환을 사용하여 모든 방문자 IP 헤더를 삭제할 수 있습니다.

퍼스트 파티 모드로 태그를 게재하려면 요청을 퍼스트 파티 모드 엔드포인트로 라우팅하도록 CDN 또는 부하 분산기를 구성해야 합니다.

  1. G-12345.fps.goog를 가리키는 원본 또는 백엔드를 추가합니다.
  2. 호스트 헤더를 G-12345.fps.goog과 동일하게 재정의합니다. 모든 쿠키와 쿼리 문자열이 전달되도록 허용합니다.
  3. 트래픽을 퍼스트 파티 모드로 라우트하는 /metrics/*의 경로 규칙을 추가합니다.
  4. 예약된 경로의 우선순위가 기본 규칙보다 높도록 구성합니다.
  5. 브라우저에서 https://example.com/metrics/healthy로 이동하여 설정을 확인합니다. 페이지에 ok가 표시됩니다.

3단계: 측정 경로를 사용하도록 웹사이트의 스크립트 업데이트

웹사이트의 각 페이지에 있는 스크립트를 다음 중 하나로 바꿉니다.

gtag.jsgtm.js

<head> 섹션 상단에서 Google 태그 ID가 포함된 두 줄의 스크립트를 찾습니다.

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-12345"></script>

대신 측정 경로로 바꿉니다.

<!-- Google tag (gtag.js) -->
<script async src="/metrics/"></script>

<head> 섹션 상단에서 태그 관리자 스니펫을 다음으로 바꿉니다.

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'/metrics/?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','');</script>
<!-- End Google Tag Manager -->

측정 설정 테스트

측정 설정을 테스트하려면 실행되는 태그가 하나 이상 있도록 컨테이너를 구성합니다.

  1. Tag Assistant로 이동하여 컨테이너를 미리 봅니다. 사이트를 탐색하여 이벤트를 트리거합니다.

  2. 요약 > 출력 > 전송된 조회수 탭에서 조회수가 /metrics로 라우팅되는지 확인합니다.

    설정을 확인하는 스크린샷