PHP code example of freema / ga4-analytics-data-bundle
1. Go to this page and download the library: Download freema/ga4-analytics-data-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
freema / ga4-analytics-data-bundle example snippets
use Freema\GA4AnalyticsDataBundle\Analytics\AnalyticsClientInterface;
use Freema\GA4AnalyticsDataBundle\Domain\Period;
class ReportingController
{
public function dashboard(AnalyticsClientInterface $analyticsClient)
{
// Get statistics for the last 30 days
$period = Period::days(30);
// Get most viewed pages
$topPages = $analyticsClient->getMostViewedPages($period, 10);
// Get visitors and pageviews by date
$visitorsData = $analyticsClient->getVisitorsAndPageViews($period);
// Get total visitors and pageviews
$totals = $analyticsClient->getTotalVisitorsAndPageViews($period);
return $this->render('dashboard.html.twig', [
'topPages' => $topPages,
'visitorsData' => $visitorsData,
'totals' => $totals,
]);
}
}
use Freema\GA4AnalyticsDataBundle\Client\AnalyticsRegistryInterface;
class MultiPropertyReportingController
{
private $analyticsRegistry;
public function __construct(AnalyticsRegistryInterface $analyticsRegistry)
{
$this->analyticsRegistry = $analyticsRegistry;
}
public function compareProperties()
{
$period = Period::days(30);
// Get data from first property
$defaultClient = $this->analyticsRegistry->getClient('default');
$defaultData = $defaultClient->getTotalVisitorsAndPageViews($period);
// Get data from second property
$anotherClient = $this->analyticsRegistry->getClient('another_property');
$anotherData = $anotherClient->getTotalVisitorsAndPageViews($period);
return $this->render('compare.html.twig', [
'defaultData' => $defaultData,
'anotherData' => $anotherData,
]);
}
}
// Last 30 days
$period = Period::days(30);
// Last 6 months
$period = Period::months(6);
// Last year
$period = Period::years(1);
// Custom period
$period = Period::create(
new \DateTime('2023-01-01'),
new \DateTime('2023-12-31')
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.