Html5-boilerplate: ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ Google Analytics ์ถ”์ ์— localStorage ์‚ฌ์šฉ

์— ๋งŒ๋“  2013๋…„ 10์›” 07์ผ  ยท  30์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: h5bp/html5-boilerplate

TL;DR:

(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
e=o.createElement(i);r=o.getElementsByTagName(i)[0];
e.src='//www.google-analytics.com/analytics.js';
r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
ga('create','UA-XXXXX-X',{'storage': 'none','clientId':localStorage.getItem('gaClientId')});
ga(function(t){localStorage.setItem('gaClientId',t.get('clientId'));});
ga('send','pageview');

์ถœ์ฒ˜:
http://stackoverflow.com/questions/4502128/convert-google-analytics-cookies-to-local-session-storage/19207035?noredirect=1#19207035

๊ตฌ๊ธ€ ์• ๋„๋ฆฌํ‹ฑ์Šค ๋ฌธ์„œ:
https://developers.google.com/analytics/devguides/collection/analyticsjs/domains#disableCookies

Modernizer.localstorage ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ localStorage ์ง€์›์„ ํ™•์ธํ•˜๊ณ  ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Modernizr์„ ์ข…์†์„ฑ์œผ๋กœ ์ž ๊ทธ๊ณ  ์‹ถ์€์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์™œ์š”?
Google์€ ๊ท€ํ•˜์˜ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋‹จ์ผ ์š”์ฒญ์— ๋Œ€ํ•ด ๊ท€ํ•˜์˜ ์„œ๋ฒ„์— ์ฟ ํ‚ค๋ฅผ ๋ณด๋‚ผ ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

new feature

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์—…๋ฐ์ดํŠธ:

LocalStorage๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ClientID๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์€ TOS์— ์œ„๋ฐฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ œ Google์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id#using_localstorage_to_store_the_client_id

์ฐธ๊ณ : iOS5 ๋ฐ FF4์™€ ๊ฐ™์€ ์˜ค๋ž˜๋œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ (๋งค์šฐ) ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ˆ์ œ ์Šค๋‹ˆํŽซ์ด ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(https://github.com/Modernizr/Modernizr/blob/master/feature-detects/storage/localstorage ์ฐธ์กฐ). js).

๋ชจ๋“  30 ๋Œ“๊ธ€

Modernizr์„ ์ข…์†์„ฑ์œผ๋กœ ์ž ๊ทธ๊ณ  ์‹ถ์€์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์–ด์ฉŒ๋ฉด ๋ฌธ์„œ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์„๊นŒ์š”?

๋˜ํ•œ ping @mathiasbynens.

์Šค๋‹ˆํ•‘์„ ์ตœ์ ํ™”ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, David. @alrra ๋กœ์„œ ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋ฌธ์„œ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํฌ๋ ˆ๋”ง์€ ์ œ ์†Œ์œ ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ @elmerbulthuis์— ์˜ํ•ด ์ œ ์ฃผ์˜๋ฅผ ๋Œ์—ˆ์Šต๋‹ˆ๋‹ค. ๋น„๋ก ์ด๊ฒƒ์ด _snippet_ ์ž์ฒด์˜ ์ตœ์ ํ™”๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ๊ทธ ์ž์ฒด๋กœ --- ์›น ์ „์ฒด์˜ ์ตœ์ ํ™”์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค :-p.

๋ชจ๋‘๊ฐ€ localStorage ์†”๋ฃจ์…˜์„ ์ฑ„ํƒํ•œ๋‹ค๋ฉด ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋ฐ”์ดํŠธ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ถ„๋ช…ํžˆ ์ด ์†”๋ฃจ์…˜์˜ ์—ด๋ ฌํ•œ ํŒฌ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ์— ํฌํ•จํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ์œ ์ผํ•œ ๋ฌธ์ œ๋Š” @davidmurdoch ๊ฐ€ ์–ธ๊ธ‰ํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋จผ์ € localStorage ์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Modernizr๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ž‘์€ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ์ฝ”๋“œ ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์–ด๋Š ์ชฝ์ด๋“  ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ ์•ฝ๊ฐ„ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋„๋ฉ”์ธ์˜ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์š”์ฒญ ํ—ค๋”์— ์ฟ ํ‚ค๊ฐ€ ์ „์†ก๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์žฅ๊ธฐ์ ์œผ๋กœ ๋งŽ์€ ๋ฐ”์ดํŠธ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ™์€:

(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
e=o.createElement(i);r=o.getElementsByTagName(i)[0];
e.src='//www.google-analytics.com/analytics.js';
r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
(function(){var a=(function(){var c=new Date,b;try{
localStorage.setItem(c,c);b=localStorage.getItem(c)==c;
localStorage.removeItem(c);return b&&localStorage}catch(d){}}());
ga('create','UA-XXXXX-X',a?{storage:'none',clientId:a.gaId}:{});
ga(function(b){a.gaId=b.get('clientId')});ga('send','pageview')}());

(http://mathiasbynens.be/notes/localstorage-pattern์—์„œ ๊ฐ€์ ธ์˜จ localStorage ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.)

๋ช‡ ๊ฐ€์ง€ ๋น ๋ฅธ ํ…Œ์ŠคํŠธ ํ›„์— ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋” ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธํ•œ ํ›„ PR์„ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. (๋ฌผ๋ก  ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!)

์ฐธ๊ณ : ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๊ฐ ์š”์ฒญ์— ๋Œ€ํ•ด ์™•๋ณต๋‹น ์•ฝ 33๊ฐœ์˜ ์›์‹œ ๋ฐ”์ดํŠธ(ํ—ค๋”/์ฟ ํ‚ค๊ฐ€ ์••์ถ•๋˜์ง€ ์•Š์Œ)๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@mathiasbynens ' ํ˜„์žฌ ์ธ๋ผ์ธ ๊ธฐ๋Šฅ ๊ฐ์ง€ ์†”๋ฃจ์…˜์€ 130 ์••์ถ• ๋ฐ”์ดํŠธ* ๋” ํฝ๋‹ˆ๋‹ค(๋ถ„๋ช…ํžˆ ์ด๊ฒƒ์€ ๊ฐ ๊ณ ์œ  ํŽ˜์ด์ง€๋งˆ๋‹ค ๋‹ค๋ฅด์ง€๋งŒ ๋Œ€๋žต์ ์ธ ์•„์ด๋””์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค). ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ์กฐ๊ธˆ ๋” ๊ณจํ”„๋ฅผ ์น  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐœ์ธ์ ์œผ๋กœ gzip์œผ๋กœ ์••์ถ•๋œ diff๋ฅผ 65๋ฐ”์ดํŠธ๊นŒ์ง€ ๋ณด๊ณ  ์‹ถ๊ณ  ๊ณง ์ง์ ‘ ์‹œ๋„ํ•ด ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. :-)

_*์ด ๋””ํ”Œ๋ ˆ์ดํ„ฐ ์‚ฌ์šฉ: http://www.vervestudios.co/projects/compression-tests/snippet-deflator_

318 GZIPped ๋ฐ”์ดํŠธ(ํ˜„์žฌ ๋ฒ„์ „์€ 248 GZIPped ๋ฐ”์ดํŠธ):

(function(l,e){GoogleAnalyticsObject='ga',(window.ga||(ga=function(l,e){(ga.q=ga.q||[]).push(arguments)})).l=+new Date,l=document.createElement('script'),l.src='//www.google-analytics.com/analytics.js',(e=document.getElementsByTagName('script')[0]).parentNode.insertBefore(l,e);ga('create','UA-XXXXX-X',(function(l,e){try{l=(localStorage[ga.l]=ga.l)==ga.l;localStorage.removeItem(ga.l);return l}catch(l){}}())?{storage:'none',clientId:localStorage.clientId}:{});ga(function(l,e){localStorage.clientId=l.get('clientId')});ga('send','pageview')}())

์ด๊ฒƒ์€ ์ž˜ ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์—ฌ์ „ํžˆํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ setItem ๋ฐ getItem ํ˜ธ์ถœ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค๋ฅธ ๊ณจํ”„ "ํŠธ๋ฆญ"์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— localStorage ํ…Œ์ŠคํŠธ๋Š” ์ผ๋ถ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์†์ƒ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ์€ ๊ทธ๊ฒŒ ๋‹ค์•ผ. :-)

๋ฐฉ๊ธˆ ์šฐ๋ฆฌ๊ฐ€ ์Šค๋‹ˆํŽซ ์ž์ฒด๋ฅผ ์••์ถ•ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์†Œ ๋ฌด์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Gzip ๊ฒฐ๊ณผ๋Š” ๋ฌธ์„œ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค(์˜ˆ: ๋ฌธ์„œ์— ์ธ๋ผ์ธ๋œ ๊ฒฝ์šฐ HTML ์†Œ์Šค, ๋ฌธ์„œ์˜ ์ผ๋ถ€์ธ ๊ฒฝ์šฐ JavaScript ํŒŒ์ผ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„). ์Šค๋‹ˆํŽซ์˜ gzip ์••์ถ• ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ์ด๊ฒƒ์„ ์ธก์ •ํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์•„๋‹ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šค๋‹ˆํŽซ์ด ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ์ƒˆ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋Œ€์‹  ga.l ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค!

๋ถˆํ–‰ํžˆ๋„ localStorage ํ…Œ์ŠคํŠธ๋Š” ์•„๋งˆ๋„ setItem ๋ฐ getItem ํ˜ธ์ถœ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค๋ฅธ ๊ณจํ”„ "ํŠธ๋ฆญ"์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์†์ƒ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ๊ฒƒ์€ ๊ฑฐ๋ž˜ ์ฐจ๋‹จ๊ธฐ IMHO๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Firefox < 9 ์ง€์›์ด ๋” ์ด์ƒ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์„ ๋•Œ document.getElementsByTagName('script')[0] ๋ฅผ document.scripts[0] ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@mathiasbynens GZIPping ์Šค๋‹ˆํŽซ์€ ์••์ถ•์œผ๋กœ ์ธํ•œ _์ตœ์†Œ_๋ฐ”์ดํŠธ ์ ˆ์•ฝ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์™„์ „ํžˆ ๋…ผ์ ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒฝ์šฐ์— ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์Šค๋‹ˆํŽซ์˜ ์••์ถ• ๋น„์œจ์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค! getItem ๋ฐ setItem ํ˜ธ์ถœ์„ ๋‹ค์‹œ ์ถ”๊ฐ€ํ•˜๊ณ  309๋ฐ”์ดํŠธ๋กœ ์ค„์˜€์Šต๋‹ˆ๋‹ค.

+function(l,e){(ct=this[GoogleAnalyticsObject='ct']||function(l,e){(ct.q=ct.q||[]).push(arguments)}).l=+new Date,l=document.createElement('script'),l.src='//www.google-analytics.com/analytics.js',(e=document.getElementsByTagName('script')[0]).parentNode.insertBefore(l,e);try{localStorage.setItem(ct.l,ct.l),l=localStorage.getItem(ct.l)-ct.l,localStorage.removeItem(ct.l)}catch(l){};ct('create','UA-XXXXX-X',l?{}:{clientId:localStorage.clientId,storage:'none'}),ct(function(l,e){localStorage.clientId=l.get('clientId')}),ct('send','pageview')}()
  • ์ง€๊ธˆ์€ ๊ด„ํ˜ธ๋ฅผ ๊ฐ์‹ธ๋Š” ๋Œ€์‹  + ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” IIFE๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‚˜๋Š” ๋˜ํ•œ localStorage.clientId ๋Œ€์‹  localStorage.gaId ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค clientId ๊ฐ€ ๋ฐ”์ดํŠธ๋ฅผ ์ ˆ์•ฝํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • $#$ window this ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 1๋ฐ”์ดํŠธ๊ฐ€ ๋” ์ ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค( GoogleAnalyticsObject ํ• ๋‹น ์ด๋™๊ณผ ํ•จ๊ป˜).
  • ga ๋ฅผ ct ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด(ct๊ฐ€ ๋” ์ผ๋ฐ˜์ ์ž„) 1๋ฐ”์ดํŠธ๋ฅผ ๋” ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด๋Š” ์•„๋งˆ๋„ ํ˜ผ๋™ํ•  ๊ฐ€์น˜๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค).
  • ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ์ œ๊ฑฐํ•˜๊ณ  ์„ฑ๊ณต ์‹œ 0 ์— ํ• ๋‹นํ•˜์—ฌ localStorage ๊ฒ€์‚ฌ์— l ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋ฉด ๋งŽ์€ ๋ฐ”์ดํŠธ๊ฐ€ ์ ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ๋” ๋งŽ์€ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

@davidmurdoch ์•„์ง ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ํ…Œ์ŠคํŠธ๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ๋„๋ก ํ…Œ์ŠคํŠธ ํ๋ฆ„์„ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” MIA์˜€์Šต๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ 6๊ฐœ์›” ํ”„๋กœ์ ํŠธ์— ๋ฐฐ์ •๋˜์–ด ๋‹ค๋ฅธ ์ผ์— ๋งŽ์€ ์‹œ๊ฐ„์„ ํ• ์• ํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด(๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์–ด๋ฆฌ์„์€) ๋ฐฉ๋ฒ•์€ ๋ถ„์„ ์ฝ”๋“œ๋ฅผ ์ด ์ƒˆ ์ฝ”๋“œ๋กœ ๊ต์ฒดํ•˜๊ณ  ์ˆซ์ž์™€ ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „์— ์ด์ƒํ•œ ๋ณ€๋™์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ์ง์ ‘ํ–ˆ๊ณ  ๋ˆˆ์— ๋„๋Š” ๊ฒƒ์„ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์–ด์จŒ๋“  oldie ๋ฐฉ๋ฌธ์ž๊ฐ€ ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์ƒ์„ฑ๋œ iframe์— ์ด ์‹คํ—˜์  ๋ถ„์„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋กœ๋“œํ•˜๊ณ (์•ˆ์ •์ ์ธ ๋ถ„์„ ์Šค๋‹ˆํŽซ์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š๋„๋ก) ๋ฌผ๋ก  ๋‹ค๋ฅธ GA ๊ณ„์ •์œผ๋กœ ๊ฑฐ๊ธฐ์—์„œ _trackPageview ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ผ์ฃผ์ผ ์ •๋„ ํ›„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์กฐ๋งŒ๊ฐ„ ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ๋“œ๋กญ์ธ ์Šค๋‹ˆํŽซ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์žฅ๋‹ดํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ˆจ์–ด ์žˆ๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ด ์•„์ด๋””์–ด์˜ ์†Œ์œ ๊ถŒ์„ ๊ฐ–๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฐ”๋กœ ๊ฐ€์„ธ์š”. :-)

๋ฐฉ๊ธˆ http://drublic.github.io/css-modal/์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€๋‚œ ๋‹ฌ์— 97,000 ํŽ˜์ด์ง€ ๋ทฐ๋ฅผ ์–ป์—ˆ์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ € ์ „์ฒด์— ๋„๋ฆฌ ํผ์กŒ์Šต๋‹ˆ๋‹ค.

์ˆซ์ž๋“ค:

  1. ํฌ๋กฌ 44.01%
  2. ํŒŒ์ด์–ดํญ์Šค 34.38%
  3. ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ 8.86%
  4. ์˜คํŽ˜๋ผ 5.26%
  5. ์‚ฌํŒŒ๋ฆฌ 4.01%
  6. ์•ˆ๋“œ๋กœ์ด๋“œ ๋ธŒ๋ผ์šฐ์ € 2.22%

๊ธฐ๋‹ค๋ฆฌ๊ณ  ๋ณด์ž. ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜๋Š” "์ •์ƒ" ํ†ต๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ์™ธ์—๋„ ์ฝ”๋“œ๊ฐ€ ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ์ถ”๊ฐ€ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค(ํ•œ ์ค„์— 80์ž ๋ฐ ์‹๋ณ„์ž๋ฅผ ์‚ฝ์ž…ํ•  ์œ„์น˜).

์•ฝ ์ผ์ฃผ์ผ ํ›„์— ์ด ํ…Œ์ŠคํŠธ๋กœ ๋Œ์•„์˜ค๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์กฐ๊ธˆ ์ด๋ฅด์ง€๋งŒ ๋‚ด ๋ฐœ๊ฒฌ์€ ํ˜„์žฌ ๋งค์šฐ ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ๋‘ ๊ณ„์ •์˜ ๋ฐฉ๋ฌธ์ž ์ˆ˜์—๋Š” ํฐ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๊ตฌํ˜„ ์€ 3์›” 13์ผ๋ถ€ํ„ฐ 17์ผ๊นŒ์ง€ 2,964ํšŒ์˜ ๊ณ ์œ  ๋ฐฉ๋ฌธ ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€ ๊ธฐ๋ฐ˜ ์€ ๊ฐ™์€ ๊ธฐ๊ฐ„ ๋™์•ˆ 756๋ช…์˜ ๊ณ ์œ ํ•œ ๋ฐฉ๋ฌธ ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์Šค๋‹ˆํ•‘๋œ ๋‚ด ๊ตฌํ˜„์ด ์†์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • iframe ๋กœ๋“œ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ์ฐจ๋‹จ๋จ
  • ์Šค๋‹ˆํ•‘๋œ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€ ํ†ตํ•ฉ์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋‚ด ์ฝ”๋“œ์— ์˜ค๋ฅ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. http://drublic.github.io/css-modal/test-gau-localstorage.html (์‚ฌ์ดํŠธ์— ํ†ตํ•ฉ๋œ iframe์ž„).

๋˜ํ•œ ๋ธŒ๋ผ์šฐ์ €๋‚˜ ํŽ˜์ด์ง€์—์„œ iframe์ด ์ฐจ๋‹จ๋˜๋Š” ๊ฒƒ์„ ๊ฒฝํ—˜ํ•œ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋Š”์ง€ ์•„๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๋Š” ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€ GUA๊ฐ€ ์Šค๋‹ˆํ•‘ํ•œ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š” ์†”๋ฃจ์…˜์œผ๋กœ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์กฐ์‚ฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ถ•์†Œ๋˜์ง€ ์•Š์€ ๋ณ€ํ˜•์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์ž‘์—… ์†”๋ฃจ์…˜์„ ๋งŒ๋“  ํ›„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ HTML5BP v5.0์—์„œ ์ด๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์†”๋ฃจ์…˜์„ ์ฐพ์œผ๋ฉด 5.1๋กœ ๋ฆด๋ฆฌ์Šคํ•˜๋„๋ก ์„ ํƒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์„ธ์š”?

๋˜ํ•œ HTML5BP v5.0์—์„œ ์ด๊ฒƒ์„ ์„ค๋ช…ํ•˜๊ณ  5.1๊ณผ ํ•จ๊ป˜ ๋ฆด๋ฆฌ์Šคํ•˜๊ธฐ๋กœ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

@drublic :+1: ( v5.1.0 ๋งˆ์ผ์Šคํ†ค ์— ๋ฌธ์ œ ์ถ”๊ฐ€๋จ).

์ˆซ์ž๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ga('create', w/ storage:'none' ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๊ธฐ๋ณธ clientId๋ฅผ ์ œ๊ณต ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://developers.google.com/analytics/devguides/collection/analyticsjs/domains#disableCookies

๋‚ด ์‚ฌ์ดํŠธ(์—ฌ๊ธฐ: LocalStorage๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Google Async Analytics ๋ฐ ํ…Œ์ŠคํŠธ ํŽ˜์ด์ง€ ์„ค์ •: http://davidmurdoch.com/google-async-analytics-using-localstorage-test/)์—์„œ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋ฐฉ๊ธˆ ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค.

์ฝ๊ณ  ๊ณต์œ ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜์‹ญ์‹œ์˜ค.

(์ฐธ๊ณ : ํ•ด๋‹น ํŽ˜์ด์ง€์—์„œ ์˜คํƒ€๋‚˜ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ํŠธ์œ„ํ„ฐ @pxcoach ๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”.

์ด๋ด, ํŒŒํ‹ฐ์— ์กฐ๊ธˆ ๋Šฆ๊ฒŒ ๋„์ฐฉํ•ด์„œ ๋ฏธ์•ˆํ•ด. ์ €๋Š” Google Analytics ํŒ€์—์„œ ์ผํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์˜๊ฒฌ์„ ์ œ์‹œํ•˜๊ณ  ์ œ ์ƒ๊ฐ์„ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋จผ์ € H5BP ํ”„๋กœ์ ํŠธ์—์„œ ๊ณต์‹์ ์œผ๋กœ ๊ถŒ์žฅํ•˜๋Š” ๊ฒƒ๊ณผ ๊ธฐ๋Šฅ์ ์œผ๋กœ ๋‹ค๋ฅธ ๊ตฌ๊ธ€ ์• ๋„๋ฆฌํ‹ฑ์Šค ์ถ”์  ์Šค๋‹ˆํŽซ์„ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ์•„๋งˆ ๊ทธ๋“ค์ด ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•  ๊ฒƒ์ด๊ณ , ์‹ค์ œ๋กœ ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ํ˜ผ๋ž€์„ ์ผ์œผํ‚ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Google ์›น๋กœ๊ทธ ๋ถ„์„ ๋ฌธ์„œ์—์„œ GA๊ฐ€ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค๊ณ  ์ฃผ์žฅํ•˜์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€ ๋‹ค๋ฅธ ์Šค๋‹ˆํŽซ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋””๋ฒ„๊ทธํ•˜๊ธฐ ๋งค์šฐ ์–ด๋ ค์šด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ํŠนํžˆ H5BP๊ฐ€ ์Šค๋‹ˆํŽซ์ด ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ๋ถ„๋ช…ํžˆ ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ).

GA๊ฐ€ ๋” ์ž˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์žˆ๋‹ค๋ฉด ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์š”๊ตฌ์™€ ํ•จ๊ป˜ ๋ฐœ์ „ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. (BTW, GA์™€ ๊ด€๋ จ๋œ Github ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž์œ ๋กญ๊ฒŒ pingํ•˜๊ฑฐ๋‚˜ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.)

์–ด์จŒ๋“ , ๋‹ค์Œ์€ localStorage์˜ ์ฃผ์š” ๋ฌธ์ œ์™€ GA๊ฐ€ ์ด๋ฅผ ๊ธฐ๋ณธ ์ €์žฅ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

localStorage์˜ ๋ฒ”์œ„๋Š” location.origin ์ธ ๋ฐ˜๋ฉด ์ฟ ํ‚ค๋Š” ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ์œผ๋กœ ๋ฒ”์œ„๊ฐ€ ์ง€์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฟ ํ‚ค ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด analytics.js๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•˜์œ„ ๋„๋ฉ”์ธ ์ถ”์ ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Š” localStorage์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์ดํŠธ์˜ ์ผ๋ถ€๊ฐ€ HTTP์ด๊ณ  ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด HTTPS์ธ ๊ฒฝ์šฐ์—๋„ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค(์‹คํŒจํ•˜๋ฉด ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ๊ณต์œ ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ ID๊ฐ€ ์†์‹ค๋˜๊ณ  GA๋Š” ์ด๋ฅผ ๋ณ„๋„์˜ ์„ธ์…˜์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ). ์ด๊ฒƒ์ด ๋Œ€๋ถ€๋ถ„์˜ GA ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ด์ง€๋งŒ, ๋‚ด๊ฐ€ ๋ฐฉ๊ธˆ ์„ค๋ช…ํ•œ ๊ธฐ๋Šฅ ์†์‹ค๋กœ ์ธํ•ด ์ด ์ œ์•ˆ๋œ ์Šค๋‹ˆํŽซ์„ ๋“œ๋กญ์ธ ๋Œ€์ฒดํ’ˆ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋‚˜์  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์ด ๋ฌธ์ œ์™€ @davidmurdoch ์˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณต์‹์ ์œผ๋กœ ์ง€์›๋˜๋Š” localStorage ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๊ตฌ์ถ•์— ์šฐ์„  ์ˆœ์œ„๋ฅผ ๋‘๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ storage ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” cookie ๋ฐ none ์˜ต์…˜๋งŒ ์ง€์›ํ•˜์ง€๋งŒ ์„ธ ๋ฒˆ์งธ localStorage ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ํ•˜์œ„ ๋„๋ฉ”์ธ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ๊ต์ฐจ ์ฒด๊ณ„ ์ถ”์ ์ด ์˜ตํŠธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์–ธ์ œ ์ถ”๊ฐ€๋ ์ง€ ๋ชจ๋ฅด์ง€๋งŒ ์ถ”๊ฐ€๋  ๋•Œ ์ด ๋ฌธ์ œ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ํ•ฉ๋ฆฌ์ ์œผ๋กœ ๋ณด์ž…๋‹ˆ๊นŒ?

@philipwalton ๋Œ“๊ธ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด๊ฒƒ์ด ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ํ•ฉ๋ฆฌ์ ์œผ๋กœ ๋ณด์ž…๋‹ˆ๊นŒ?

์ฐธ์กฐ: @davidmurdoch , @mathiasbynens

์ฆ‰, ์ด ๋ฌธ์ œ์™€ @davidmurdoch ์˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณต์‹์ ์œผ๋กœ ์ง€์›๋˜๋Š” localStorage ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๊ตฌ์ถ•์— ์šฐ์„  ์ˆœ์œ„๋ฅผ ๋‘๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

:+1:

์ด๊ฒƒ์ด ์ถ”๊ฐ€๋˜๋ฉด ๋ฌธ์ œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์‹ญ์‹œ์˜ค. ๊ฐ์‚ฌ ํ•ด์š”!

@philipwalton , :+1: ์ข‹์€ ์†Œ์‹์ž…๋‹ˆ๋‹ค! ๊ทธ๋Ÿฌ๋‚˜ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•ด _์‹œ๋„_ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ํ–ˆ์Šต๋‹ˆ๋‹ค! :-p (๋‚˜๋Š” ๊ผฌ๋งˆ, ๋‚˜๋Š” ๊ผฌ๋งˆ).

์ด ๋‰ด์Šค๋กœ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๋น„๊ณต์‹ localStorage ์ถ”์  ์ฝ”๋“œ๋กœ GitHub ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์–ด ๋‹จ์ ์„ ๊ฐ•์กฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”!

:+1: ํ•˜์ง€๋งŒ ๋ฏธ๋ž˜์˜ ์›น์—๋Š” ์ผ์ข…์˜ topLevelStorage ๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์—ผ๋‘์— ๋‘๊ณ  ์Šค๋‹ˆํŽซ์ด ๋“ค์–ด์˜ฌ ๋•Œ h5bp์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์„ค์ •์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

@jonathantneal , ์šฐ๋ฆฌ๋Š” ํŒŒ์ด์–ดํญ์Šค์— globalStorage ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ด๊ฒƒ์€ ๊ต์ฐจ ์ฒด๊ณ„, ํฌํŠธ, ๊ทธ๋ฆฌ๊ณ  ํ•˜์œ„ ๋„๋ฉ”์ธ ์ €์žฅ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. Firefox๋Š” ๊ทธ๊ฒƒ์„ ๊ตฌํ˜„ํ•œ ์œ ์ผํ•œ ์‚ฌ๋žŒ์ด์—ˆ๊ณ  ๊ทธ ์ดํ›„๋กœ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. :-(

@davidmurdoch ์ด ํ˜ธ๋ฅผ ์—ด์–ด์„œ ์กฐ์‚ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

@philipwalton ํ† ๋ก ์— ์ฐธ์—ฌํ•ด ์ฃผ์…”์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ @mathiasbynens ๊ฐ€ ๋งํ–ˆ๋“ฏ ์ด ์ตœ์‹  ์ •๋ณด๋ฅผ ๊ณ„์† ์•Œ๋ ค์ฃผ์„ธ์š”!

๊ทธ๋ฆฌ๊ณ  ๋น„๊ณต์‹ localStorage ์ถ”์  ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ๋‹จ์ ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.

@davidmurdoch ์˜ ์ €์žฅ์†Œ๋Š” https://github.com/davidmurdoch/ga-localstorage ์ž…๋‹ˆ๋‹ค.(์•„์ง ์—…๋ฐ์ดํŠธ๋˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ).

๋ฐฉ๊ธˆ "localStorage๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Google ์• ๋„๋ฆฌํ‹ฑ์Šค" ์Šคํฌ๋ฆฝํŠธ๋ฅผ npm์— ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. https://www.npmjs.org/package/ga-localstorage

https://github.com/davidmurdoch/ga-localstorage ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋„ ์ฝ”๋“œ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ์ด SO ๋Œ“๊ธ€์„ ์ฝ์—ˆ์Šต๋‹ˆ๊นŒ?

http://stackoverflow.com/questions/4502128/convert-google-analytics-cookies-to-local-session-storage/19207035#comment -44767913

๋‹ค๋“ค ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

@caesarsol ์ •๋ง ๋‚˜์œ ์ƒ๊ฐ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์˜๊ฒฌ ์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด ์ฟ ํ‚ค์™€ localStorage์—๋Š” ๋™์ผํ•œ ์ œํ•œ์ด ์—†์œผ๋ฏ€๋กœ ํŽ˜์ด์ง€์—์„œ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  ๋‹จ์ผ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด ์ฟ ํ‚ค๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @philipwalton๋‹˜ , ๋‹ต๋ณ€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ œ๊ฐ€ ์„ค๋ช…์„ ์ž˜๋ชปํ–ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. SO ์‚ฌ์šฉ์ž _smhmic_์˜ ์ด ๋Œ“๊ธ€์„ ์ฐธ์กฐํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ GA TOS๋ฅผ ์œ„๋ฐ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๋‹ค์Œ์€ ์ด ๋ฌธ์„œ์—์„œ ๊ฐ€์ ธ์˜จ GA ํŒ€ ๊ตฌ์„ฑ์›์˜ ๊ฐ„์ ‘ ์ธ์šฉ๋ฌธ์ž…๋‹ˆ๋‹ค. "์ฟ ํ‚ค ์ƒํƒœ๋ฅผ ์ „ํŒŒํ•˜๊ธฐ ์œ„ํ•ด HTTP ์ƒํƒœ ๊ด€๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์‚ฌ์šฉ"(localStorage ์ฝ๊ธฐ) "์€ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ Google Analytics ์„œ๋น„์Šค ์•ฝ๊ด€์„ ์œ„๋ฐ˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ". ์ด์— ๋Œ€ํ•œ ๋‚˜์˜ ํ•ด์„์€ ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ฟ ํ‚ค์˜ ๊ฐœ๋…๊ณผ ์ฟ ํ‚ค๋ฅผ ์ง€์šฐ๋Š” ๋ฐฉ๋ฒ•์— ์ต์ˆ™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— GA๊ฐ€ localStorage๊ฐ€ ์•„๋‹Œ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ GA์˜ ์ฟ ํ‚ค ์‚ฌ์šฉ์€ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. โ€“ ํ ํ 

HTTP ์ƒํƒœ ๊ด€๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜"(localStorage ์ฐธ์กฐ)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฟ ํ‚ค ์ƒํƒœ๋ฅผ ์ „ํŒŒํ•˜๋Š” ๊ฒƒ์€ ๋‹น์‚ฌ์˜ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ์žฅ์น˜๋ฅผ ์šฐํšŒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ Google Analytics ์„œ๋น„์Šค ์•ฝ๊ด€์„ ์œ„๋ฐ˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ , ๋‚˜๋Š” ์ด๊ฒƒ์ด ์‚ฌ์‹ค์ด ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌํ˜„์ž์— ์˜์กดํ•˜์ง€ ์•Š๋Š” GA๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์„ ํƒ ํ•ด์ œ ๊ธฐ๋Šฅ(์˜ˆ: Chrome ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ)์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด TOS ์„น์…˜์˜ ์š”์ ์€ ๊ณต์‹ "์ถ”์  ๊ธˆ์ง€" ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด _์—ฌ์ „ํžˆ_ ์ถ”์ ๋˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋” ์ž์„ธํžˆ ์กฐ์‚ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด ์Šค๋ ˆ๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚ด ๊ฐ€์ •์ด ๊ฑฐ์ง“์œผ๋กœ ํŒ๋ช…๋˜๋ฉด ์ด ์Šค๋ ˆ๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ:

LocalStorage๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ClientID๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์€ TOS์— ์œ„๋ฐฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ œ Google์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id#using_localstorage_to_store_the_client_id

์ฐธ๊ณ : iOS5 ๋ฐ FF4์™€ ๊ฐ™์€ ์˜ค๋ž˜๋œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ (๋งค์šฐ) ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ˆ์ œ ์Šค๋‹ˆํŽซ์ด ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(https://github.com/Modernizr/Modernizr/blob/master/feature-detects/storage/localstorage ์ฐธ์กฐ). js).

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰