Google ์ ๋๋ฆฌํฑ์ค ํ๋ฌ๊ทธ์ธ ๋ด์์ ํ์ฌ๋ ์ฌ์ด A / B ํ ์คํธ๋ฅผ ํ์ฉํ๊ธฐ ์ํด Google ์ต์ ํ ๋๊ตฌ ์ปจํ ์ด๋ ID๋ฅผ ์ง์ ํ ์์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋ค์์ Google Optimize ๊ถ์ฅ ์ค์ ์ ๋ํ ๋งํฌ์ ๋๋ค. https://support.google.com/optimize/answer/6262084?hl=ko
์ด ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก ga('require', 'GTM-XXXXXX');
๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ผ๋ก ์์ฝ๋ฉ๋๋ค. ์ฌ๊ธฐ์ GTM-XXXXXX๋ ์ปจํ
์ด๋ ID์
๋๋ค. ๋ค์์์ด ์ค์ด ์ถ๊ฐ ๋ ์์น์ ์์
๋๋ค.
ga('create', 'UA-XXXXXXXX-X', 'auto');
ga('require', 'GTM-XXXXXX');
ga('send', 'pageview');
์ต๋ช ํ ๋ผ์ธ์ ๋ฐ๋ผ ๊ธฐ์กด Google ์ ๋๋ฆฌํฑ์ค ํ๋ฌ๊ทธ์ธ์ ์ฝ๊ฒ ์ถ๊ฐ ํ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
+ (typeof pluginOptions.anonymize !== "undefined" ? "ga('set', 'anonymizeIp', 1);" : "") + "\n "
+ (typeof pluginOptions.optimizeId !== "undefined" ? "ga('require', " + pluginOptions.optimizeId + ");" : "") + "}\n "
๊ทธ๋ฆฌ๊ณ gatsby-config์์์ด ID๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
options: {
trackingId: "YOUR_GOOGLE_ANALYTICS_TRACKING_ID",
// Puts tracking script in the head instead of the body
head: false,
// Setting this parameter is optional
anonymize: true,
// Setting this parameter is also optional
respectDNT: true,
// Avoids sending pageview hits from custom paths
exclude: ["/preview/**", "/do-not-track/me/too/"],
optimizeId: "YOUR_GOOGLE_OPTIMIZE_TRACKING_ID",
// Enables Google Optimize using your Id
},
Google ์ต์ ํ ID์ ๋ํ ์ง์์ ์ถ๊ฐํ๋ฉด Google ์ ๋๋ฆฌํฑ์ค + Google ํ๊ทธ ๊ด๋ฆฌ์์ ๋ํ ๊ธฐ์กด ์ง์์ด ๊ตฌ์ถ๋๋ฉฐ ์ฌ์ฉ์๊ฐ ๊ธฐ์กด Gatsby ์ฌ์ดํธ์์ ๋ณต์กํ A / B + ๋ค ๋ณ์ ํ ์คํธ๋ฅผ ์ฝ๊ฒ ์ํ ํ ์ ์์ต๋๋ค.
์ด ์ถ๊ฐ์ ํจ๊ป PR์ ์ ์ถํ๊ณ ๋ฏธ๋ฆฌ ํผ๋๋ฐฑ์ ํ์ํฉ๋๋ค!
@jonhorton ๋์ ๋์์ ๋ฐ๊ณ ์ถ์ต๋๋ค! ๋ณ๊ฒฝํด์ผ ํ ์ฌํญ์ ์ด๋ฏธ ์๊ณ ์์ผ๋ฏ๋ก ์์ ๋กญ๊ฒ PR์ ์ ์ถํ์ญ์์ค. ์ฌ๊ธฐ ์์ ๋ณ๊ฒฝํด์ผํฉ๋๋ค.
@kakadiadarpan ๊ฐ์ฌํฉ๋๋ค!
์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ PR์ด ์ฑ๊ณต์ ์ผ๋ก ๋ณํฉ๋์ด์ด ๋ฌธ์ ๋ฅผ ์ข ๊ฒฐํฉ๋๋ค ๐
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@kakadiadarpan ๊ฐ์ฌํฉ๋๋ค!
์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ PR์ด ์ฑ๊ณต์ ์ผ๋ก ๋ณํฉ๋์ด์ด ๋ฌธ์ ๋ฅผ ์ข ๊ฒฐํฉ๋๋ค ๐