Set Up Your API Credentials
- To interact with the Google Analytics API, you need credentials. Use OAuth 2.0 for authentication. Ensure you have your OAuth 2.0 Client ID and Client Secret ready.
- Download the client configuration file (JSON format) for your project from the Google Developers console. This file contains your client credentials.
Install Required Libraries
- Use Composer to install the Google API PHP Client Library, which simplifies the API interaction process.
composer require google/apiclient
Authenticate and Build the Client
- Load the autoload file by Composer to include the Google API Client Libraries in your PHP script.
- Set up and authenticate your client using the client configuration file you downloaded.
require_once 'vendor/autoload.php';
$client = new Google_Client();
$client->setAuthConfig('path/to/client_credentials.json');
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);
$service = new Google_Service_Analytics($client);
Retrieve Website Data
- Identify the View (Profile) ID in Google Analytics. You will need it to query the right data. Replace `'YOUR_VIEW_ID'` in the code with your actual View ID.
- Use the `get` method on the `data_ga` resource to retrieve data. Specify the date range, metrics, and other parameters to customize your query.
$viewId = 'YOUR_VIEW_ID';
$startDate = '7daysAgo';
$endDate = 'today';
$metrics = 'ga:sessions';
$response = $service->data_ga->get(
'ga:' . $viewId,
$startDate,
$endDate,
$metrics
);
foreach ($response['rows'] as $row) {
echo "Sessions: {$row[0]}\n";
}
Error Handling and Logging
- Make sure to handle potential errors when connecting to the API. Use try-catch blocks to capture exceptions and log errors for troubleshooting purposes.
- Consider setting up an error logging mechanism to keep track of any API issues or connection problems.
try {
$response = $service->data_ga->get(
'ga:' . $viewId,
$startDate,
$endDate,
$metrics
);
foreach ($response['rows'] as $row) {
echo "Sessions: {$row[0]}\n";
}
} catch (Exception $e) {
echo 'An error occurred: ' . $e->getMessage();
}
Next Steps
- Expand your data queries by including additional dimensions and metrics, such as user demographics, traffic sources, or bounce rates, to gain more insights into your website's performance.
- Consider storing the retrieved data in a database for long-term analysis and reporting.