web-dev-qa-db-fra.com

Exportation de données Google Analytics

Je souhaite exporter toutes mes données Google Analytics vers Excel pour un rapport hebdomadaire. J'aurai besoin de réexporter les données chaque semaine pour que le processus puisse être maintenu.

Quel est le meilleur moyen d’obtenir un fichier de données brutes de toutes les données d’analyse dans un fichier CSV (ou quelque chose de similaire) pour le traitement dans Excel?

5
Moses

Excellente analyse permet plus ou moins d'accéder à GA directement via Excel et pourrait valoir le coup d'oeil. Il y a un résumé de SEOMoz si vous voulez un aperçu, mais notez qu'il a deux ans; ignorer le point près de travailler uniquement avec les anciennes versions. Bien que vous ne soyez pas exactement "automatisé", vous finirez par vous retrouver dans Excel de toute façon, donc vous risquez de perdre suffisamment d'efforts pour fonctionner. Il existe quelques limites à la quantité de données renvoyées qui sont fondamentales pour l'API Analytics elle-même (voir FAQ), mais peuvent être contournées en effectuant plusieurs requêtes.

4
Su'

Connectez-vous à Google Analytics puis, après avoir pris note des cibles de lien associées aux données que vous souhaitez télécharger, téléchargez les données.

  1. Cliquez sur le bouton Exporter en haut d'un rapport.
  2. Cliquez avec le bouton droit sur le lien CSV pour Excel et copiez le lien cible.
  3. Vous devriez maintenant avoir un lien qui ressemble à ceci:

https://www.google.com/analytics/reporting/export?fmt=5&id=112233&pdr=20110816-20110915&cmp=average&rpt=TrafficSourcesReport

Vous pouvez rassembler des liens dans les rapports souhaités et télécharger le rapport après vous être connecté à Google Analytics (notez les dates 20110816-20110915 dans le lien - vous voudrez les modifier ou la période de rapport dont vous avez besoin).

Modifier: Apparemment, Google autorisera également requêtes automatisées utilisant cURL , de sorte que vous devriez pouvoir insérer toutes les requêtes CSV dans un script bash pour automatiser la récupération. (Doit utiliser le format de requête API d'exportation de données pour interagir avec le service - les demandes de renvoi au format CSV 302 redirect + document HTML)


Modifier # 2: Cela semblait être quelque chose de simple à automatiser, donc, pour tous ceux qui n'utilisent pas Excel et qui souhaitent une méthode de téléchargement de rapport compatible avec plusieurs navigateurs de Google Analytics, voici un fichier JS/HTML vraiment moche qui devrait faire l'affaire:

<html>
<head>
<title>Grab Google Analytics Reports</title>
<script type="text/javascript">
/**
 * add/remove appended "rpt" values below
 */
var trackedRPTs = new Array(
    'DirectSourcesReport',
    'ReferringSourcesReport',
    'SearchEnginesReport'
);
function grabReports(baseURL)
{
    var gaIdExpression = new RegExp("\&id\=(.*)\&pdr");
    if ( ! gaIdExpression.test(baseURL) )
    {
        alert("Unable to determine Google Analytics ID for request");
        return;
    } else {
        var gaId = baseURL.match(gaIdExpression);
        gaId = gaId[gaId.length-1];
    }
    var format = 5;
    for ( i = 0; i < 6; i++ )
    {
        if ( document.getElementById('fmt-'+i).checked )
        {
            var format = i;
        }
    }
    var days = 0;
    var range = '';
    for ( i = 0; i < 3; i++ )
    {
        if ( document.getElementById('pdr-'+i).checked )
        {
            switch(i)
            {
                case 0:
                    days = 30;
                break;
                case 1:
                    days = 90;
                break;
                case 2:
                    range = document.getElementById('pdr-arbitrary').value;
                break;
            }
        }
    }
    if ( ! range )
    {
        var d = new Date();
        var range2 = new Date( d.getFullYear(), d.getMonth(), d.getDate() - 1 );
        var range1 = new Date( range2.getFullYear(), range2.getMonth(), range2.getDate() - days );
        var range = range1.getFullYear()+''+(range1.getMonth()+1)+''+range1.getDate();
        range += '-'+range2.getFullYear()+''+(range2.getMonth()+1)+''+range2.getDate();
    }
    alert("Prepare for download!\n(Sorry, it's manual)");
    var tempWindow = new Array();
    for ( i = 0; i < trackedRPTs.length; i++ )
    {
        var rptURL = "https://www.google.com/analytics/reporting/export?fmt="+format+"&id="+gaId+"&pdr="+range+"&cmp=average&rpt="+trackedRPTs[i];
        window.open(rptURL);
    }
    return false;
}
</script>
</head>
<body>
<ol>
    <li>Log in at <a href="http://www.google.com/analytics/">http://www.google.com/analytics/</a></li>
    <li>
        If you do not have one yet, go to a report and click <em>Export</em> then right-click the link
        to the type of report you want and copy it to the box below<br />(If you already have a working
        link, just edit this document save it as the value for the field below)
    </li>
</ol>
<hr />
    <form action="#" method="post" onsubmit="javascript:grabReports(document.getElementById('example').value);return false;">
        <input id="example" value="" />
        <input type="submit" value="Grab Report(s)" />
        <hr />
        <table style="display:inline;">
            <tr>
                <th>&nbsp;</th>
                <th>Prefered Format</th>
            </tr>
            <tr>
                <td><input type="radio" name="fmt" id="fmt-0" /></td>
                <td><label for="fmt-0">PDF</label></td>
            </tr>
            <tr>
                <td><input type="radio" name="fmt" id="fmt-1" /></td>
                <td><label for="fmt-1">XML</label></td>
            </tr>
            <tr>
                <td><input type="radio" name="fmt" id="fmt-2" /></td>
                <td><label for="fmt-2">CSV</label></td>
            </tr>
            <tr>
                <td><input type="radio" name="fmt" id="fmt-3" /></td>
                <td><label for="fmt-3">TSV</label></td>
            </tr>
            <!-- "ERROR" -->
                <input type="hidden" name="fmt" id="fmt-4" />
            <!-- "ERROR" -->
            <tr>
                <td><input type="radio" name="fmt" id="fmt-5" checked="checked" /></td>
                <td><label for="fmt-5">CSV for Excel</label></td>
            </tr>
        </table>
        <table style="display:inline;margin-left:20px;">
            <tr>
                <th>&nbsp;</th>
                <th>Date Range</th>
            </tr>
            <tr>
                <td><input type="radio" name="pdr" id="pdr-0" checked="checked" /></td>
                <td><label for="pdr-0">Last 30 days</label></td>
            </tr>
            <tr>
                <td><input type="radio" name="pdr" id="pdr-1" /></td>
                <td><label for="pdr-1">Last 90 days</label></td>
            </tr>
            <tr>
                <td style="vertical-align:top;"><input type="radio" name="pdr" id="pdr-2" /></td>
                <td>
                    <label for="pdr-2">Arbitrary</label><br />
                    <input type="text" size="17" maxlength="17" name="pdr-arbitrary" id="pdr-arbitrary" /><br />
                    <pre>YYYYMMDD-YYYYMMDD</pre>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>
1
danlefree

Départ http://megalytic.com . Basé sur le cloud. Vous permet de configurer les exportations vers Excel de données provenant d'un ou de plusieurs comptes. Gère également Facebook Insights, Twitter, Omniture et d’autres à venir.

Il n'est pas encore complètement automatisé d'exécuter un travail hebdomadaire (comme vous l'avez décrit). Mais nous serions heureux de travailler avec vous pour intégrer cette fonctionnalité.

0
Mark Hansen