Comment extraire des données de Google Analytics et construire un entrepôt de données (webhouse) à partir de celui-ci?
j'ai cliqué sur les données de flux telles que L'URL de référence, les pages d'atterrissage supérieures, les pages de sortie supérieures et les mesures telles que les vues de page, le nombre de visites, rebonds tout dans Google Analytics. Il n'existe pas de base de données où toutes ces informations peuvent être stockées. Je suis tenu de construire un entrepôt de données à partir de zéro(qui je crois est connu sous le nom de web-house) à partir de ces données.Je dois donc extraire des données de Google Analytics et les charger dans un entrepôt sur une base automatisée quotidienne. Mes questions sont:-
1) est - ce possible? Chaque jour que les données augmentent (certains en termes de mesures ou de mesures telles que les visites et certains en termes de nouveaux sites de référence), comment le processus de chargement de l'entrepôt se déroulerait-il?
2) Quel outil ETL pourrait m'aider à atteindre cet objectif? Pentaho je crois a un moyen de retirer des données de Google Analytics, quelqu'un l'a-t-il utilisé? Comment ça se fait? Toutes les références, les liens seraient appréciés en plus des réponses.
6 réponses
comme toujours, connaître la structure des données de transaction sous-jacentes--les composants atomiques utilisés pour construire une DW--est la première et la plus grande étape.
il y a essentiellement deux options, basées sur la façon dont vous récupérez les données. L'un d'entre eux, déjà mentionné dans une réponse précédente à cette question, Est d'accéder à vos données GA via L'API GA. C'est assez proche de la forme sous laquelle les données apparaissent dans le rapport de L'AG, plutôt que des données transactionnelles. L'avantage de l'utiliser comme vos données la source est que votre " ETL " est très simple, simplement analyser les données du conteneur XML est à peu près tout ce qui est nécessaire.
la seconde option consiste à saisir les données beaucoup plus près de la source.
rien de compliqué, cependant, quelques lignes de fond sont peut-être utiles ici.
Le tableau de bord Web de L'AG est créé par analyse / filtrage d'un journal des transactions de L'AG (conteneur qui détient les données de L'AG que correspond à un Profil en un Compte.)
chaque ligne dans ce journal représente un seule transaction et est livré l'AG de serveur sous la forme d'un requête HTTP à partir du client.
joint à cette demande (qui est nominalement GIF d'un pixel) une seule chaîne qui contient tout les données renvoyées par qui _TrackPageview appel de fonction ainsi que les données de la client DOM, GA cookies ensemble pour cette client, et le contenu de l'emplacement du navigateur bar (http://www....).
bien que cette requête soit de la client, il est invoqué par L'AG script (qui réside sur le client) immédiatement après l'exécution de la Primaire DE GA fonction de collecte de données (_TrackPageview).
donc travailler directement avec ces données de transaction est probablement la façon la plus naturelle de construire un entrepôt de données; un autre avantage est que vous évitez les frais généraux supplémentaires d'une API intermédiaire).
les lignes individuelles du log DE GA ne sont normalement pas disponibles pour les utilisateurs de GA. Pourtant, il est simple à obtenir. Ces deux étapes devraient suffire:
modifier le code de suivi GA sur chaque page de votre Site alors qu'il envoie une copie de chaque demande GIF (une ligne dans le fichier LOG) à votre propre serveur, en particulier, immeidately avant l'appel à _trackPageview(), ajouter cette ligne:
pageTracker._setLocalRemoteServerMode();
suivant, juste mettre un gif d'un seul pixel l'image dans votre document root et call "__utm.gif.
donc maintenant votre journal d'activité du serveur contiendra ces lignes de transction individuelles, encore une fois construites à partir d'une chaîne ajoutée à une requête HTTP pour le pixel de suivi GA ainsi que d'autres données dans la requête (par exemple, la chaîne de L'Agent utilisateur). Cette ancienne chaîne n'est qu'une concaténation de paires de valeurs clés, chaque clé commence par les lettres "utm" (probablement pour "urching tracker"). Tous les paramètres utm n'apparaissent pas dans chaque demande GIF, plusieurs d'entre eux, par exemple, ne sont utilisés que pour les transactions de commerce électronique--cela dépend de la transaction.
Voici une requête GIF réelle (le numéro de compte a été épuré, sinon il est intact):
comme vous pouvez le voir, cette chaîne est composée d'un ensemble de couples de valeurs séparées par un "&". Juste deux étapes triviales: (i) séparer cette chaîne sur l'ampli; et (ii) remplacer chaque paramètre gif (clé) par une courte phrase descriptive, rendre cela beaucoup plus facile à lire:
gatc_version 1
GIF_req_unique_id 1669045322
language_encoding UTF-8
screen_resolution 1280x800
screen_color_depth 24-bit
browser_language fr-fr
java_enabled 1
flash_version 10.0%20r45
campaign_session_new 1
page_title Position%20Listings%20%7C%20Linden%20Lab
nom_hôte lindenlab.hrmdirect.com
referral_url http://lindenlab.com/employment
page_request /emploi/ouvertures.le php?tri=da
account_string UA-XXXXXX-X
cookies __utma%3D87045125.1669045322.1274256051.1274256051.1274256051.1%3B%2B__utmb%3D87045125%3B%2B__utmc%3D87045125%3B%2B__utmz%3D87045125.1274256051.1.1.utmccn%3D(referral)%7Cutmcsr%3Dlindenlab.com%7Cutmcct%3D%2Femployment%7Cutmcmd%3Dreferral%3B%2B
les cookies sont également simples à analyser (voir la description concise de Google ici): par exemple,
_ _ _ utma est le visiteur unique cookie,
_ _ _ utmb, _ _ _ utmc sont des cookies de session, et
_ _ _ utmz est le type de référence.
les cookies GA stockent la majorité des données qui enregistrent chaque interaction par un utilisateur (par exemple, en cliquant sur un lien de téléchargement étiqueté, en cliquant sur un lien vers une autre page du Site, visite ultérieure le jour suivant, etc.). Ainsi, par exemple, le cookie _ _ utma est composé d'un groupe d'entiers, chaque groupe séparé par un "."; le dernier groupe est le nombre de visite pour l'utilisateur (un "1" dans ce cas).
Vous pouvez utiliser le API D'exportation de données à partir de Google ou d'un service tel que celui que nous avons construit spécifiquement pour votre besoin: www.analyticspros.com/products/analytics-data-warehouse.html.
,
- Caleb Whitmore www.analyticspros.com / www.analyticsformarketers.com
comme Shiva l'a dit, Vous pouvez toujours extraire des données GA à travers Google APIs et les stocker vous-même. Cependant, si vous êtes à la recherche d'un outil d'entreposage rentable, essayez Analytics Canvas @ http://www.analyticscanvas.com/
vous pouvez également consulter la galerie des applications de Google pour les outils associés à Google Analytics: http://www.google.com/analytics/apps/
vous pouvez extraire les données GA (Google Analytics) à tout moment par le biais de leur API et construire votre propre entrepôt de données (DW). Avant de commencer, vous pouvez rester à l'utilisateur de l'entreprise et d'obtenir une compréhension claire des besoins de l'entreprise. Dans L'environnement DW, il est extrêmement important d'avoir des objectifs clairement définis et la compréhension des exigences des utilisateurs d'affaires en raison du fait que vous allez maintenir l'histoire des transactions qui vivent depuis longtemps et utilisé souvent.
en supposant que cet utilisateur commercial définit KPI (Key Performance Indicators), les paramètres, les dimensions, la granularité nécessaire pour vous de procéder, vous pouvez vérifier les différentes dimensions et les paramètres qui sont disponibles via L'API GA à code.google.com/apis/analytics/docs/. Ensuite, il s'agit simplement de faire le bon appel API et d'obtenir ce dont vous avez besoin. L'activité de DW comprend le nettoyage, l'extraction, la transformation et le chargement des données (ETL) ou L'ELT ainsi que la récapitulation des faits selon différentes dimensions. Comme les données sont beaucoup plus propres qu'une rencontre dans des systèmes disparates (à partir de journaux web, fournisseurs externes, excel ou fichiers, etc.), vous pouvez simplement charger les données à l'aide de n'importe quel outil ETL (par exemple, Talend, Pentaho, SSIS, etc.) ou par l'application de votre choix (Perl, Java, Ruby, C#, etc.).
pour la charge quotidienne, vous devez concevoir le processus de chargement incrémental pendant le temps de faible trafic utilisateur (charges nocturnes), en tirant seulement les données récentes, en dupant tout duplicata, en nettoyant toutes les données non conformes, en manipulant les rangées errantes, etc.
j'ai fourni un échantillon GA application de l'API à http://www.hiregion.com/2009/10/google-analytics-data-retriever-api-sem_25.html et il vous fournira des informations de base pour commencer.
il y a deux règles importantes sur le chargement des données dans data-warehouse
- charge initiale
- charge de données incrémentielles
lorsque vous concevez à l'aide de L'api GA, vous devez charger les données historiques initiales pour une certaine plage de dates. Cela a ses propres complications car vous pourriez rencontrer des problèmes de segmentation, perte de données, etc. Vous devez gérer la pagination etc.
une fois la charge de données initiale terminée, vous l'exécutez en mode incrémental où vous venez d'apporter de nouvelles données. Ces données sont ajoutées aux mêmes tables d'entrepôt de données et ne causent pas de duplication avec des dates se chevauchant.
en plus de cela GA change leur API fréquemment, Donc vous devez être au courant de cela aussi.
compte tenu de ce qui précède, nous avons publié un entrepôt de données avec Google Analytics et les connecteurs de données Salesforce. Vous pouvez vérifier les détails et obtenir des idées sur la façon dont vous souhaitez configurer votre propre datawarehouse http://www.infocaptor.com/google-analytics-datawarehouse
le minimum que vous auriez besoin de concevoir est une sorte de démon de fond qui fonctionne tous les jours ou à une certaine fréquence. Vous aurez besoin de tables de travail pour évaluer le succès et l'échec des extraits de sorte qu'il puisse reprendre là où l'erreur s'est produite.
Quelques autres considérations 1. Qu'advient-il si vous exécutez l'extrait pour la même plage de données 2. Que faire si un emploi échoue pour certains dates
il est important de définir vos clés primaires pour vos tables cibles DW.Dans MySQL, en utilisant insert statement avec la clause duplicate vous vous assurerez qu'il n'y a pas d'enregistrements dupliqués créés en cas de rechargement des données.
une autre chose à concevoir est votre couche de mise en scène. Vous extrayez des données de GA et les déversez dans une mise en scène. De cette façon, s'il y a un chargement d'erreur dans la cible, vous pouvez simplement recharger à partir de la mise en scène. De cette façon, vous ne surchargez pas vos limites D'API de GA et sauvegardez la bande passante.
vous pouvez voir notre conception complète à cet endroit http://www.infocaptor.com/help/social_analytics___datawarehouse.htm
Tout le meilleur avec vos DW effort.
nous pouvons exporter des données de google analytics vers tout autre entrepôt de données (ou) RDBMS (ou) Hadoop en utilisant Pentaho outil d'Intégration de Données, pdi bouilloire. Pentaho ont aussi libre!--3-->Pentaho Community Edition à utiliser.
il suffit de suivre cette étape pour transformer les données de google analytics http://wiki.pentaho.com/display/EAI/Google + analyses
cet outil est bon du point de vue de la convivialité, du coût et de la performance. Grâce.