Как извлечь данные из Google Analytics и построить хранилище данных (веб-хаус) из него? - PullRequest
18 голосов
/ 18 мая 2010

У меня есть данные о потоке кликов, такие как URL-адреса ссылок, главные целевые страницы, самые популярные страницы выхода и такие показатели, как количество просмотров страниц, количество посещений, отказов - все в Google Analytics Еще нет базы данных, где может храниться вся эта информация. Я должен создать хранилище данных с нуля (которое, я считаю, известно как веб-сайт) из этих данных. Поэтому мне нужно извлекать данные из Google Analytics и ежедневно загружать их в хранилище в автоматическом режиме. Мои вопросы: -

1) Возможно ли это? Каждый день увеличивается объем данных (некоторые с точки зрения показателей или показателей, таких как посещения, а некоторые с точки зрения новых ссылающихся сайтов), как будет происходить процесс загрузки хранилища?

2) Какой инструмент ETL поможет мне достичь этого? Я считаю, что в Пентахо есть способ извлечь данные из Google Analytics, кто-нибудь использовал их? Как проходит этот процесс? Любые ссылки, ссылки будут оценены, кроме ответов.

Ответы [ 6 ]

15 голосов
/ 19 мая 2010

Как всегда, знание структуры базовых данных транзакций - атомарных компонентов, используемых для построения DW, - это первый и самый большой шаг.

По сути, есть два варианта, основанные на том, как вы извлекаете данные. Одним из них, уже упоминавшимся в предыдущем ответе на этот вопрос, является доступ к вашим данным GA через API GA. Это довольно близко к форме, в которой данные появляются в отчете GA, а не к транзакционным данным. Преимущество использования этого в качестве источника данных в том, что ваш «ETL» очень прост, просто синтаксический анализ данных из контейнера XML - это почти все, что нужно.

Второй вариант предполагает захват данных гораздо ближе к источнику.

Ничего сложного, но несколько строк фона, возможно, здесь помогут.

  • Веб-панель GA GA создается парсинг / фильтрация журнала транзакций GA (контейнер который содержит данные GA, которые соответствует одному профилю в одном Счет).

  • Каждая строка в этом журнале представляет одна транзакция и доставляется к серверу GA в виде HTTP-запрос от клиента.

  • Прилагается к этому запросу (который номинально для однопиксельного GIF ) единственная строка, которая содержит все данные, возвращенные из этого Вызов функции _TrackPageview плюс данные из клиентского DOM, файлы cookie GA установить для этого клиента, а содержимое расположения браузера бар (http://www. .. .).

  • Хотя этот запрос от клиент, он вызывается GA скрипт (который находится на клиенте) сразу после исполнения первичного ГА функция сбора данных (_TrackPageView).

Таким образом, работа непосредственно с данными транзакций, возможно, является наиболее естественным способом построения хранилища данных; Другое преимущество состоит в том, что вы избегаете дополнительных издержек промежуточного API).

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

  1. изменить код отслеживания GA на каждой странице вашего сайта , чтобы он отправляет копию каждого запроса GIF (одна строка в лог-файле GA) на ваш собственный сервер, в частности, перед вызовом _trackPageview (), добавьте эту строку:

    pageTracker._setLocalRemoteServerMode();
    
  2. Далее, просто вставьте однопиксельный GIF изображение в корне вашего документа и вызов это "__utm.gif" .

Таким образом, теперь журнал активности вашего сервера будет содержать эти отдельные линии перехода, снова построенные из строки, добавленной к HTTP-запросу для пикселя отслеживания GA, а также из других данных в запросе (например, строки User Agent). Эта бывшая строка является просто объединением пар ключ-значение, каждый ключ начинается с букв «utm» (вероятно, для «отслеживания urching»). Не каждый параметр utm появляется в каждом запросе GIF, например, некоторые из них используются только для транзакций электронной торговли - это зависит от транзакции.

Вот фактический запрос GIF (идентификатор аккаунта был очищен, в противном случае он не поврежден):

http://www.google -analytics.com / __ utm.gif? Utmwv = 1 & utmn = 1669045322 & utmcs = UTF-8 & utmsr = 1280x800 & utmsc = 24-бит и utmul = EN-US & utmje = 1 & utmfl = 10,0% 20r45 & utmcn = 1 & utmdt = Позиция% 20Listings% 20% 7C% 20Linden% 20Lab & utmhn = lindenlab.hrmdirect.com & utmr = * * тысяча шестьдесят четыре

Как видите, эта строка состоит из набора пар ключ-значение, каждая из которых разделена знаком "&". Всего два тривиальных шага: (i) расщепление этой нити на амперсанде; и (ii) заменяя каждый параметр (ключ) gif короткой описательной фразой, чтобы это было намного легче читать:

gatc_version 1

GIF_req_unique_id 1669045322

language_encoding UTF-8

разрешение экрана 1280x800

screen_color_depth 24-бит

browser_language en-us

java_enabled 1

flash_version 10.0% 20r45

campaign_session_new 1

page_title Позиция% 20Listings% 20% 7C% 20Linden% 20 Lab

имя_хоста lindenlab.hrmdirect.com

referral_url http://lindenlab.com/employment

page_request /employment/openings.php?sort=da

account_string UA-XXXXXX-X

куки-файлы __utma% 3D87045125.1669045322.1274256051.1274256051.1274256051.1% 3B% 2B__utmb% 3D87045125% 3B% 2B__utmc% 3D87045125% 3B% 2B__utmz% 3D870mm.1% 3 870 451,15% 7742560,15% 2,75 255,15,12% (855) 12,15 % 3Dlindenlab.com% 7Cutmcct% 3D% 2Femployment% 7Cutmcmd% 3Dreferral% 3B% 2B

Файлы cookie также просты для анализа (см. Краткое описание Google здесь ): например,

  • __ utma - файл cookie с уникальным посетителем,

  • __ utmb, __utmc - файлы cookie сеанса, а

  • __ utmz - тип реферала.

Файлы cookie GA хранят большую часть данных, которые регистрируют каждое взаимодействие с пользователем (например, щелкнув ссылку для загрузки с тегом, ссылку на другую страницу на Сайте, последующее посещение на следующий день и т. Д.). Так, например, файл cookie __utma состоит из групп целых чисел, каждая группа которых отделена знаком «.»; последняя группа - это число посещений для этого пользователя (в данном случае «1»).

3 голосов
/ 06 ноября 2013

Как сказал Шива, вы всегда можете извлекать данные GA через API Google и складировать их самостоятельно. Однако, если вы ищете экономичный инструмент для складирования, попробуйте Analytics Canvas @ http://www.analyticscanvas.com/

Вы также можете проверить галерею приложений Google для инструментов, связанных с Google Analytics: http://www.google.com/analytics/apps/

3 голосов
/ 18 мая 2010

Вы можете использовать API экспорта данных от Google или службу, подобную той, которую мы создали специально для ваших нужд: www.analyticspros.com/products/analytics-data-warehouse.html.

Best

-Калеб Уитмор www.analyticspros.com / www.analyticsformarketers.com

2 голосов
/ 02 июня 2010

Вы можете извлекать данные GA (Google Analytics) в любое время через их API и создавать свое собственное хранилище данных (DW). Прежде чем начать, вы можете посидеть с бизнес-пользователем и получить четкое представление о бизнес-требованиях. В среде DW крайне важно иметь четко поставленные цели и понимание требований бизнес-пользователей, поскольку вы будете поддерживать историю транзакций, которые живут долго и часто используются.

Предполагая, что бизнес-пользователь определяет KPI (ключевые показатели эффективности), метрики, измерения, детализацию, необходимые для продолжения работы, вы можете проверить различные измерения и метрики, доступные через GA API, по адресу code.google.com/apis/analytics/. документы /. Тогда нужно просто сделать правильный вызов API и получить то, что вам нужно. Деятельность DW включает в себя очистку, извлечение, преобразование и загрузку данных (ETL) или ELT, а также обобщение фактов по различным параметрам. Поскольку данные намного чище, чем можно было бы встретить в разнородных системах (из веб-журналов, внешних поставщиков, Excel или файлов и т. Д.), Вы можете просто загрузить данные с помощью любых инструментов ETL (например, Talend, Pentaho, SSIS и т. Д.). ) или через приложение по вашему выбору (Perl, Java, Ruby, C # и т. д.).

Для ежедневной загрузки вам необходимо спроектировать процесс инкрементальной загрузки во время низкого пользовательского трафика (ночные нагрузки), извлекая только последние данные, удаляя дубликаты, удаляя любые несоответствующие данные, обрабатывая ошибочные строки и т. Д.

Я предоставил образец приложения GA API на http://www.hiregion.com/2009/10/google-analytics-data-retriever-api-sem_25.html, и он предоставит вам основную информацию для начала работы.

1 голос
/ 20 января 2017

Есть два важных правила о загрузке данных в хранилище данных

  1. Начальная загрузка
  2. Инкрементная загрузка данных

Когда вы разрабатываете с использованием GA api, вам необходимо загрузить исходные исторические данные для определенного диапазона дат. Это имеет свои сложности, так как вы можете столкнуться с проблемами сегментации, потерей данных и т. Д. Вы должны справиться с нумерацией страниц и т. Д.

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

Вдобавок к этому GA часто меняет свой API, так что вам нужно быть в курсе этого.

Учитывая вышеизложенное, мы выпустили полностью упакованное хранилище данных с соединителями данных Google Analytics и Salesforce. Вы можете проверить детали и получить идеи о том, как вы хотите настроить свое собственное хранилище данных http://www.infocaptor.com/google-analytics-datawarehouse

Минимум, который вам нужно создать, - это какой-то фоновый демон, который запускается каждый день или с определенной частотой. Вам понадобятся таблицы заданий для отслеживания успешных и неудачных извлечений, чтобы можно было продолжить с того места, где произошла ошибка.

Некоторые другие соображения 1. Что произойдет, если вы запустите извлечение для того же диапазона данных 2. Что делать, если работа не удается на определенные даты

Важно установить первичные ключи для таблиц назначения DW. В MySQL использование оператора вставки с предложением duplicate гарантирует, что в случае перезагрузки данных не будет создано дублированных записей.

Еще одна вещь, которую нужно создать, - это ваш промежуточный слой. Вы извлекаете данные из GA и сбрасываете в Staging. Таким образом, если при загрузке в Target произошла ошибка, вы можете просто перезагрузиться с места подготовки. Таким образом, вы не обременяете свои ограничения GA API и также экономите пропускную способность.

Вы можете увидеть наш полный дизайн в этом месте http://www.infocaptor.com/help/social_analytics___datawarehouse.htm

Всего наилучшего в ваших усилиях по DW.

0 голосов
/ 17 июля 2017

Мы можем экспортировать данные из Google Analytics в любое другое хранилище данных (или) СУБД (или) Hadoop, используя Инструмент интеграции данных Pentaho, pdi kettle . Pentaho также имеет бесплатную Pentaho Community Edition для использования.

Просто выполните этот шаг для преобразования данных из Google Analytics http://wiki.pentaho.com/display/EAI/Google+Analytics

Этот инструмент удобен для пользователя, экономичен и экономичен. Благодаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...