동의 모드 구현 실무: 무엇을 언제 수집할 것인가
📖 약 3분 읽기
“동의 배너만 붙이면 끝 아닌가요?” 동의 모드 도입을 맡게 된 실무자가 가장 먼저 던지는 질문입니다. 그런데 배너를 붙이는 순간부터 데이터 수집 구조 자체가 달라집니다. 방문자가 무엇을 승인하고 무엇을 거부하느냐에 따라 태그가 발화하는 조건이 갈리기 때문입니다. 동의 모드는 태그를 통째로 켜고 끄는 스위치가 아니라, 동의 상태에 따라 수집 범위를 나누는 설계라는 점을 먼저 이해해야 실제 구현으로 넘어갈 수 있습니다.
시작하기 전에 한 가지 밝혀 둡니다. 이 글은 구현 방법을 다루는 실무 안내이지 법률 자문이 아닙니다. 무엇을 동의 대상으로 볼지, 어떤 문구로 동의를 받을지는 서비스가 다루는 정보와 적용받는 법령에 따라 달라집니다. 아래 내용은 태깅을 어떻게 구성할지에 대한 것이고, 수집 항목과 동의 문구는 관련 법령과 지침을 확인한 뒤 법률 검토를 거쳐 정하십시오.
동의 상태를 나누는 기준부터 정리합니다
동의 모드는 크게 두 목적으로 상태를 구분합니다. 하나는 분석 목적, 다른 하나는 광고 목적입니다. 방문자가 분석은 허용하지만 광고는 거부할 수도 있고, 반대의 경우도 있습니다. 그래서 태그 하나하나가 어떤 목적에 속하는지 먼저 분류해야 합니다. 예를 들어 페이지뷰를 기록하는 태그는 분석 목적이고, 리마케팅 목록에 방문자를 추가하는 태그는 광고 목적입니다. 이 분류가 흐트러지면 방문자가 거부한 목적의 데이터가 그대로 수집되는 사고로 이어집니다.
방문자가 선택하기 전, 기본값을 무엇으로 둘지 정합니다
배너가 뜨는 순간부터 방문자가 버튼을 누르기까지는 시간차가 있습니다. 이 짧은 구간에 태그가 어떤 상태로 동작할지 미리 선언해두는 것이 기본값 설정입니다. 기본값을 승인으로 두면 방문자가 아직 선택하지 않은 상태에서도 수집이 이루어지고, 거부로 두면 명시적으로 승인하기 전까지 수집이 멈춥니다. 어느 쪽으로 둘지는 서비스가 적용받는 규정과 정책에 따라 달라지므로 법률 검토에서 정할 사항입니다.
구현 관점에서 중요한 것은 이 선언이 실행되는 시점입니다. 태그가 먼저 로드되고 기본값 선언이 늦게 실행되면, 그 사이에 이미 데이터가 나가버릴 수 있습니다. 그래서 기본값 선언은 다른 태그보다 항상 먼저 실행되도록 순서를 고정해야 합니다.

상태별로 무엇을 수집할지 결정하는 방법
기본값을 정했다면, 그다음은 승인과 거부 각 상태에서 실제로 무엇을 수집할지 정하는 단계입니다. 여기서 핵심 결정은 거부 상태에서도 익명 신호를 보낼지 여부입니다. 방문자가 광고 목적을 거부했더라도, 개인을 식별할 수 없는 형태의 신호를 일부 전달해 전체 추세를 보정하는 방식이 있습니다. 이 신호를 쓸지 말지는 서비스 정책과 법률 검토에 따라 다르지만, 어느 쪽을 택하든 문서로 남겨두어야 나중에 수집량 변화를 설명할 근거가 생깁니다.
| 태그 목적 | 승인 상태 | 거부 상태 · 익명 신호를 보내는 경우 | 거부 상태 · 아무것도 보내지 않는 경우 |
|---|---|---|---|
| 분석 목적 | 페이지뷰와 이벤트를 식별자와 함께 수집한다 | 식별자 없이 집계에 쓸 신호만 보낸다 | 전송하지 않는다. 해당 방문은 집계에서 빠진다 |
| 광고 목적 | 전환을 전달하고 리마케팅 목록에도 반영한다 | 전환 집계를 보정할 신호만 보내고 리마케팅 목록에는 넣지 않는다 | 전송하지 않는다. 전환도 리마케팅도 잡히지 않는다 |
구현 절차는 순서가 중요합니다
실제 구현은 네 단계로 진행합니다. 먼저 동의 관리 도구를 페이지에 연결하고, 이어서 기본값을 선언합니다. 그다음 태그별로 어떤 동의 상태와 연동되는지 지정하고, 마지막으로 방문자가 선택을 바꿀 때마다 갱신 신호가 전달되도록 설정합니다. 이 네 단계 중 하나라도 빠지면 나머지 단계가 정상 작동하더라도 전체 구조가 무력화됩니다. 특히 갱신 신호는 방문자가 나중에 설정을 바꿀 가능성을 반영하는 부분이라 놓치기 쉬운 항목입니다.
검증은 상태별 발화를 직접 관측해야 합니다
구현을 마쳤다면 승인 상태와 거부 상태를 각각 만들어 놓고, 어떤 태그가 실제로 발화하는지 하나씩 확인합니다. 승인 상태에서 발화해야 할 태그가 거부 상태에서도 발화한다면 연동이 잘못된 것이고, 반대로 승인 상태에서 발화해야 할 태그가 조용하다면 조건이 지나치게 엄격하게 걸린 것입니다. 이 관측 과정은 한 번으로 끝나지 않고, 태그를 추가하거나 동의 관리 도구를 업데이트할 때마다 반복해야 합니다.
흔히 발생하는 오류 세 가지
실무에서 반복적으로 나타나는 문제는 대체로 세 가지로 좁혀집니다.
| 오류 | 왜 생기는가 | 어떻게 확인하는가 |
|---|---|---|
| 기본값 선언이 늦게 실행된다 | 선언 스크립트가 다른 태그보다 뒤에 로드된다 | 페이지가 열린 직후 나가는 요청의 순서를 본다 |
| 갱신 신호가 전달되지 않는다 | 방문자가 설정을 바꿔도 태그에 알려 주는 신호가 없다 | 배너에서 선택을 바꾼 뒤 태그 발화가 달라지는지 관측한다 |
| 서버 전송이 동의 상태를 무시한다 | 브라우저 쪽만 동의와 연결하고 서버 전송은 그대로 둔다 | 브라우저 관측으로는 잡히지 않는다. 서버 전송 기록을 직접 확인한다 |
세 번째 오류는 특히 발견하기 어렵습니다. 브라우저 쪽 태그는 관측이 쉽지만 서버 전송은 별도로 기록을 확인해야 상태 불일치를 잡아낼 수 있습니다.
수집량 변화와 모델링의 관계
동의 모드를 도입하면 이전과 같은 방식으로 수집되던 데이터의 총량이 줄어듭니다. 이는 오류가 아니라 설계가 의도한 결과입니다. 그래서 도입 전후로 보고서의 기준선을 다시 잡아야 하며, 줄어든 수치를 그대로 비교하면 실제 방문자 행동이 변한 것으로 오해할 수 있습니다. 일부 분석 도구는 거부 상태에서 발생한 공백을 모델링으로 보정해 추세를 유지하려 시도하는데, 이 보정 역시 실제 관측치가 아니라 추정치라는 점을 보고서 안에 명시해두는 것이 좋습니다.
동의 모드 구현은 배너 하나로 끝나는 작업이 아니라, 수집 설계와 태깅 구조를 함께 다시 짜는 작업입니다. 상태 구분, 기본값, 갱신 신호, 서버 전송까지 한 흐름으로 점검해야 어느 한쪽에서 발생한 허점이 전체를 무력화하지 않습니다.
동의 구조와 태깅 구현을 함께 점검하고 싶다면 상담을 통해 현재 설정을 확인해보세요.
자주 묻는 질문 (FAQ)
동의 배너만 붙이면 동의 모드 구현이 끝나는가요?
아닙니다. 동의 모드는 태그를 통째로 켜고 끄는 스위치가 아니라, 방문자가 승인한 범위에 따라 수집 항목을 나누는 설계입니다. 분석 목적과 광고 목적을 먼저 분류한 뒤, 각 상태에서 어떤 태그가 발화할지를 지정해야 합니다.
동의 모드 구현에서 가장 흔한 오류는 무엇인가요?
기본값 선언이 다른 태그보다 늦게 실행되는 경우, 방문자가 설정을 바꿔도 갱신 신호가 전달되지 않는 경우, 그리고 서버 전송이 동의 상태를 무시하는 경우입니다. 세 번째는 브라우저 관측으로 잡히지 않아 서버 전송 기록을 직접 확인해야 발견됩니다.
동의 모드를 도입하면 데이터가 줄어드는데 정상인가요?
오류가 아니라 설계가 의도한 결과입니다. 도입 전후로 보고서 기준선을 다시 잡아야 하며, 줄어든 수치를 그대로 비교하면 방문자 행동이 변한 것으로 오해할 수 있습니다. 모델링으로 보정하는 경우에도 그 값이 추정치라는 점을 보고서에 명시하는 편이 좋습니다.



