๋ฌธ์ ํด๊ฒฐ
์ด ๋ฌธ์์ ๋ํ์ฌ
์ด ๋ฌธ์๋ SDK ์ฐ๋ ๊ณผ์ ์ค ๋น์ ์ ๋์์ผ๋ก ์์ฌ๋๊ฑฐ๋, ๊ทธ ์ธ ๋ฒ๊ทธ๋ก ์์ฌ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๋ ์ฐธ๊ณ ํ ์ ์์ต๋๋ค.
์ด๋ ํ ๊ธฐ๋ฅ์ ์ง์ ์ฌ๋ถ, ๊ตฌํ ๋ ธํ์ฐ๋ ์กฐ์ธ์ ๊ตฌํ๋ ์ง๋ฌธ์ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
1. ์ฌ์ฉ์ ์ง์ ์๋ณ์๋ฅผ ๋ฃ์ด variation ๋ฉ์๋ ํธ์ถ ์ ์๋ฌ ๋ฐ์
Q. JavaScript SDK ์ด์ฉ ์ค์
๋๋ค. variation
๋ฉ์๋๋ฅผ ํธ์ถํ๋๋ฐ ์ฌ์ฉ์ ์๋ณ์์ ๊ด๋ จ๋ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. ํ๋ผ๋ฏธํฐ๋ก ์ ํฌ๊ฐ ๋ง๋ ์ฌ์ฉ์ ์๋ณ์๋ฅผ ๋๊ฒผ๋๋ฐ ์ด๋ค ๋ฌธ์ ์ธ๊ฐ์?
A. JavaScript SDK์ธ ๊ฒฝ์ฐ variation
๋ฉ์๋์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋๊ธธ ๋ ์ค๋ธ์ ํธ ํํ๋ก ๋๊ฒจ์ผ ํฉ๋๋ค. ์๋ ์์ ์ฝ๋์ ์๋ชป๋ ์ฌ๋ก์ฒ๋ผ ๋จ์ string type๋ง ๋๊ธด ๊ฒ์ด ์๋์ง ํ์ธํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
hackleClient.variation(6, "user_id") // ์๋ชป๋ ์ฌ๋ก
hackleClient.variation(6, {id: "user_id"}} // ์ฌ๋ฐ๋ฅธ ์ฌ๋ก
๊ฐ๋ฐ ํ๋ซํผ ๋ณ ์ฌ์ฉ์ ์ง์ ์๋ณ์ ๋ฃ๋ ๋ฐฉ๋ฒ
SDK ์นดํ ๊ณ ๋ฆฌ ๋ด์ ์๋ ์ฌ์ฉ์ ์๋ณ์ ๋ฌธ์์ ์ธ์ด ๋ณ ์์๊ฐ ์์ต๋๋ค.
2. ์ฌ์ฉ์ ์ง์ ์๋ณ์ ์ ๋ฌ ์ ์งํ ์ด์
Q. ํตํด SDK๋ฅผ ์ฐ๋ํ๊ณ ์ ํฌ๊ฐ ๋ง๋ ์ฌ์ฉ์ ์๋ณ์๋ฅผ ์ด์ฉํ๊ณ ์์ต๋๋ค. ์งํ ๊ฒฐ๊ณผ๊ฐ ์ด์ํ๋ฐ ์์ฌํ ํฌ์ธํธ๊ฐ ์์๊น์?
A. variation
๋ฉ์๋ ๋ฐ track
๋ฉ์๋ ๋ ๋ค ์ฌ์ฉ์ ์๋ณ์๋ฅผ ์ ๋ฌํ๊ณ ์๋์ง ํ์ธํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ๋ ๋ฉ์๋ ์ค ํ๋๋ผ๋ ์ฌ์ฉ์ ์๋ณ์๋ฅผ ์ ๋ฌํ๋ค๋ฉด ๋ค๋ฅธ ํ๋๋ ์ ๋ฌํด์ผ๋ง ํฉ๋๋ค.
// ์๋ชป๋ ์ฌ๋ก
hackleClient.variation(7, { id : "12345"} ) // ์ฌ์ฉ์ ์๋ณ์ ์ง์ ์ ๋ฌ
hackleClient.track("purchase") // ์ฌ์ฉ์ ์๋ณ์ ์ ๋ฌํ์ง ์์
// ์ฌ๋ฐ๋ฅธ ์ฌ๋ก
// (1์) ์ฌ์ฉ์ ์ง์ ์๋ณ์ ์ฌ์ฉ
hackleClient.variation(7, { id : "12345"})
hackleClient.track("purchase", { id : "12345"})
// (2์) ๋ด๋ถ์ ์ผ๋ก ๊ด๋ฆฌ๋๋ ๋๋ฐ์ด์ค ์๋ณ์ ์ฌ์ฉ
hackleClient.variation(7)
hackleClient.track("purchase")
์๋ชป๋ ์ฌ๋ก์ ๊ฒฝ์ฐ variation
๊ณผ track
์ ์๋ณ์๊ฐ ๋ฌ๋ผ์ ธ ์งํ ๊ณ์ฐ์ด ์ ์์ ์ผ๋ก ์ด๋ฃจ์ด์ง์ง ์์ต๋๋ค.
์ฌ์ฉ์ ๋ถ๋ฐฐ์ ์ด๋ฒคํธ ์ ์ก ์ ์ฌ์ฉ์ ์๋ณ์ ์ ๋ฌ ๋ฐฉ์์ ๋์ผํ๊ฒ ์ฌ์ฉํด์ผ ๋์ผํ ์ฌ์ฉ์๋ก ์ธ์ํ๊ณ ์งํ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
์ฆ, ๋ ์ค ํ๋๋ง ์ฌ์ฉ์ ์๋ณ์๋ฅผ ์ ๋ฌํ ๊ฒฝ์ฐ ๋ ๋ฉ์๋๋ ์๋ก ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ์ผ๋ ๊ฒ์ผ๋ก ์ธ์งํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
3. ์ค์๊ฐ ๋
ธ์ถ ํํฉ ๊ฒฐ๊ณผ ์ด์
Q. ๋์ผํ ์ฌ์ฉ์๋ก variation
๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๋ฒ ํธ์ถํ๋๋ฐ ์ค์๊ฐ ๋
ธ์ถ ํํฉ์ด ์ฆ๊ฐํฉ๋๋ค. ์ค๋ฅ์ธ๊ฐ์?
A. ์ ์ ๋์์
๋๋ค. ์ค์๊ฐ ๋
ธ์ถ ํํฉ์ ๊ฒฝ์ฐ variation
ํธ์ถ ์นด์ดํธ(ํธ์ถํ ๋
ธ์ถ ํ์)์ ๋์ผํฉ๋๋ค. ์ฆ, ์ค๋ณต ์ ๊ฑฐ ์๋ ์ ์ฒด ๋
ธ์ถ ์๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
๋ฐ๋ฉด ๋ชฉํ ๊ณ์ฐ์์๋ ์ค๋ณต์ ์ ๊ฑฐํ์ฌ UV๋ก ๊ณ์ฐ๋ฉ๋๋ค. ์ฆ ๋ชฉํ์์๋ uniqueํ ์ฌ์ฉ์ ์๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
4. A/B ํ
์คํธ ์ข
๋ฃ ํ ํธ๋ํฝ ์ด์
Q. A/B ํ ์คํธ๋ฅผ ์ข ๋ฃํ๊ณ Winner ๊ทธ๋ฃน์ ์ ํํ์ต๋๋ค. ์์ง Winner ๊ทธ๋ฃน์ ๋ก์ง์ ์ ์ฉํ์ง๋ ์์ ์๊ฐ์ธ๋ฐ ๋ชจ๋ ํธ๋ํฝ์ด Winner ๊ทธ๋ฃน์ผ๋ก ๊ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค.
A. ํน์ ๊ทธ๋ฃน์ผ๋ก Winner๋ฅผ ์ ํํ๋ฉด ํด๋น A/B ํ
์คํธ์ ํด๋นํ๋ ๋ชจ๋ ํธ๋ํฝ์ Winner ๊ทธ๋ฃน์ผ๋ก ํฅํฉ๋๋ค.
๋ฐ๋ผ์ A/B ํ
์คํธ ์ข
๋ฃ ์ ์๋์ ์์๋๋ก ์งํํ์๊ธฐ ๋ฐ๋๋๋ค.
- ํตํด ๋์๋ณด๋์์ A/B ํ ์คํธ ์ข ๋ฃ ๋ฐ Winner ๊ทธ๋ฃน ์ ํ
- ์ด์ ํ๊ฒฝ(Production)์์ A/B ํ ์คํธ์ ๊ด๋ จ๋ ์ฝ๋ ์ญ์
- ํตํด ๋์๋ณด๋์์ 1๋ฒ์ A/B ํ
์คํธ์ ๋ํด
ํ ์คํธ ๋ณด๊ด์ฒ๋ฆฌ
ํด๋ฆญํ์ฌ ๋ณด๊ด ์ํ๋ก ์ ํ
5. JavaScript SDK์์ ์๋ ํ ๋น ๋ฏธ๋์
Q. JavaScript SDK ์ฌ์ฉ ์ค์ ๋๋ค. ๊ฐ๋ฐ ํ๊ฒฝ์์ ํน์ ์ฌ์ฉ์ ๋์์ผ๋ก ํ ์คํธ ๊ธฐ๊ธฐ๋ฅผ ๋ฑ๋กํ์ฌ ํ ์คํธํ๋ ค๊ณ ํ๋๋ฐ ์ง์ ํ ๋๋ก ํ ์คํธ ๊ทธ๋ฃน์ ๋ถ๋ฐฐ๋ ๊ฒ ๊ฐ์ง ์์ต๋๋ค.
A. JavaScript SDK์ ๊ฒฝ์ฐ ์ฌ์ฉ์ latency๋ฅผ ์ํด์ ์ค์ ๊ฐ์ cacheํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ ๋๋ก ํ ๋น๋์ง ์์ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์ ๊ฐ๋ ฅ ์๋ก๊ณ ์นจ ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ์ฆ๊ฐ์ ์ผ๋ก ๋ณผ ์ ์์ต๋๋ค.
๋ง์ฝ ์ด ๋ฐฉ๋ฒ๋ ํตํ์ง ์์ผ๋ฉด ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ด๊ณ ์๋ก๊ณ ์นจ ๋ฒํผ์์ ์ค๋ฅธ์ชฝ ํด๋ฆญ ํ ์บ์ ๋น์ฐ๊ธฐ ๋ฐ ๊ฐ๋ ฅ ์๋ก๊ณ ์นจ์ ํด๋ฆญํ์ฌ ๋ค์ ์๋ํ์๊ธฐ ๋ฐ๋๋๋ค.
6. ํ
์คํธ ๊ทธ๋ฃน A์ ์ ๋ฆฌ๋ ํ์
Q. ์ค์๊ฐ ๋ ธ์ถ ํํฉ์ ํตํด ๋ถ๋ฐฐ๋ ๊ทธ๋ฃน์ ๋ณด๊ณ ์๋๋ฐ ์ ๋ ํ ์คํธ ๊ทธ๋ฃน A์๋ง ๋ชฐ๋ฆฌ๋ ๊ฒ ๊ฐ์ต๋๋ค.
A. A/B ํ ์คํธ์ ํ ๋น๋์ง ์์๊ฑฐ๋ ์๋ ํ ๋น ๋์์ธ ๊ฒฝ์ฐ, ์๋ฌ ๋ฐ์ ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๋ก ๊ธฐ๋ณธ ๊ทธ๋ฃน์ธ ํ ์คํธ ๊ทธ๋ฃน A์ ๋ค์ด๊ฐ ์ ์์ต๋๋ค. ํ ์คํธ ๊ทธ๋ฃน ๋ถ๋ฐฐ์ ์๊ด ์์ด ํ ์คํธ ๊ทธ๋ฃน A๋ก ๊ฐ๋ ๊ฒฝ์ฐ์ ๋ํด์๋ ํ ์คํธ ๊ทธ๋ฃน ๋ถ๋ฐฐ ๊ณผ์ ๋ฐ ํ ์คํธ ๊ทธ๋ฃน ๋ถ๋ฐฐ ์๋ฆฌ ๋ฌธ์์์ ์ค๋ช ํ๊ณ ์์ต๋๋ค.
SDK์์ ์ ๊ณตํ๋ ๋ฉ์๋๋ฅผ ํตํด์ ์์ธ์ ํ์
ํ ์ ์์ต๋๋ค. variationDetail
๋ฉ์๋๋ฅผ ์ง์ํ๋ SDK์ ๊ฒฝ์ฐ ํน์ ๊ทธ๋ฃน์ผ๋ก ๋ถ๋ฐฐ๋ ์ฌ์ ๋ฅผ ํจ๊ป ๋ฐํํฉ๋๋ค. ํด๋น ๋ฉ์๋๋ฅผ ์ ๊ทน ํ์ฉํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
Updated 12 months ago