¿Cómo enumero todas las propiedades para todas las cuentas que utilizan Google Analytics GA4 a través de PHP? Para análisis universales, estoy usando lo siguiente:

function initializeAnalyticsV3()
{
    $client = new Google_Client();
    $client->setApplicationName("Name");
    $client->setAuthConfig($KEY_FILE_LOCATION);
    $client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
    $analytics = new Google_Service_Analytics($client);

    return $analytics;
}

$analyticsV3 = initializeAnalyticsV3();

try {
    $accounts = $analyticsV3->management_accountSummaries
        ->listManagementAccountSummaries();
} catch (apiServiceException $e) {
    print 'There was an Analytics API service error '
        . $e->getCode() . ':' . $e->getMessage();
} catch (apiException $e) {
    print 'There was a general API error '
        . $e->getCode() . ':' . $e->getMessage();
}

foreach ($accounts->getItems() as $account) {
    foreach ($account->getWebProperties() as $property) {
        $profile = $property->getProfiles();
        [...]
    }
}

Sin embargo, este método solo me permite recuperar propiedades analíticas universales, no las nuevas GA4. La documentación oficial no sirvió de nada.

2
Victor Marcoianu 20 ene. 2021 a las 13:58

1 respuesta

La mejor respuesta

Google Analytics GA4 no es lo mismo que análisis universal.

Puede utilizar la API de administración para enumerar todas las propiedades de Cuentas de análisis universales.

$accounts = $analytics->management_accounts->listManagementAccounts();

Deberá utilizar la Admin api para enumerar las cuentas de Ga4.

GET https://analyticsadmin.googleapis.com/v1alpha/accountSummaries

  "accountSummaries": [
    {
      object (AccountSummary)
    }
  ],
  "nextPageToken": string
}

En el momento de escribir este artículo, aún no han lanzado una biblioteca de cliente PHP para la API de administración. Lo actualizaré con un enlace cuando se publique.

3
DaImTo 20 ene. 2021 a las 11:08