API de Google Analytics: ¿filtrar por URI?


Mi sitio tiene perfiles de usuario que son accesibles a través de URLs que se ven así: www.domain.com/profile/123/.... Quiero mostrar a los usuarios estadísticas de la vista de página de sus perfiles, pero necesito poder hacer comodines.

Por ejemplo, esto funciona:

filters=ga:pagePath==/profile/123/

El problema es que hay potencialmente otros segmentos URI que siguen /profile/123/. Quiero hacer algo como esto (no funciona):

filters=ga:pagePath==/profile/123/*

Sugerencias?

Author: StackOverflowNewbie, 2010-11-22

4 answers

Utilice el operador 'Contiene una coincidencia para la expresión regular' ( ~ ) de los Filtros de dimensión .

filters=ga:pagePath=~/profile/123/*
 33
Author: Yahel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-25 18:59:37

Esto funcionará:

 filters=ga:pagePath=~/profile/123/

Para hacer /*/view/* (según el comentario de @ VinnyG), esto debería funcionar:

filters=ga:pagePath=~/[^/]+/view/

Asumo que desea hacer coincidir un directorio (y solo uno) antes de /view/.

 4
Author: s6mike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-05 19:47:22

Funcionó para mí.

    
    require('gapi.class.php');
    $ga = new gapi('[email protected]','google_analytics_password');
    $filter = 'ga:pagePath==/home.php';

    //first parameter is your Google Analytics profile id

    /* How to find Google Analytics Profile ID
    http://stackoverflow.com/questions/4119610/get-google-analytics-id-from-the-code-embed/4120625#4120625
    */
    $ga->requestReportData(0000000,array('pagePath'),array('pageViews','UniquePageviews'), '-pageViews', $filter);

    foreach($ga->getResults() as $result)
    {
        echo $result->getPageviews();
        echo $result->getUniquePageviews();
        echo $result->getPagePath();
    }
    ?>
 0
Author: Tag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-16 14:01:18

Otro filtro de los Filtros de dimensión que funcionaría para usted es contains "=@"

ga:pagePath=@/profile/123

 0
Author: Roark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-27 08:23:47