12CODE
← 아카데미 academy 16강. 태그 QA: 실제 사용자가 되어서 검증하기 예상 5분

들어가며

상황

가상 브랜드 '데일리핏'은 GTM으로 구매 완료 태그를 심고 배포했습니다. 한 달 뒤 확인해보니 결제를 두 번 시도하다 실패하고 세 번째에 성공한 사용자의 경우 구매 이벤트가 세 번 잡혀 있었습니다. 배포 전에는 정상 결제 한 번만 테스트했던 게 원인이었습니다.

한 줄 결론

태그는 정상 흐름 하나만 눌러보고 배포하면 안 되고, 실패 후 재시도·같은 페이지 새로고침·동의 거절까지 실제 사용자처럼 시나리오를 나눠 눌러봐야 합니다.

시나리오를 나누지 않으면 데일리핏처럼 재시도 케이스에서 중복 집계가 나거나, 특정 브라우저 설정에서만 태그가 안 잡히는 걸 배포 후에야 발견하게 됩니다.

개념

판단 기준

QA 시나리오별로 확인할 것을 나눕니다.

시나리오 확인할 것
정상 태그가 정확히 한 번, 올바른 값으로 Fired 되는가
예외(재시도·새로고침) 태그가 의도치 않게 여러 번 Fired 되지는 않는가
중복(Pixel+CAPI 등) 두 경로 모두 같은 event_id로 잡혀 하나로 합쳐지는가
거절(동의 거부) 동의가 필요한 태그가 실제로 Not Fired 되는가

실행 순서

  1. 확인: 미리보기 모드를 켜고 정상 시나리오부터 한 번 눌러 태그가 Fired 되는지, 값이 맞는지 본다.
  2. 결정: 정상이 확인되면 예외·중복·거절 시나리오를 하나씩 추가로 재현해 각각의 예상 결과(Fired 되어야 하는지, Not Fired 되어야 하는지)와 실제 결과를 비교한다.
  3. 기록: 시나리오별 결과를 테스트 케이스 표에 남기고, 예상과 다른 항목이 있으면 배포를 보류하고 트리거 조건을 다시 확인한다.

바로 쓰는 템플릿

QA 테스트 케이스

시나리오 예상 결과 실제 결과 통과 여부
정상 결제 완료 구매 이벤트 1회, 값 정확 ________ ________
결제 실패 후 재시도 성공 구매 이벤트 1회만(재시도 시 미발생) ________ ________
같은 페이지 새로고침 중복 발생하지 않음 ________ ________
쿠키 동의 거부 해당 태그 Not Fired ________ ________

즉시 확인

  1. 결제 실패 후 재시도해 성공한 경우, 정상적인 태그 설계라면 구매 이벤트는 몇 번 잡혀야 하나요? A. 시도한 횟수만큼 B. 실제 결제가 성공한 1번 C. 항상 0번 정답: B — 실패한 시도는 구매가 아니므로, 최종 성공 시점 1번만 잡히는 것이 정상입니다.

  2. 사용자가 쿠키 동의를 거부했을 때 정상적인 태그 상태는? A. 동의가 필요한 태그도 그대로 Fired 되어야 한다 B. 동의가 필요한 태그는 Not Fired 상태여야 한다 C. 모든 태그가 이중으로 Fired 되어야 한다 정답: B — 동의를 거부한 사용자에게 동의 기반 태그가 실행되면 개인정보 규정 위반 소지가 있습니다.

  3. QA에서 '정상 시나리오' 테스트 하나만으로는 부족한 이유는? A. 정상 시나리오 테스트가 가장 오래 걸리기 때문 B. 실제 사용자는 재시도·새로고침·동의 거부 같은 예외 행동도 하기 때문 C. 정상 시나리오는 GTM이 자동으로 검증해주기 때문 정답: B — 실제 트래픽에는 예외 행동이 섞여 있으므로, 정상 케이스만 보면 중복·누락 문제를 배포 후에야 발견하게 됩니다.

핵심 정리

  1. 태그 QA는 정상·예외·중복·거절 네 가지 시나리오를 나눠서 각각 예상 결과와 비교한다
  2. 미리보기(Tag Assistant) 모드에서 Fired/Not Fired 여부로 태그가 조건대로 작동하는지 확인한다
  3. 하나라도 예상과 다르면 배포를 보류하고 트리거 조건부터 다시 확인한다

→ 이 강의 퀴즈 풀어보기 (챌린지)