10

Tôi có một ứng dụng gửi dữ liệu đến Google Analytics. Tôi quan tâm đến việc truy cập và lưu trữ dữ liệu này trên một cụm Hadoop. Tôi đoán dữ liệu thô này sẽ ở dạng nhật ký. Đặc biệt, tôi muốn xem user_id, các tìm kiếm được thực hiện bởi người dùng và tùy chọn tìm kiếm mà anh/cô ấy quyết định trả tiền cho ứng dụng.Google Analytics - Nhận nhật ký dữ liệu thô

Tôi làm cách nào để thực hiện việc này? Tôi hoàn toàn mới đối với GA và tôi không phải là người thiết lập GA cho ứng dụng. Tôi chỉ đang cố gắng xem liệu có cách nào để tôi có thể truy cập dữ liệu thô này không.

Muốn thêm rằng tôi không thể sử dụng Big Query vì chúng tôi không có quyền truy cập vào nó. Và những người thiết lập GA không quan tâm đến việc nâng cấp lên Universal Analytics.

Bất kỳ trợ giúp/suy nghĩ/đề xuất nào được đánh giá cao.

Cảm ơn!

+0

Nếu bạn vẫn cần quyền truy cập dữ liệu GA không được lấy mẫu thô (không phải trả phí), bạn có thể thấy câu trả lời của tôi bên dưới - tôi không biết tại sao một người nào đó bỏ phiếu bầu chọn đó, nhưng đó có thể là cách dành cho bạn. –

Trả lời

12

Không có cách nào để có được các bản ghi, nhưng ..

Các Google Analytics API sẽ cho phép bạn trích xuất dữ liệu của bạn ra khỏi hệ thống.

Có những hạn chế với những gì bạn có thể làm:

  1. bạn được giới hạn đến 7 kích thước và 10 số liệu theo yêu cầu.
  2. Ngoài ra còn có hạn ngạch 10 nghìn yêu cầu mỗi ngày cho mỗi tiểu sử (chế độ xem).
  3. một số thông tin bạn đang nói không có sẵn. Trừ khi tài khoản Google Analytics được thiết lập chính xác.
  4. Dữ liệu sẽ vẫn được tổng hợp theo cách này hay cách khác. Đơn vị thời gian nhỏ nhất có sẵn trong API là phút, vì vậy bạn sẽ không thể lấy dữ liệu thô với dấu thời gian, chẳng hạn.

Có thể cần lưu ý rằng khách hàng Google Analytics chuyên nghiệp có thể xuất dữ liệu thô từ GA sang Big Query. Xuất dữ liệu từ BigQuery là miễn phí, nhưng việc lưu trữ và xử lý truy vấn được định giá dựa trên mức sử dụng.

Premium analytics at a reasonable price for one flat annual fee of $150,000

1

Bạn có thể nhận dữ liệu tổng hợp, tức là. dữ liệu bạn có thể thấy trong tài khoản Google Analytics của mình, sử dụng API Google Analytics. Để nhận dữ liệu thô, bạn cần phải là người dùng cao cấp (chi phí ~ 150 nghìn mỗi năm). Người dùng cao cấp có thể xuất vào Google BigQuery và từ đó đến bất cứ nơi nào bạn muốn.

+1

và câu trả lời này khác với câu trả lời của tôi như thế nào? – DaImTo

+1

Ngay cả sau khi bạn đã chỉnh sửa bài đăng của mình để sao chép một số thông tin về bài đăng của tôi (ví dụ: 150k - xem nhật ký đã chỉnh sửa của câu trả lời của bạn) nó khác ... Ví dụ: theo cách sau: Người đọc không quen thuộc với chi tiết của Google Analytics không biết "nhật ký" là gì. nếu nó đề cập đến dữ liệu sự kiện thô hoặc một số loại được xử lý, ví dụ: đã lọc, dữ liệu. Điều này rõ ràng từ câu trả lời của tôi, nhưng không phải từ câu trả lời của bạn. –

+1

Sử dụng Premium/360 không cấp cho bạn quyền truy cập vào dữ liệu thô, chỉ đơn thuần là kết xuất dữ liệu từ BigQuery, đã được xử lý. –

0

Để nhận dữ liệu GA nhấp bằng cách nhấp, bạn có thể thực hiện truy vấn theo cách cung cấp cho bạn khả năng kết hợp dữ liệu với nhau.

Trước tiên, bạn cần chuẩn bị dữ liệu trong GA. Vì vậy, với mỗi lần truy cập bạn gửi, hãy thêm một số giá trị được băm hoặc clientId + một số dấu thời gian vào thứ nguyên tùy chỉnh. Điều này sẽ cho bạn khả năng tham gia mỗi kết quả truy vấn.

Ví dụ: (Đây là cách chúng tôi làm điều đó tại Scitylana) Kịch bản này dưới móc vào kịch bản theo dõi của GA và đảm bảo mỗi hit chứa một chìa khóa cho khâu sau của kết quả truy vấn

<script> 
var BindingsDimensionIndex = CUSTOM DIMENSION INDEX HERE; 
var Version = 1; 

function overrideBuildTask() { 
    var c = window[window['GoogleAnalyticsObject'] || 'ga']; 
    var d = c.getAll(); 
    if (console) { console.log('Found ' + d.length + ' ga trackers') } 
    for (var i = 0; i < d.length; i++) { 
     var e = d[i]; var f = e.get('name'); 
     if (console) { console.log(f + ' modified') } 
     var g = e.get('buildHitTask'); 
     if (!e.buildHitTaskIsModified) { 
      e.set('buildHitTask', function(a) { 
      window['_sc_order'] = typeof window['_sc_order'] == 'undefined' ? 0 : window['_sc_order'] + 1; 
       var b = ['sl=' + Version, 'u=' + e.get('clientId'), 't=' + (new Date().getTime() + window['_sc_order'])].join('&'); 
       a.set('dimension' + BindingsDimensionIndex, b); 
       g(a); 
       if (console) { 
        console.log(f + '.' + a.get('hitType') + '.set.customDimension' + BindingsDimensionIndex + ' = ' + b) 
       } 
      }); 
      e.buildHitTaskIsModified = true 
     } 
    } 
} 
window.ga = window.ga || function() { 
    (ga.q = ga.q || []).push(arguments); 
    if (arguments[0] === 'create') { ga(overrideBuildTask) } 
}; 
ga.l = +new Date(); 

</script> 

Tất nhiên bây giờ bạn cần phải thực hiện một số kịch bản tham gia tất cả các kết quả bạn đã lấy từ GA.

Phiên bản miễn phí của công cụ thương mại có tên Scitylana có sẵn để tải xuống.

Disclamer: Tôi có cổ phần trong công ty

3

vì chúng ta đang phải trả lời câu hỏi ban đầu, không có cách nào để có được các bản ghi của Google Analytics liệu thực tế khác hơn bằng cách sao chép các hệ thống máy chủ gọi.

Nói cách khác, bạn cần sử dụng bản sao đã sửa đổi của tập lệnh analytics.js để trỏ đến máy chủ web được lưu trữ có thể thu thập các cuộc gọi trên máy chủ.

câu chuyện dài ngắn, bạn muốn trang web của bạn để nắm bắt số truy cập vào http://www.yourdatacollectionserver.com/collect?v=1&t=pageview[...] thay vì http://www.google-analytics.com/collect?v=1&t=pageview[...]

này có thể dễ dàng triển khai sử dụng một trình quản lý thẻ như GTM của Google, cùng với các thẻ Google Analytics bình thường.

Điều đó có hiệu quả sẽ tạo mục nhật ký trong máy chủ web của bạn mà bạn có thể xử lý bằng ETL hoặc Snowplow hoặc Splunk hoặc công cụ phân tích cú pháp văn bản Python/perl/Ruby yêu thích của bạn.

Sau đó, bạn có thể xử lý các nhật ký thô thực tế vào một thứ có thể quản lý được. Và trước khi bạn hỏi, điều này không có hiệu lực.

Các vấn đề liên quan