<script> var cook; var cStart,cEnd; var cnt; if(navigator.cookieEnabled) { cook=document.cookie + ";"; console.log(cook); cStart = cook.indexOf("counts=",0); if(cStart == -1){ //indexOfで存在しない時は-1を返す document.write("1回目の訪問です!"); document.cookie="counts=1;"; } else { cEnd = cook.indexOf(";",cStart); cnt = cook.substring(cStart+7,cEnd); // cStart + "counts=" try { cnt = parseInt(cnt)+1; document.write(cnt+"回目の訪問です!"); document.cookie="counts="+cnt+";"; } catch(e){ document.write("訪問回数の取得に失敗しました。"); } } }else{ document.write("cookieが使用できません。"); } </script>
ga.jsのcookieの処理 18箇所出てきます。
出てくるのは、
_setCookiePath、_setVisitorCookieTimeout、_setSessionCookieTimeout、_setCampaignCookieTimeout、_cookiePathCopy、_setCookieTimeout、_setCookiePersistence
後半の、J.cookieは、J=documentなので、普通にdocument.cookieです。
b=n.cookie.split(";"); var Mc=N(),Nc=N(),Yb=N(),Jc=N(),Kc=N(),Lc=Va("utmtCookieName"),Cd=Va("displayFeatures"),Oc=N(),of=Va("gtmid"),Oe=Va("uaName"),Pe=Va("uaDomain"),Qe=Va("uaPath"),pf=Va("linkid"),w=N(),x=N(),y=N(),z=N(); V("_setCookiePath",P,9,0); V("_setVisitorCookieTimeout",cb,28,1);V("_setSessionCookieTimeout",db,26,1);V("_setCampaignCookieTimeout",eb,29,1); a("_cookiePathCopy",U.prototype.ha,30); V("_setCookieTimeout",eb,25,3);V("_setCookiePersistence",cb,24,1); pd=function(a){ var b=[],c=J.cookie.split(";"); a=new RegExp("^\\s*"+a+"=\\s*(.*?)\\s*$"); for(var d=0;dcookieのvalueは、"GA1.1.200404109.1517112693"とした場合、Timeoutの処理はUNIX timeで処理していそうですね。
あ、J.domain は、document.domainなので、refererのdomainが一緒だった場合は、UNIX Timeを引けば、滞在時間を求められますね。 なるほど、そういうことか。めちゃくちゃ頭いいな~、Paul Muret。閲覧開始数、直帰率は、リファラを見れば、判別できますね。
あれ、でも、同じドメインに遷移の場合はunix timeもsubstructすれば滞在時間が取得できますが、他のドメインに行ったり、ブラウザを閉じた場合、どうやってページ滞在時間を取得しているんでしょうか?
なに~、わからんあれ、こんな記載が。。。
>最後に訪問したページの滞在時間はGoogleアナリティクスが測定できないという注意点があるので気を付けましょう。
なるほど、やっぱりそうか!なぜ、cookieにunixtime入れてるのか完全に理解した!ユーザー固有の ID:200404109 は何でしょうか?
あれ、もしかして、このユーザー(ID:200404109)が1回のセッションでどういうページ遷移をしたかを判別しているために発行しているのでは?
おお、少し仕組みが判ってきた~