문제

예, Google Analytics JavaScript를 귀하의 페이지에 포함시켜야한다는 것을 알고 있습니다.

그러나 수집 된 정보는 Google 웹 로그 분석 서버에 어떻게 제출됩니까?

예를 들어 브라우저 보안 설정 (크로스 도메인 스크립팅)으로 인해 AJAX 요청은 불가능합니다.

누군가가 이미 혼란스러운 Google JavaScript 코드를보고 있었을까요?

도움이 되었습니까?

해결책

HTML 페이지가 GA.JS 파일을 요청하면 HTTP 프로토콜은 IP, 참조, 브라우저, 언어, 시스템에 대해 많은 양의 데이터를 보냅니다. Ajax를 사용할 필요가 없습니다.

그러나 여전히 일부 데이터는 이런 식으로 달성 할 수 없으므로 GA 스크립트는 추가 매개 변수와 함께 이미지를 HTML에 넣고이 예를 살펴보십시오.

http://www.google-analytics.com/__utm.gif?utmwv=4.3&utmn=1464271798&utmhn=www.example.com&utmcs=utf-8&utmsr=1920x1200&utmsc=32-bit&utmul=s=1110.02210.0 title&utmhid=1805038256&utmr=0&utmp=/&utmac=cookie value

이것은 때로는 a라고 불리는 빈 이미지입니다 추적 픽셀, 그 GA는 HTML에 넣습니다.

다른 팁

여기에 데이터를 보내기 위해 개별적으로 한 방법이나 다른 방법에 맞는 경향이있는 좋은 답변. 그러나 위의 답변에서 누락되었다고 생각하는 귀중한 참조가 있으며 모든 방법을 다룹니다.

Google은 데이터 '전송 메커니즘'을 전송하는 다양한 방법을 지칭합니다.

Analytics.js 문서에서 Google은 다음을 언급합니다 세 가지 주요 전송 메커니즘 데이터를 보내는 데 사용됩니다.

이것은 적중이 전송 될 전송 메커니즘을 지정합니다. 옵션은 '비콘', 'xhr'또는 'image'입니다. 기본적으로 Analytics.js는 적중 크기 및 브라우저 기능을 기반으로 최상의 방법을 파악하려고합니다. '비콘'을 지정하고 사용자의 브라우저가 navigator.sendBeacon 방법, 히트 크기에 따라 '이미지'또는 'XHR'로 돌아갑니다.

  1. 일부 데이터를 Google에 전송하는 일반적이고 표준적인 방법 중 하나 (Thinker의 답변에 표시됨)는 데이터를 추적 픽셀에 Get 매개 변수로 추가하는 것입니다. 이것은 Google을 '이미지'전송이라고 부르는 범주에 속합니다.
  2. 둘째, Google은 클라이언트 브라우저가 지원하는 경우 'Beacon'전송 방법을 사용할 수 있습니다. 이것은 정보를 즉시 보내려고 시도하기 때문에 종종 내가 선호하는 방법입니다. 또는 Google의 말로 :

이것은 탐색을 지연시키지 않고 사용자가 사이트에서 벗어나기 직전에 이벤트를 추적하려는 경우 유용합니다.

  1. 'XHR'전송 메커니즘은 Google Analytics가 데이터를 집으로 다시 보낼 수있는 세 번째 방법이며, 사용되는 특정 전송 메커니즘은 히트 크기와 같은 것과 같은 것에 달려 있습니다. (다른 요인이 GA에 어떤 영향을 미치는지 잘 모르겠습니다.

GA가 특정 전송 메커니즘을 사용하도록 강요하는 방법이 궁금한 경우, 다음은이 이벤트를 '비콘'으로 전송하도록 강요하는 샘플 코드 스 니펫이 있습니다.

ga('send', 'event', 'click', 'download-me', {transport: 'beacon'});

도움이 되었기를 바랍니다.


또한이 데이터를 자신의 사이트로 캡처하고 보내려면이 주제에 대해 궁금한 점이 있으시면 Google Analytics Send에 바인딩을 작성하는 것이 좋습니다. 섬기는 사람.

    ga(function(tracker) {

       // Grab a reference to the default sendHitTask function.
       originalSendHitTask = tracker.get('sendHitTask');

       // Modifies sendHitTask to send a copy of the request to a local server after
       // sending the normal request to www.google-analytics.com/collect.
       tracker.set('sendHitTask', function(model) {
         var payload = model.get('hitPayload');
         originalSendHitTask(model);

         var xhr = new XMLHttpRequest();
         xhr.open('POST', '/index.php?task=mycollect', true);
         xhr.send(payload);
       });
    });

코드를 보지 않고, 나는 그들의 데이터가 비동기 요청에서받는 HTTP 헤더에서 수집된다고 가정합니다.

대부분의 브라우저는 OS, 플랫폼, 브라우저, 버전, 로케일 등과 같은 데이터를 전송합니다. 또한 IP가있어 위치를 추측 할 수 있습니다. 그리고 나는 그들이 당신이 독특한 방문자인지 아닌지를 결정하기 위해 일종의 영리한 알고리즘을 가지고 있다고 가정합니다.

사이트의 시간은 아마도 onUnload() 이벤트.

Google Analytics 웹 페이지는 Google Analytics Server를 수집하는 방법에 대한 자세한 정보를 제공합니다. http://code.google.com/apis/analytics/docs/concepts/gaconceptsverview.html

모든 Google 웹 로그 분석 데이터는 요청 URL의 쿼리 문자열에 수집되어 포장되어 Google Analytics Server로 전송됩니다. HTTP 요청은 Google Analytics JS에서 활성화 된 GIF 이미지 (http://www.google-analytics.com/__utm.gif)에 의해 이루어집니다.

FireBug의 NET 탭과 같은 것을 사용하여 말하기가 쉽습니다.

Ajax는 필요하지 않습니다. Google에서 데이터가 가져 오지 않기 때문에 필요합니다. 정보를 쿼리 문자열로 인코딩 한 다음이를 사용하여 투명한 GIF를로드합니다.

다른 매우 좋은 답변을 확장하기 위해 Google은 웹 사이트 저자가 스크립트에 Google에보고 한 Async "Virtual PageViews"를 추적하는 API를 제공합니다.

_gaq.push(['_trackPageview', 'my_unique_action']);

정기적 인 페이지보기 및 HTTP 요청의 일부가 아닌 작업을 추적 할 수 있도록 제공합니다.

비동기 추적 안내서 :http://code.google.com/apis/analytics/docs/tracking/asyncusageguide.html#syntax

사용 httpfox 또는 개똥 벌레 Firefox Extension HTTP가 브라우저가 보내는 내용과 어떤 응답을받는 지 파악합니다.

Google 웹 로그 분석이 어떻게 작동하는지 모르겠지만 브라우저가 이미지를 다운로드하는 것입니다. <img src="http://my-analytics.com" width="1" height="1"> (단일 투명 픽셀 포함) 및 모든 HTTP 요청 헤더를 기록합니다 (예 : Referer:) 서버 측에서.

// 편집 : 맨 아래에서 coment를 참조하십시오

*좋아, 내 친구와의 토론 중에 답을 찾으십시오 :-) Google 웹 로그 분석에 대한 정보는 세 가지 방법으로 제출됩니다.

  1. 목록 항목
  2. HTTP 요청은 HTTP 헤더의 모든 정보로 분석 할 수 있습니다.
  3. 쿠키는 Google Analytics Server에서 인식합니다.
  4. Ajax 호출은 임베드 된 JavaScript 내에서 디스플레이 해상도, 플래시 플레이어 버전 등과 같은 정보를 제출하기 위해 수행됩니다. 이러한 정보는 HTTP 헤더를 통해 전송되지 않습니다.*Ajax 호출은 임베디드 JavaScript의 맥락에서 수행되므로 크로스 도메인 스크립팅이 없기 때문에 가능합니다. 이것은 나에 의한 추론의 오류였습니다. **
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top