가상 브랜드 '데일리핏'은 GTM으로 구매 완료 태그를 심고 배포했습니다. 한 달 뒤 확인해보니 결제를 두 번 시도하다 실패하고 세 번째에 성공한 사용자의 경우 구매 이벤트가 세 번 잡혀 있었습니다. 배포 전에는 정상 결제 한 번만 테스트했던 게 원인이었습니다.
태그는 정상 흐름 하나만 눌러보고 배포하면 안 되고, 실패 후 재시도·같은 페이지 새로고침·동의 거절까지 실제 사용자처럼 시나리오를 나눠 눌러봐야 합니다.
시나리오를 나누지 않으면 데일리핏처럼 재시도 케이스에서 중복 집계가 나거나, 특정 브라우저 설정에서만 태그가 안 잡히는 걸 배포 후에야 발견하게 됩니다.
QA 시나리오별로 확인할 것을 나눕니다.
| 시나리오 | 확인할 것 |
|---|---|
| 정상 | 태그가 정확히 한 번, 올바른 값으로 Fired 되는가 |
| 예외(재시도·새로고침) | 태그가 의도치 않게 여러 번 Fired 되지는 않는가 |
| 중복(Pixel+CAPI 등) | 두 경로 모두 같은 event_id로 잡혀 하나로 합쳐지는가 |
| 거절(동의 거부) | 동의가 필요한 태그가 실제로 Not Fired 되는가 |
QA 테스트 케이스
| 시나리오 | 예상 결과 | 실제 결과 | 통과 여부 |
|---|---|---|---|
| 정상 결제 완료 | 구매 이벤트 1회, 값 정확 | ________ | ________ |
| 결제 실패 후 재시도 성공 | 구매 이벤트 1회만(재시도 시 미발생) | ________ | ________ |
| 같은 페이지 새로고침 | 중복 발생하지 않음 | ________ | ________ |
| 쿠키 동의 거부 | 해당 태그 Not Fired | ________ | ________ |
결제 실패 후 재시도해 성공한 경우, 정상적인 태그 설계라면 구매 이벤트는 몇 번 잡혀야 하나요? A. 시도한 횟수만큼 B. 실제 결제가 성공한 1번 C. 항상 0번 정답: B — 실패한 시도는 구매가 아니므로, 최종 성공 시점 1번만 잡히는 것이 정상입니다.
사용자가 쿠키 동의를 거부했을 때 정상적인 태그 상태는? A. 동의가 필요한 태그도 그대로 Fired 되어야 한다 B. 동의가 필요한 태그는 Not Fired 상태여야 한다 C. 모든 태그가 이중으로 Fired 되어야 한다 정답: B — 동의를 거부한 사용자에게 동의 기반 태그가 실행되면 개인정보 규정 위반 소지가 있습니다.
QA에서 '정상 시나리오' 테스트 하나만으로는 부족한 이유는? A. 정상 시나리오 테스트가 가장 오래 걸리기 때문 B. 실제 사용자는 재시도·새로고침·동의 거부 같은 예외 행동도 하기 때문 C. 정상 시나리오는 GTM이 자동으로 검증해주기 때문 정답: B — 실제 트래픽에는 예외 행동이 섞여 있으므로, 정상 케이스만 보면 중복·누락 문제를 배포 후에야 발견하게 됩니다.