여러 환경을 갖춘 Google 웹 로그 분석


11

조직에서 Google 웹 로그 분석을 사용할 계획이며이를 설정하는 일을 담당하고 있습니다. 여러 환경을 다루는 방법이 궁금합니다. 우리는 개발 및 QA 중에 데이터를 수집하지 않고 (또는 다른 분석 계정으로 데이터를 수집하고 싶지는 않지만) 사이트가 생산 단계에있을 때 (분명히) 원합니다.

  • 여러 환경 및 Google 웹 로그 분석을 어떻게 처리합니까?
  • Google 웹 로그 분석에 대해 여러 계정을 설정하고 환경에 따라 둘 중 하나를 사용합니까?

우리는 ASP.NET 2.0을 사용하고 있습니다.

답변:


8

다른 옵션은 Google 웹 로그 분석 프로필 입니다. 모든 환경에서 동일한 계정을 사용하지만 각 환경에서 트래픽 만 포함하도록 각 프로필에 호스트 이름 필터추가하십시오 .

예를 들어 내부 품질 보증 환경이 인 경우 qa.example.comGoogle 애널리틱스에서 맞춤 필터를 사용하여 'QA'프로필을 만들어 일치하는 호스트 이름 만 포함하십시오 ^qa\.example\.com$. "Production"프로필에서 반대 작업을 수행하고 내부 호스트 이름에서 트래픽을 제외하십시오.


이것은 구성 파일 내에서 구성하기가 쉽고 쉽고 강력하며 변수가 적습니다.

7

가장 쉬운 대답은 예입니다. 각 환경에 대해 여러 계정을 설정하십시오. 그리고, 프로파일 ID 대체 (텍스트를 그와 같이 'UA-XXXXX-X'처럼 보이는 여기 ) 원하는 환경에서 정확한 ID와.

ASP.NET을 사용하고 있으므로 web.config에 프로필 ID를 저장할 수 있습니다. 이로 인해 JavaScript 내에 .NET 코드를 포함시켜야 할 수도 있습니다 (괜찮을 수도 있고 아닐 수도 있음). 추적 코드를 출력하는 유일한 구성으로 프로덕션 구성을 구성 할 수도 있지만 테스트되지 않은 코드가 릴리스됩니다.

사이트를 호스팅하는 방법 (dev.domain.tld, test.domain.tld, www.domain.tld)에 따라 단일 프로필을 사용한 다음 하위 도메인 / 폴더 / url을 기반으로 결과를 필터링 할 수 있습니다. Google은 다양한 추적 시나리오 에 대한 좋은 기사를 가지고 있습니다 .


2
환경 당 여러 계정이 여기에가는 길이 확실합니다
Wyatt Barnett

1

여기 내가 마지막으로 한 일이 있습니다 (자바 스크립트에 .Net 코드를 포함시키는 아이디어가 마음에 들지 않았습니다).

  • 개발 / 테스트 용과 프로덕션 용으로 각각 2 개의 Google 웹 로그 분석 계정을 설정했습니다.
  • web.config의 Google 웹 로그 분석 계정 ID를 본문으로 반환하는 페이지를 만듭니다.
  • $ (document) .ready에서 페이지에 대한 아약스 호출
  • Ajax complete에서 응답이있는 Google Analytics 스크립트 (계정 ID 포함)를 호출하십시오.

따라서 배포 환경에 따라 올바른 계정 ID를 포함하는 web.config 파일 버전 중 하나를 사용합니다.

좀 더 복잡하지만 .NET에서 자바 스크립트를 생성하지 않아도되며 jQuery를 사용하여 매우 간단합니다.

최종 코드는 다음과 같습니다.

var setupGoogleAnalytics = function (clientNumber) {
    var gaq = gaq || [];
    gaq.push(['_setAccount', clientNumber]);
    gaq.push(['_setDomainName', 'none']);
    gaq.push(['_trackPageview']);

    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}

$(document).ready(function(){
    $.ajax({
        url: "GetGAClientNumber.aspx",
        success: function(data) {
            setupGoogleAnalytics(data);
        }
    });
});

그리고 그것은 완벽하게 작동합니다!


6
단순히 계정 번호를 얻기 위해 모든 페이지로드에서 AJAX 요청을하는 것은 낭비입니다.
Bob Banks

1
<%= ASP %>Javascript에 태그 를 포함시키는 데 아무런 문제가 없습니다 . JS와 다른 쿼리 / 논리에 최소값 만 넣으십시오.
Simon East

0

개발 및 QA 중에 사이트가 회사 네트워크의 컴퓨터에서만 내부적으로 액세스되도록 할 수 있습니까?

그렇다면 프로덕션에 사용될 동일한 분석 계정을 사용하고 조직 내 모든 트래픽을 필터링 할 수 있습니다 .

링크에서 인용 :

내부 트래픽이 보고서에 나타나지 않도록하려면 특정 IP 주소 또는 IP 주소 범위를 필터링하십시오. 쿠키를 사용하여 특정 사용자의 방문을 필터링 할 수도 있습니다. 아래에 그 방법을 설명하겠습니다.


이것은 확실히 작동하지만 이벤트 및 기타 실시간 추적 가능한 데이터의 구현을 테스트하려고 할 때; 격리 된 프로파일이나보기없이 사용하기가 매우 어렵습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.