자주 묻는 질문

1. 핵클 이용 관련 질문

1) 핵클을 이용하는 기업에는 어떤 곳들이 있나요?

개발팀의 규모에 관계없이, 제공하는 서비스의 유형에 관계없이 다양한 기업이 핵클을 이용하고 있습니다.

핵클 A/B 테스트 플랫폼을 이용하여 데이터 기반의 제품 개발을 활발히 진행하고 있는 기업으로는 여기어때, 오늘의집, 엘지유플러스, 올리브영, 요기요, 스파르타코딩클럽,게임듀오 등이 있습니다.

cafe 24, 아임웹 등을 이용 중인 서비스도 핵클 사용이 가능합니다.

예를 들어, 아임웹에도 스크립트를 삽입할 수 있는 기능이 있어서, 핵클 JavaScript SDK 가이트 내 [SDK 연동] 코드를 아임웹에 삽입하면 데이터 수집을 통해 핵클 이용이 가능합니다.

2) 핵클에서 제공하는 기능에는 어떤 것이 있나요?

핵클에서 제공하는 SDK를 이용하여 핵클 플랫폼과 연동 작업을 완료하면 이후에는 코드 작업 없이 A/B 테스트를 쉽게 켜고 끌 수 있습니다. 또한, 전체 트래픽 중 원하는 비율의 트래픽으로 A/B 테스트를 진행할 수 있습니다. 점진적으로 트래픽을 할당할 수 있는 기능입니다.

A/B 테스트가 시작되면, 무작위로 사용자를 각 그룹으로 분배하고, 사용자의 데이터를 수집해서 목표로 설정한 값과 통계적으로 분석한 정보를 함께 제공합니다. 데이터 분석가가 따로 시간 들이지 않고, A/B 테스트의 성공 목표로 설정한 지표들의 결과 값을 최대 1시간 이내에 받아볼 수 있습니다.

3) 핵클 SDK 연동 키가 변경되는 경우가 있을까요?

핵클 SDK 연동 Key가 변경되는 케이스는 없습니다.

4) 연동 등 개발 관련 문의는 어떻게 하면 되나요?

우선 본 사용자 가이드 SDK 카테고리에 있는 자주 묻는 질문문제 해결 문서에서 해결하고자 하는 문제가 있는지 확인해보시기 바랍니다.
그래도 해결되지 않는 궁금증에 대해서는 핵클 대시보드에 안내된 문의처를 이용해주시기 바랍니다.

5) 혹시 여러 제품을 하나의 계정에서 관리할 수 있을까요?

하나의 이메일 계정으로 여러 워크스페이스를 이용할 수 있기 때문에 한 계정으로 여러 제품을 관리할 수 있습니다.

1개 제품당 1개 워크 스페이스를 만드셔서, 해당 워크 스페이스에 초대하는 방식으로 이용하시면 됩니다.

[기존 계정 초대하는 방법]

  • 대시보드 좌측 메뉴 '워크스페이스 설정' > '초대하기' 버튼 클릭 > 초대링크 생성 > 초대링크로 접속

6) 도메인(URL) 이 다른데 하나의 워크 스페이스에서 관리할 수 있나요?

하나의 URL 혹은 제품에 하나의 워크 스페이스를 생성해야 합니다. SDK 연동 형식이므로 다른 도메인 (Ex. www.hackle.io , www.service.hackle.io ) 을 하나의 워크스페이스에 연결할 순 없습니다.

7) 노코드 툴로 제작된 서비스도 핵클을 이용할 수 있나요?

가능합니다. 데이터 수집, 이벤트 수집을 통해 서비스를 분석하므로, 노 코드 기반의 웹 페이지 제작 툴 (예를 들어 Framer) 로 제작된 서비스여도 내부에 html/스크립트 편집 기능이 있다면, 그 부분에 핵클 데이터 수집 스크립트 넣고, 이벤트 수집은 url 자동수집으로 수집하여 핵클을 이용할 수 있습니다.

8) 워크 스페이스는 어떻게 생성할 수 있나요?

핵클에 가입하시면, 가입한 이메일 주소로 워크 스페이스가 생성됩니다. 이미 사용하고 있는 워크 스페이스가 있는데 워크 스페이스를 추가로 생성하고 싶으시다면, 다른 이메일 주소로 워크 스페이스를 생성할 수 있습니다. 플랜 연결 및 적용은 핵클에 직접 문의주시면 도와드립니다.

2. A/B 테스트 관련 질문

1) 핵클 A/B 테스트 플랫폼으로는 어떤 A/B 테스트를 할 수 있나요?

핵클은 모바일 앱, 웹 사이트에서의 화면 변경 혹은 서버에서 제공하는 API를 변경하기 위한 A/B 테스트를 모두 지원합니다. 화면 변경, 신규 기능 출시, 알고리즘 변경과 같은 서버/클라이언트 기반의 A/B 테스트가 가능합니다.

2) 핵클은 다른 A/B 테스트 플랫폼과 비교해 어떤 장점이 있나요?

첫 번째로, 핵클은 다양한 SDK를 지원하기 때문에 웹사이트에 국한되지 않고 모바일 앱 혹은 서버 기반의 A/B 테스트까지 진행할 수 있습니다. Android, iOS, JavaScript, React 등 10가지의 SDK를 제공하고 있습니다.

두 번째로, 핵클은 A/B 테스트가 서비스에 반영되는 속도가 실시간에 가깝습니다. 가령 구글 Optimize에서는 A/B 테스트를 시작했는데 서비스에 반영되기까지 몇 시간 이상 걸리는 경우도 있습니다.

세 번째로, 핵클은 A/B 테스트 결과를 1시간 단위로 업데이트해서 제공합니다. 구글 Optimize는 GA에서 하루전 까지 취합된 데이터를 기반으로 A/B 테스트 결과를 계산하기에 현 시점까지의 테스트 결과를 빠른 시간내에 확인하기 어렵습니다.

네 번째로, 핵클에서는 측정하고자 하는 목표를 자유롭게 생성할 수 있습니다. 서비스 도메인에 관계없이 원하는 목표를 생성하고 측정할 수 있습니다.

마지막으로, 핵클은 가장 합리적인 가격으로 이용할 수 있는 A/B 테스트 플랫폼입니다. 유료로 제공되는 Optimizely나 구글의 Optimize 360은 연간 비용이 최소 수천만원 수준으로 알려져 있습니다.

자세한 내용은 Google Optimize, Firebase A/B Testing 서비스와 Optimizely를 핵클과 비교하여 정리한 문서를 참고해주세요.

3) 어느 정도의 사용자가 있으면 A/B 테스트를 할 수 있을까요?

A/B 테스트를 하기 위한 적정 사용자 수는 없지만 일 트래픽이 100명 이상이라면 좋습니다. 충분한 사용자가 있다면 A/B 테스트에서 더욱 빨리 테스트 결과를 얻을 가능성이 높아지지만, 사용자가 적을수록 파급력이 큰 요소를 바꿀때 A/B 테스트를 통해 검증해보는 것이 중요합니다.

4) 통계적인 지식이 없어도 A/B 테스트를 할 수 있을까요?

통계적인 지식이 없어도 A/B 테스트를 할 수 있습니다. 핵클에서는 A/B 테스트를 통해 특정 버튼/배너의 클릭율이나, 구매전환율과 같은 지표의 결과값이 통계적으로 유의미한지에 대한 정보를 시각적으로 확인할 수 있도록 제공하고 있습니다.

A/B 테스트 관련 raw data를 추출하여 추가적인 분석을 진행하는 경우 통계적인 지식이 있다면 도움이 될 수 있습니다.

5) A/B 테스트 결과를 분석할 때, 어떤 점을 유의해야 하나요?

요일 영향도로 인한 테스트 결과 왜곡을 방지하기 위해 최소 1주일에서 2주일의 테스트 기간이 필요합니다. 테스트 기간이 짧은 상황에서 일시적으로 결과가 좋거나 안좋게 나타났을때 테스트를 종료하게 되는 경우를 유의해야 합니다.

테스트를 조기에 종료하는 것은 테스트의 결론으로 왜곡된 정보를 인지하게 될 수 있다는 위험이 있습니다. 그래서 최소로 정해둔 기간(예를 들어 1주일) 동안은 테스트를 지켜보는 것을 권장하고 있습니다.

6) 마케팅 A/B 테스트와 제품 A/B 테스트의 차이가 궁금합니다.

마케팅적인 관점에서 사용자 유입 채널로 활용되는 랜딩페이지, 앱 푸쉬메시지 등의 성과를 극대화하기 위해 진행하는 실험을 마케팅 A/B 테스트라 합니다. 주로 ‘클릭율’이라는 하나의 명확한 성공 목표를 가지고 있기 때문에, MAB와 같은 기법 또한 마케팅 A/B 테스트에는 유용하게 활용됩니다.

제품 A/B 테스트는 제공하고 계신 웹사이트나 모바일 앱에서 비즈니스 목표를 극대화하기 위해 어떤 화면, 알고리즘, 기능이 유저들에게 효과적으로 작용하는지를 실험하는 것을 의미합니다.

7) 똑같은 지표인데, A/B Test 와 데이터 분석에서 다른 값이 나옵니다.

A/B Test 와 데이터 분석에서 동일한 지표인데 다른 값이 나오는 경우가 있습니다.

기본적으로 A/B Test 는 설정한 유저들에게, 특정 시점에 다른 내용을 보여주기 위해 분배하고, 그 시점 이후 “분모 이벤트” 발생한 유저 중 “분자 이벤트” 발생을 계산합니다. 즉, 전후관계가 있는 로직이기 때문에 분모부터 0이라면, 당연히 값이 0으로 나오게 됩니다.

앞서 말한 것 처럼 A/B Test 는 분배 시점 기준으로 전후 관계에 따라 발생한 이벤트를 계산하지만, 데이터 분석에서는 사용자가 선택하는 이벤트의 순수 발생 여부만 계산하여 보여줍니다. 즉, 이벤트의 특정 시점 혹은 분모/분자의 전후 관계와 상관없이 ‘발생 여부’ 만을 계산하는 것이기 때문에 데이터 분석에서는 값이 나오는 게 맞습니다.

즉, 2가지 기능은 집계 시점이 다르기 때문에 상이하게 나올 수 있습니다.

8) 개발 환경에서 사용자 탐색이 동작하지 않아요. / 테스트 기기 등록을 해도 OVERRIDE 되지 않아요.

개발 환경에서 테스트 해보실 때, 다른 그룹으로 강제 할당이 안되고 실시간 노출 현황에 그룹 A 로만 나오는 경우가 있습니다.

이런 경우에는 혹시 vercel.app 도메인을 사용하고 계신지 확인해주세요.

핵클은 브라우저의 Cookie를 활용하여 사용자를 식별합니다. 이 과정에서 vercel.app 도메인을 사용하시는 경우 핵클 SDK 측에서 Cookie를 정상적으로 관리할 수 없기 때문입니다. (참고 링크)

권장드리는 해결방안으로 vercel에서 제공하는 커스텀 도메인을 통해 다른 도메인을 이용해주시는 것을 권장드립니다.

9) 실험 진행중 일부 실험 그룹을 제외하면 어떻게 되나요?

예를들어 A/B/C 그룹으로 실험 진행중에 그룹 B를 제거했다면, 남은 그룹A, 그룹 C로만 실험을 이어서 진행할 수 있습니다. 기존 B에 할당된 유저들은 실험 대상자에서 제외되어 실험 계산과는 무관한 유저가 되고, 그룹 A 화면을 보게 됩니다. 참고로 기존 B 유저들이 실험을 호출하는 경우 분배사유는 VARIATION_DROPPED 로 기록이 됩니다.

3. 데이터 분석 관련 질문

1) 퍼널 그래프의 데이터 집계 기준이 궁금합니다.

퍼널 그래프를 생성하고, 기간은 1일 / 3일 / 7일로 다르게 설정했을 때, 3일 값이 1일*3 과 다르게 나오는 경우가 있습니다. 퍼널 그래프는 Unique ID 를 기준으로 집계되기 때문에 일별 합산이 아닙니다.

즉, 3일 동안 해당 이벤트를 발생시킨 unique id 가 집계되고, 아래 예시처럼 생각해주시면 됩니다.

  • day 1 = 10 명
    • 유저 1, 유저 2, …. 유저 10 이벤트 발생
  • day 3 = 6 명
    • 유저 1 = day 1 에 발생 => 1로 카운트
    • 유저 2 = day 1, day 2 에 발생 => 1로 카운트
    • 유저 3 = day 3에 발생 => 1로 카운트
    • 유저 4 = day 1, day2, day3에 발생 => 1로 카운트

2) 등록된 이벤트의 이름을 변경할 수 있나요?

등록된 이벤트의 이름은 해당 이름으로 데이터가 수집되기 때문에 임의로 이름을 변경할 수는 없습니다. 이벤트 이름(key)이 변경되는 경우, 새로운 이벤트 이름으로 수집하고 안 쓰는 이벤트는 [이벤트 관리] > 토글 버튼 Off 하시면 off 처리된 이벤트는 더 이상 수집되지 않습니다.

3) 데이터 분석 > 분석항목 > 특정 이벤트의 계산 방식에서 '활성 사용자'의 집계 기준이 궁금합니다.

여기서의 '활성 사용자' 는 Any Event 를 발생시킨 모든 User를 카운트 합니다.

예를 들어 '결제 완료' 이벤트의 계산 방식을 '활성 사용자당 평균 횟수'라고 선택하시면, 특정 이벤트 총 발생 횟수 / Any Event 기준의 총 사용자 수 로 계산됩니다.

4) 같은 기간의 차트 데이터가 어제와 달라졌어요!

과거에 발생한 이벤트가 뒤늦게 전송되는 경우가 있습니다. 특히 앱 서비스의 경우에는 사용자 기기의 인터넷이 끊기거나, 앱이 백그라운드에서 종료하지않거나 등 다양한 이유로 이벤트가 뒤늦게 전송되는 경우가 많습니다. 핵클의 경우에는 최대 7일전의 데이터까지는 정상적인 데이터로 간주하여, 데이터 분석 결과에 반영해드립니다.

4. 인앱메시지 관련 질문

1) 인앱메시지를 설정했는데, 콘솔에 [WARN] Hackle: SDK not ready. 라고 나오고 인앱 메시지가 노출되지 않아요.

SDK 초기화 이후 핵클 서버로부터 인앱메세지에 대한 정보를 가져오는데, SDK 초기화 이전에 이벤트 전송이 발생한 경우입니다.
이경우 아래처럼 코드를 변경하시면 됩니다.

//as-is  
hackleClient.track({ key: "이벤트 키" });  

//to-be  
hackleClient.onReady(() => {  
	hackleClient.track({ key: "이벤트 키" });
});

2) 앱 환경에서 인앱 메세지 기능을 사용해서 외부 웹페이지를 아웃링크로 연결할 수도 있을까요? (예시 : 구글 폼 설문조사)

앱환경에서 클릭액션과 버튼에 웹링크 url 을 기재할 경우, 기본적으로 핸드폰의 기본 브라우저 (사파리, 크롬 등)으로 열립니다. 일반적으로 앱내에서 웹뷰를 띄우기 위해 내부적으로 스킴을 구현해두는데, 그 스킴에 따라서 url을 입력하시면 앱내 웹뷰로 이동합니다. (예시 myApp://webview?url=abcd)