10

У меня есть приложение, которое отправляет данные в Google Analytics. Я заинтересован в доступе и хранении этих данных в кластере Hadoop. Я предполагаю, что эти исходные данные будут в форме журналов. В частности, я хотел бы видеть user_id, поисковые запросы, сделанные пользователем, и параметр поиска, который он/она решил заплатить за приложение.Google Analytics - Получение журналов необработанных данных

Как я могу это сделать? Я совершенно новичок в GA, и я не был тем, кто создал GA для приложения. Я просто пытаюсь понять, есть ли способ, с помощью которого я могу получить доступ к этим необработанным данным.

Хотел бы добавить, что я не могу использовать Big Query, так как у нас нет доступа к нему. И люди, которые создали GA, не заинтересованы в переходе на Universal Analytics.

Любая помощь/мысли/предложения приветствуются.

Спасибо!

+0

Если вам по-прежнему нужен доступ к необработанным необработанным данным GA (non premium), вы можете увидеть мой ответ ниже - я не знаю, почему кто-то проголосовал за него, но это может быть для вас. –

ответ

12

Там нет никакого способа, чтобы получить журналы, но ..

Google Analytics API позволит вам извлечь данные из системы.

Есть пределы тому, что вы можете сделать:

  1. вы ограничены до 7 размеров и 10 показателей на запросы.
  2. Существует также квота в 10 000 запросов в день на профиль (просмотр).
  3. Некоторая информация, о которой вы говорите, недоступна. Если учетная запись Google Analytics не настроена правильно.
  4. Данные по-прежнему будут агрегироваться так или иначе. Наименьшая единица времени, доступная в API, - это минуты, поэтому вы не сможете получить необработанные данные с отметками времени, например.

Следует отметить, что профессиональный клиент Google Analytics мог экспортировать необработанные данные из GA в Big Query. Экспорт данных из BigQuery осуществляется бесплатно, но хранение и обработка запросов оцениваются на основе использования.

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

1

Вы можете получить агрегированные данные, то есть. данных, которые вы можете увидеть в своей учетной записи Google Analytics, используя API Google Analytics. Чтобы получить необработанные данные, вы должны быть премиум-пользователем (стоит ~ 150 тыс. В год). Премиум-пользователи могут экспортировать в Google BigQuery и оттуда туда, где вы хотите.

+1

и этот ответ отличается от моего ответа, как? – DaImTo

+1

Даже после того, как вы отредактировали свое сообщение, чтобы скопировать некоторую информацию моего сообщения (например, 150k - см. Отредактированный журнал вашего ответа), он отличается ... Например. следующим образом: читатель, который не знаком с деталями Google Analytics, не знает, что такое «журнал», т.е. если это относится к необработанным данным события или к некоему виду обработки, например. фильтрованные данные. Это ясно из моего ответа, но не от вас. –

+1

Использование Premium/360 не дает вам доступа к необработанным данным, просто дамп данных из BigQuery, который уже обработан. –

0

Чтобы получить данные GA, щелкните по клику, вы можете делать запросы таким образом, чтобы дать возможность объединить данные вместе.

Сначала вам нужно подготовить данные в GA. Таким образом, с каждым ударом вы отправляете, добавляете некоторое хешированное значение или clientId + некоторую метку времени в настраиваемое измерение. Это даст вам возможность присоединить каждый результат запроса.

E.g. (Это то, как мы делаем это в Scitylana) Этот сценарий ниже крюков в скрипт отслеживания GA и убеждается каждый удар содержит ключ для последующего сшивания результатов запроса

<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> 

Конечно, теперь вы должны сделать некоторый сценарий, объединяет все результаты, которые вы вынесли из GA.

Бесплатная загрузка этого инструмента под названием Scitylana.

Юридическая информация: У меня есть пакет акций компании

3

, так как мы должны ответить на исходный вопрос, нет никакого способа, чтобы получить фактические необработанные журналы Google Analytics, отличные от дублирования системы вызова сервера.

Другими словами, вам нужно использовать измененную копию сценария analytics.js, чтобы указать на размещенный веб-сервер, который может собирать вызовы сервера.

Короче говоря, вы хотите, чтобы ваш сайт, чтобы захватить хитов http://www.yourdatacollectionserver.com/collect?v=1&t=pageview[...] вместо http://www.google-analytics.com/collect?v=1&t=pageview[...]

Это легко развернуты с помощью менеджера тегов, таких как ГТМ Google, наряду с обычными тегами Google Analytics.

Это эффективно создаст записи журнала на вашем веб-сервере, который вы можете обрабатывать с помощью ETL или Snowplow или Splunk или вашего любимого механизма анализа текста Python/perl/Ruby.

Это зависит от вас, чтобы обработать фактические необработанные журналы в нечто управляемое. И прежде чем вы спросите, это не имеет обратной силы.