Heap Auto-Capture 제품 분석 쿠키 동의 통합 가이드: 2026 퍼블리셔 플레이북

Heap은 기본 동작으로 인해 제품 분석 생태계에서 독특하다. Mixpanel, Amplitude, PostHog이 퍼블리셔에게 중요한 이벤트를 인스트루멘테이션하도록 요청하는 반면, Heap은 모든 것을 자동으로 캡처하고 분석가가 캡처된 스트림에서 소급적으로 이벤트를 정의할 수 있게 한다. 이 auto-capture 모델이 제품의 정의적 특징이자 팀이 선택하는 이유이다. 동시에 기본 Heap 배포가 퍼블리셔가 설치할 가능성이 높은 모든 도구 중 가장 넓은 행동 데이터 표면을 갖는 이유이기도 하다. 모든 클릭, 탭, 스크롤, 폼 상호작용, 페이지 전환, 레이지 클릭은 페이지 로드로부터 밀리초 이내에 영구 식별자에 대해 캡처된다. 이는 해당 작업 각각이 동의 의무를 발생시킨다는 것을 의미한다. 좋은 소식은 Heap이 Contentsquare 인수 이후 제품 분석 공간에서 가장 세분화된 동의 API 중 하나를 갖추고 있다는 것이다. 과제는 auto-capture 표면, 아이덴티티 레이어, Contentsquare 통합이 추가하는 세션 리플레이 모듈에 걸쳐 올바르게 배선하는 데 있다.

Heap이 동의를 필요로 하는 이유 — 답이 일반 분석보다 광범위한 이유

기본 Heap 초기화는 페이지의 첫 번째 렌더링 시 여러 작업을 수행한다. 영구 사용자 식별자를 포함하는 _hp2_id.{envId} 아래에 퍼스트파티 쿠키를, 세션 식별자가 포함된 _hp2_ses_id.{envId} 아래에 세션 쿠키를, _hp2_props.{envId} 아래에 샘플 레이트 쿠키를, SDK가 초기화되었음을 나타내는 _hp2_loaded 마커를 설정한다. 식별자가 없으면 고유 식별자를 생성하고, 리퍼러, UTM 파라미터, 클릭 식별자와 함께 초기 페이지뷰를 캡처하며, 해당 식별자에 대한 모든 후속 상호작용 — 클릭, 탭, 폼 변경, 경로 변경, 커스텀 이벤트, 그리고 Contentsquare 통합이 활성화된 경우 세션 리플레이를 위한 전체 렌더링된 DOM 차이 — 을 즉시 기록하기 시작한다.

이 활동 각각은 별도의 동의 게이트를 발생시킨다. 사용자 식별자 보존은 ePrivacy 지침 제5조(3)에 따른 저장 및 접근 작업으로, EEA, 영국, 그리고 동일한 기준을 도입한 모든 관할권에서 사전의, 자유롭게 제공된, 특정적, 정보에 기반한, 명확한 동의를 필요로 한다. auto-capture 이벤트 스트림 캡처는 식별자, IP 주소, 행동 추적의 조합이 개인을 특정하기에 충분하기 때문에 GDPR에 따른 개인 데이터 처리이다. 세션 리플레이는 EDPB 세션 리플레이 가이던스에 따라 별도의 더 엄격한 범주에 속한다 — 리플레이는 렌더링된 DOM과 마스크되지 않은 입력 필드를 캡처하며 일반 분석 동의와는 다른 명시적이고 세분화된 동의가 필요하다. CCPA와 CPRA는 퍼블리셔가 Heap과의 관련 서비스 제공자 계약이 없는 경우 동일한 처리를 판매 또는 공유로 취급한다.

Heap이 동의 전에 쓰는 것 — 억제해야 할 것

Heap 대시보드와 함께 제공되는 표준 빠른 시작은 추적 스니펫을 페이지 <head>에 직접 설치한다. 이는 문서대로 작동하며 Heap 배포에서 가장 흔한 규정 준수 실패의 원인이다. 스니펫은 쿠키 배너가 렌더링되기 전에 실행되고, _hp2_ 쿠키는 밀리초 내에 작성되며, auto-capture 스트림은 사용자가 나중에 결정하는 것과 관계없이 heapanalytics.com으로 흐르기 시작한다. 이 패턴에 대해 판결을 내린 모든 유럽 규제 기관은 동일한 결론을 내렸다. 동의 전에 설정된 쿠키는 불법이며 퍼블리셔가 책임을 진다.

따라서 규정을 준수하는 통합은 관련 동의 범주가 부여될 때까지 Heap 스니펫 로딩을 방지해야 한다. 프로덕션에서 작동하는 두 가지 패턴은 조건부 스크립트 주입 — CMP가 동의를 신호한 후에만 스니펫이 DOM에 추가됨 — 과 heap.load(appId, { disableTextCapture: true, secureCookie: true, autocapture: false })로 스니펫을 지연 부트스트랩으로 사전 로드한 후 동의가 기록되면 heap.startAutoCapture()를 호출하는 것이다. 조건부 주입 패턴이 더 깔끔하며 Heap 문서가 현재 권장하는 것이다. 지연 부트스트랩 패턴은 퍼블리셔가 아이덴티티 스티칭을 위해 안정적인 글로벌 참조가 필요하지만 동의 전에 auto-capture가 실행되도록 허용할 수 없을 때 올바른 선택이다.

Heap이 쓰는 쿠키와 스토리지

Heap 스니펫은 초기화 시 다음 식별자를 작성하며 모두 비필수이고 동의가 필요하다. 사용자 식별자를 포함하는 14개월 만료의 _hp2_id.{envId}, 30분 세션 만료의 _hp2_ses_id.{envId}, 샘플 레이트 및 속성 전파를 위한 _hp2_props.{envId}, 로드 마커로서의 _hp2_loaded. Contentsquare 통합 세션 리플레이 모듈은 몇 초마다 Heap 엔드포인트로 플러시되는 인메모리 기록 버퍼를 추가하며 소규모 리플레이 세션 식별자를 별도로 보존할 수 있다. 따라서 동의 철회는 _hp2_ 쿠키 만료와 Heap의 GDPR API를 통한 사용자의 이전 기록 및 이벤트 스트림에 대한 삭제 요청 신호 두 가지를 모두 수행해야 한다.

Heap을 동의 프레임워크에 매핑하기

Heap은 IAB TCF나 IAB Global Privacy Platform을 기본적으로 구현하지 않는다 — 광고 기술 공급업체가 아닌 퍼스트파티 제품 분석 플랫폼이다 — 하지만 퍼블리셔 측 브리징을 통해 Google Consent Mode v2와 통합되고, 기본 옵트인 및 옵트아웃 API를 노출하며, 동의 상태와 무관하게 작동하는 민감한 속성 편집 레이어를 지원한다. 규제 기관의 검토를 통과하는 패턴은 각 Heap 모듈을 특정 CMP 신호에 바인딩된 별도 게이트로 취급한다.

작동하는 통합 패턴

참조 배포는 네 가지 부분으로 구성된다. 실시간 동의 변경 이벤트를 노출하는 CMP, auto-capture가 비활성화된 상태로 Heap을 로드하는 지연 부트스트랩, 관련 게이트가 열릴 때 auto-capture를 활성화하고 세션 리플레이 버퍼를 시작하는 동의 리스너, 그리고 heap.resetIdentity()를 호출하고, auto-capture를 중지하고, _hp2_ 쿠키를 만료시키고, Heap의 GDPR 엔드포인트를 통해 삭제 요청을 디스패치하는 철회 경로이다.

웹 구현

웹에서 가장 깔끔한 패턴은 Heap 스니펫을 조건부로 로드하는 것이다 — <script> 태그는 분석 범주가 부여된 후에만 주입된다. CMP의 동의 변경 이벤트를 구독한다. 분석 범주가 true로 전환되면 secureCookie: true, 전체 auto-capture를 위한 disableTextCapture: false, 그리고 환경별 설정으로 Heap 스니펫을 주입한다. 세션 리플레이 동의가 true로 전환되고 Contentsquare 통합이 활성화되면 리플레이 버퍼가 자동으로 활성화된다. 어느 게이트든 철회되면 heap.resetIdentity()를 호출하고 Heap 스크립트 요소를 제거하며, document.cookie를 통해 _hp2_ 쿠키를 만료시키고 사용자 식별자에 대한 GDPR 삭제 API를 호출한다.

민감한 속성 편집

Heap은 동의 상태와 관계없이 작동하는 편집 레이어를 갖추고 있으며 동의가 부여된 경우에도 퍼블리셔가 사용해야 한다. 폼 필드의 data-heap-redact-text 속성은 캡처된 텍스트 콘텐츠를 억제하고, data-heap-redact-attributes 속성은 요소 속성을 억제한다. GDPR의 특별 범주 규칙과 CCPA의 민감한 개인정보 정의에 따라, 건강 정보, 재정 정보, 정부 식별자, 생체 인식 데이터, 정확한 지리적 위치 또는 개인 통신 내용을 캡처할 수 있는 모든 필드는 사용자의 동의 상태와 관계없이 편집 속성을 사용해야 한다. 폼 수준에서 속성을 설정하는 것이 가장 안전한 패턴이다 — 개발자가 개별적으로 표시하는 것을 잊은 새 필드를 추가할 때도 전체 폼을 억제한다.

지역 선택: EU 대 US 데이터 레지던시

Heap은 별도의 EU와 US 수집 엔드포인트를 운영한다. EEA와 영국 트래픽에는 EU 엔드포인트가 올바른 기본값이다. 수집, 처리, 저장을 EEA 내에 유지하고 모든 US 지역 분석 배포가 갖는 Schrems II 노출을 줄인다. 엔드포인트는 스니펫 설정을 통해 설정되며 소급적으로 변경할 수 없다 — 기존 데이터는 처음 수집된 곳에 남아 있다. Heap 출시를 계획 중인 퍼블리셔는 확장 전에 지역을 확인하고 프라이버시 공지에 선택 사항을 문서화하여 수집부터 저장까지 적법 근거 체인을 깨끗하게 유지하는 것이 좋다.

통합 및 감사 추적 검증

검증 단계는 규제 기관이 확인하고 퍼블리셔가 가장 자주 건너뛰는 것이다. 올바르게 통합된 Heap 배포는 순서대로 네 가지 테스트를 통과해야 한다. 첫째, 배너가 표시되었지만 선택이 이루어지지 않은 깨끗한 브라우저 세션은 SDK 파일 가져오기를 넘어 heapanalytics.com에 대한 요청이 0건이고 document.cookie에 _hp2_ 쿠키가 0개여야 한다. 둘째, 분석 거부는 해당 상태를 유지해야 한다 — auto-capture 없음, 식별자 없음, 기록 없음. 셋째, 분석 수락은 올바른 SameSite 속성을 가진 예상되는 _hp2_id 쿠키와 구성된 지역 엔드포인트로 흐르는 이벤트 트래픽을 생성해야 한다. 넷째, 동의 철회는 추가 auto-capture 및 리플레이를 즉시 중지하고, _hp2_ 쿠키를 만료시키며, Heap의 GDPR API를 통해 삭제 요청을 트리거해야 한다.

EDPB의 2023 쿠키 배너 가이드라인과 갱신된 2026 태스크포스 우선순위에 따른 감사 추적 기대치는 퍼블리셔가 Heap 프로젝트의 모든 이벤트에 대해 해당 이벤트를 생성한 사용자가 캡처 시점에 유효한 동의를 제공했음을 증명할 수 있어야 한다는 것이다. 표준 패턴은 heap.addUserProperties({ consent_version: 'v3', consent_ts: ts })를 통해 동의 버전과 타임스탬프를 고유 ID의 사용자 속성으로 설정하여 모든 개별 이벤트가 특정 동의 로그 항목으로 추적될 수 있도록 하는 것이다. 올바르게 게이트된 배포는 기본적으로 민감한 필드를 억제하는 편집 속성 및 철회 시 활성화되는 삭제 경로와 결합되어 Heap의 auto-capture 모델을 규제 집중 리스크에서 퍼블리셔의 제품 분석 스택에서 가장 강력하고 방어 가능한 부분 중 하나로 전환시키는 것이다.

← 블로그 전체 읽기 →