tda / laravel-google-analytics-admin
Google Analytics Admin integration with oAuh2
Requires
- php: ^8.0
README
Google Analytics Admin for Laravel
Based on: https://developers.google.com/analytics/devguides/config/admin/v1
V0.1
Requirements • PHP >= 8.1
• Composer
• Laravel >= 8.0
• Oauth2 Google Token
This package is using oAuth2 and it doens't authenticate with Google, we recommend to use Socialite to do this connection It is necessary this scope
https://www.googleapis.com/auth/analytics.edit
Installation
composer require tda/laravel-google-analytics-admin
Usage
Inside Laravel:
use Tda\LaravelGoogleAnalyticsAdmin\GoogleAnalyticsAdmin; $analytics = new GoogleAnalyticsAdmin($token);
Features
Account
List accounts
$accounts = $analytics->listAccounts();
Get Account Account name e.g.: 'accounts/100'
$account = $analytics->getAccount($account);
Update Account Account name e.g.: 'accounts/100' Fields updatable: 'displayName', 'regionCode'
$params = ['displayName' => 'New Name', 'regionCode' => 'DE']; $account = $analytics->updateAccount($account, $params);
Delete Account Account name e.g.: 'accounts/100'
$analytics->deleteAccount($account);
Property
List properties Account name e.g.: 'accounts/100'
$properties = $analytics->listProperties($account);
Get Property Property name e.g.: 'properties/1000'
$analytics->getProperty($property);
Create Property Fields: { 'parent': string 'currencyCode': string 'displayName': string 'industryCategory': enum 'propertyType': enum 'timeZone': string 'serviceLevel': enum 'account': string }
$params = [ 'parent' => 'accounts/100', 'currencyCode' => 'EUR', 'displayName' => "GA 4 property", 'industryCategory' => 'OTHER', "propertyType" => "PROPERTY_TYPE_ORDINARY", "timeZone" => "Europe/Berlin", 'account' => 'accounts/100', ]; $property = $analytics->createProperty($params);
To get all Propreties enum
$enums = $analytics->getPropertiesResource();
Update Property Property name e.g.: 'properties/1000' Fields updatable: 'displayName', 'industryCategory', 'timeZone', 'currencyCode'
$params = [ 'displayName' => 'Update GA 4 property', 'industryCategory' => 'TECHNOLOGY', 'timeZone' => 'America/New_York', 'currencyCode' => 'USD' ]; $property = $analytics->updateProperty($property, $params);
Delete Property Account name e.g.: 'property/1000'
$analytics->deleteProperty(property);