테스트 쿠키로 variant 강제하기
A/B 실험이나 플래그를 운영 환경에서 검증하려면 보통 "내 계정이 A에 떨어지길" 기다려야 합니다. 테스트 쿠키 기능을 켜면 그 대기 없이 즉시 원하는 variant를 받을 수 있어요.
1. 어드민에서 쿠키 값 설정
- /experiments에서 실험의 "테스트 쿠키" 컬럼을 클릭하면 variant별 쿠키 값을 입력할 수 있습니다.
- /flags의 플래그는 ON/OFF 각각에 쿠키 값을 둘 수 있어요 (예: ON=
flag_on, OFF=flag_off). - 입력 가능 문자:
A-Z a-z 0-9 _ . -(최대 64자)
2. 브라우저에서 쿠키 심기
호스트 앱이 SDK를 사용 중이라면, 그 페이지에서 DevTools Console에 아래를 실행:
// 실험 'checkout-redesign'을 강제로 B로 document.cookie = 'taekcle_checkout-redesign=card_b; path=/; max-age=86400'; // 플래그 'promo-banner'를 강제로 ON document.cookie = 'taekcle_promo-banner=flag_on; path=/; max-age=86400'; // 새로고침
이름 규칙은 항상 taekcle_<flag-or-experiment-key>, 값은 어드민에 설정한 그 쿠키 값과 정확히 일치해야 합니다.
3. 쿠키 제거 (오버라이드 해제)
document.cookie = 'taekcle_checkout-redesign=; path=/; max-age=0';
4. 어떻게 동작하나
- 클라이언트 SDK (@taekcle/web):
getVariant()/isEnabled()호출 시document.cookie를 먼저 검사해 매칭되는 variant 강제 반환. - 서버 사이드 컴포넌트:
cookies()로 동일 검사 후 분배 로직 우회. - 분배 무관: 쿠키가 일치하는 한 deviceId/userId 해시 결과를 무시.
- 일관성: 어드민이 쿠키 값을 바꾸면 즉시 반영 (캐시 1회 refresh 필요).
5. 보안 노트
- 이 쿠키는 클라이언트가 자기 자신에게만 영향을 미칩니다. 다른 사용자의 분배에 영향을 주지 못해요.
- 실험 자체가 OFF여도 쿠키만 있으면 variant가 반환되어 UI를 미리 확인할 수 있어요. 단, 호스트 앱이 Mixpanel 등에
experiment_started이벤트를 발화하면 그 이벤트도 같이 기록되니, QA 시 이벤트 필터링에 유의하세요 (예: 내부 IP 제외). - 운영에 영향 없는 안전한 기능이지만, 외부 사용자에게 쿠키 값을 노출하지 않도록 사내 채널에서만 공유하세요.
/demo에서 즉시 실험해볼 수 있어요.