2023년 7월 1일부터 새롭게 적용되는
GA4에 대비하여 실시간 데이터를 가져오는 부분이 수정된다
https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-php?hl=ko
기본 적인 예제 코드와 사용방법은 위 링크를 참고 하면 된다.
예전에 사용하던 구글애널리틱스 버젼과 사용자수와 맞지 않는다
GA4에서 최대 30분까지 사용자를 표시하고 활성사용자 수를 더하고 표시하기 때문에
예전 버젼에서 표시되는 최대 5분내 활성사용자수 보다 더 높게 표시된다.
예전 버젼과 비슷한 데이터를 그리고 싶기 때문에
내가 범위를 지정하여 원하는 구간의 데이터만 뽑아서 사용하려고 한다.
https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema?hl=ko
먼저 실시간 애널리틱스 데이터를 가져올때
사용가능한 디멘션과 이름값은 위 링크 정보를 확인하자
내가 필요하고 활용하려는 정보는 다음과 같다
1. 활성데이터 사용자
2. 실시간 몇분전
5분이내의 정보를 사용하기 위해 최대 5개의 데이터만 자르고
최근 실시간 시간을 기준으로 데이터를 가져와 보자
use Google\Analytics\Data\V1beta\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\RunRealtimeReportRequest;
use Google\Analytics\Data\V1beta\RunRealtimeReportResponse;
use Google\Analytics\Data\V1beta\DateRange;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\OrderBy;
use Google\Analytics\Data\V1beta\Metric;
// 인증데이터 json
putenv("GOOGLE_APPLICATION_CREDENTIALS=oauth-credentials.json");
$betaAnalyticsDataClient = new BetaAnalyticsDataClient();
// 실시간데이터준비
$request = new RunRealtimeReportRequest();
try {
=
$response = $betaAnalyticsDataClient->runRealtimeReport([
'property' => 'properties/애널릭틱스ID',
'dimensions' => [new Dimension( [ 'name' => 'minutesAgo', ] ),],
'metrics' => [new Metric([ 'name' => 'activeUsers',] )],
'orderBys' => [
new OrderBy([
'dimension' => new OrderBy\DimensionOrderBy([
'dimension_name' => 'minutesAgo',
//'order_type' => OrderBy\DimensionOrderBy\OrderType::ALPHANUMERIC
]),
'desc' => false,
]),
],
//최대 가져올데이터 수
'limit' => '6'
]);
} catch (ApiException $ex) {
//예외처리
$error = $e->getMessage();
}
위와 같이 데이터처리를 해주면 GA4이전과 같은 데이터를 가져 올수 있다.
최대 5분간 데이터를 합산하여 표시해 주면 된다.
정렬의 핵심은 OrderBy를 사용하면 된다
use Google\Analytics\Data\V1beta\OrderBy;
'orderBys' => [
new OrderBy([
'dimension' => new OrderBy\DimensionOrderBy([
'dimension_name' => 'minutesAgo',
'order_type' => OrderBy\DimensionOrderBy\OrderType::ALPHANUMERIC
]),
'desc' => false,
]),
],
위 코드가 정렬적용의 핵심
출처 : https://stackoverflow.com/questions/69832484/google-analytics-4-data-api-use-order-by