2010-06-24 3 views
1

Google은 간단한 GA 구현을 수행했으며 잠시 동안 setVar 및 setSessionTimeout 만 사용했습니다. 클라이언트 시스템에서 기존 추적 데이터를 손실하지 않고 GA의 교차 도메인 추적 구성 (특정 링크가 _link 메소드를 통해 유선 연결되는 방식)으로 전환 할 수있는 방법이 있습니까?이전 Google 애널리틱스 구현에서 교차 도메인 추적으로 전환

많은 테스트를 실행했으며 해결 된 문제가 많을수록 더 많은 문제가 발생했습니다. 간단히 말해서 :

미리 구현 된 클라이언트는 다음과 같은 쿠키를 가지고 있습니다. __utm (a, b, c, z, v). 첫 번째 단계는 코드를 변경하고 _setAllowLinker 및 _setAllowHash 메서드를 추가하는 것이었지만 이것이 TypeError를 던지고있었습니다. pageTracker 메서드를 호출하기 전에 __utmv 쿠키를 삭제 한 다음 _setVar을 다시 호출하면이 문제를 피할 수 있음을 알았습니다.

자리에 새로운 코드는 오류 던지는없이 확인을 작동하는 것 같군 : 그 값은 이제 크로스 도메인을 사용할 수 있도록

document.cookie = '__utmv=; expires=Tue, 22 Jun 2010 11:57:00 GMT;'+ 
    ' path=/; domain=XXXXXXX'; 
var pageTracker=_gat._getTracker(UA-XXXXXXXX); 
pageTracker._setAllowLinker(true); 
pageTracker._setAllowHash(false); 
pageTracker._setSessionTimeout(XXXXX); 
pageTracker._setVar(XXXXX); 
pageTracker._trackPageview(); 

쿠키 이제, 해시 값을 사용하지으로 업데이트를하지만, 문제는 __utm 쿠키의 값이 새로운 값으로 새로 고쳐 졌기 때문에 사용자 기록이 손실되고 새로운 방문이 폭발한다는 의미입니다. 예를 들어

, __utma :

  • 전 - XX-HASHVALUE-XX.1379282990.1277294951.1277294951.1277294951.1
  • 후 - 1.26318765.1277294984.1277294984.1277294984.1

가 전환 할 수없는 경우 사용자 기록을 잃지 않고 도메인 간 교차 도메인을 구성하려면 다음 도메인으로 클릭 연결되는 링크에서 위조 할 수있는 방법이 있습니까? 즉, 쿠키에서 링크 URL을 생성하고 모든 해시 값 접두어를 1로 바꾸십시오.

감사합니다.

답변

0

불행히도 ga.js API를 사용하여이를 수행 할 수있는 적절한 방법이없는 것으로 보입니다. 나는이 솔루션 갔어요 다음 eraseCookieHash 기능에

var pageTracker = _gat._getTracker("UA-123456-7"); 
if (getCookie('__utma') && getCookie('__utma').substr(0, 2) == '1.') { 
    // hash value safely removed, flick GA API switch 
    pageTracker._setAllowHash(false); 
} 
pageTracker._trackPageview(); 

if (getCookie('__utmc') != '1') { 
    // remove hash values from all GA cookies 
    eraseCookieHash(); 
} 

는, 각 쿠키는 1 해시 값을 대체하기 위해 수동으로 업데이트되면,이 값이 만료 결정 http://code.google.com/apis/analytics/docs/concepts/gaConceptsCookies.html에서 가이드를 사용.