이 페이지에서

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

쿠키 및 동의 관리(웹 실험)

동의 게이팅은 방문자가 쿠키 배너에 응답할 때까지 방문자의 장치에 액세스하지 않고 웹 실험을 실행합니다. 동의 여부가 결정되지 않은 상태에서는 스크립트가 여전히 실험을 평가하고 깜박임 없이 변형을 적용하지만, 모든 쿠키 및 브라우저 스토리지 쓰기를 메모리에 보관하고 노출 이벤트를 버퍼링하며 제3자 오리진과 통신하지 않습니다. 방문자가 동의하면 스크립트는 보관된 데이터를 디바이스로 전송하고 버퍼링된 노출수를 보냅니다. 방문자가 동의를 거부하면 스크립트는 보관된 데이터를 폐기하고 이전 세션에 저장된 모든 데이터를 삭제합니다.

동의 게이팅은 웹 실험 스크립트에만 적용됩니다. 동의에 따라 Amplitude 애널리틱스 이벤트 수집을 게이트하려면 브라우저 SDK의 옵트아웃 및 지연된 초기화를 대신 사용하십시오. 쿠키 및 동의 관리(브라우저 SDK)를 참조하십시오.

동의 게이팅 활성화

웹 실험 스크립트 태그 위에 있는 window.experimentConfig 객체에 consentOptions을(를) 설정합니다:

html
<script>
  window.experimentConfig = {
    consentOptions: {
      consentRequired: true,
    },
  };
</script>
<!-- Web Experiment script tag -->

이 스크립트는 다음 세 가지 상태 값을 지원합니다.

  • pending: 방문자가 결정을 내리지 않았습니다. 스크립트는 전적으로 메모리에서 실행됩니다.
  • granted: 방문자가 동의했습니다. 스크립트가 정상적으로 실행됩니다.
  • denied: 방문자가 거절했습니다. 스크립트가 저장된 데이터를 지우며, 이 페이지 로드 시 클라이언트가 시작되지 않습니다.

pending는 초기 상태로서만 의미가 있습니다. 페이지가 렌더링될 때 동의 플랫폼이 이미 방문자의 결정을 알고 있는 경우, 스크립트가 올바른 상태로 시작되도록 구성에서 consentStatus을(를) 'granted' 또는 'denied'(으)로 설정하십시오.

런타임 시 동의 상태 업데이트

방문자가 배너에 응답하면 동의 관리 플랫폼의 콜백에서 setConsentStatus을(를) 호출하십시오:

js
window.webExperiment?.setConsentStatus("granted"); // or 'denied'

이 스크립트는 로드되는 즉시, 클라이언트가 초기화를 완료하기 전에 setConsentStatus을(를) window.webExperiment에 노출하므로, 일찍 실행되는 동의 콜백도 여전히 처리됩니다. 스크립트 태그 자체가 로드되기 전에 콜백이 실행될 경우를 대비하여 선택적 체인으로 호출을 보호하십시오.

런타임 상태는 항상 consentStatus 구성 값보다 우선합니다. pending로의 런타임 전환은 경고를 기록하며 아무런 영향도 주지 않습니다.

각 상태에서 일어나는 일

동의가 보류 중인 동안

스크립트는 실험을 평가하고 변형을 즉시 적용하므로 방문자는 배너에 응답했는지 여부에 관계없이 깜박임 없는 환경을 경험할 수 있습니다. 일반적으로 장치에 저장되는 모든 정보는 대신 메모리에 남아 있습니다.

  • 쿠키 및 브라우저 스토리지 쓰기는 메모리 내 버퍼로 이동합니다.
  • 노출 이벤트는 전송 대신 버퍼링됩니다.
  • 이 스크립트는 교차 서브도메인 행동 타겟팅 릴레이 프레임을 로드하지 않습니다.

방문자가 결정하지 않고 페이지를 떠나면 버퍼링된 데이터도 페이지와 함께 사라집니다. 지속되는 것은 없습니다.

방문자가 동의를 할 때

granted 상태는 페이지를 다시 로드하지 않고 게이트를 제자리에서 해결합니다:

  • 버퍼링된 스토리지에 대한 쓰기 작업은 디바이스로 플러시됩니다.
  • 버퍼링된 노출 이벤트는 한 번 전송됩니다.
  • 동작 타겟팅 릴레이 프레임이 로드됩니다.

동의가 거부된 상태로 페이지가 로드된 경우 클라이언트는 시작되지 않으므로, 나중에 허가된 경우(예: 환경설정 센터를 다시 열고 옵트인한 방문자) 동일한 페이지에서 클라이언트가 새로 시작됩니다.

방문자가 동의를 거부하거나 철회할 때

denied상태는 로드 시 설정되었든 세션 도중 취소로 설정되었든, 스크립트가 기기에 저장한 모든 것을 지웁니다. 즉, 스크립트가 저장하는 데이터에 나열된 키는 이 오리진의 저장소와 스크립트가 기록하는 모든 쿠키 범위에서 삭제됩니다. 이 스크립트는 거부 전에 버퍼링된 노출 이벤트를 영구적으로 폐기합니다. 방문자가 나중에 같은 페이지에서 다시 동의하면 폐기된 노출 이벤트는 전송되지 않습니다.

세션 도중 취소가 완료된 후에도 현재 페이지는 다음 탐색이 진행될 때까지 디바이스 쓰기가 억제된 상태로 메모리에서 실행되는 해당 적용된 변형을 유지합니다.

스크립트가 디바이스에 저장하는 데이터

동의가 허용된 경우(또는 동의 게이팅이 해제된 경우), 스크립트는 다음 키를 유지합니다. <slice>는 프로젝트 API 키의 처음 10자입니다.

참고 사항

  • 동의 게이팅은 반짝임 방지 스니펫과 함께 작동합니다. 변형은 pending중에 적용되므로 방문자가 결정하는 동안 페이지가 깜박이지 않습니다.
  • 웹 실험 동의를 거부한다고 해서 방문자가 Amplitude 분석에서 제외되는 것은 아닙니다. 브라우저 SDK를 사용하여 분석 동의를 별도로 관리하세요.
  • 미리보기 및 테스트 링크는 동의 상태에 관계없이 작동합니다.

이 내용이 도움이 되었나요?