如何使用 Google Analytics Data API (GA4) 获取我的 GA4 帐户的流量获取报告?

问题描述 投票:0回答:2

我正在尝试从我的 Google Analytics 帐户 (GA4) 获取与流量获取相关的统计数据。就像用户从哪里来到我的网站一样,有机地或直接地或通过社交媒体。

我已将

google/analytics-data
包添加到此 Google 文档中: https://developers.google.com/analytics/devguides/reporting/data/v1/quickstart-client-libraries

composer require google/analytics-data

我拥有所有必需的详细信息,例如属性 ID 和服务帐户 json 文件。

这是我的代码:

    putenv("GOOGLE_APPLICATION_CREDENTIALS=$this->config_file_path");
        $client = new BetaAnalyticsDataClient();
        $credentials = ApplicationDefaultCredentials::getCredentials();
        $analyticsData = new AlphaAnalyticsDataClient(['credentials' => $credentials]);

        // Create a date range for the report.
        $dateRanges = [
            new DateRange([
                'start_date' => '2023-07-21',
                'end_date' => 'today',
            ]),
        ];

        $dimensions = [new Dimension(
            [
                'name' => 'source',
            ],
            ),
            new Dimension(
                [
                    'name' => 'medium',
                ]
            ),
            new Dimension(
                [
                    'name' => 'country',
                ]
            ),
        ];
        $metrics = [new Metric(
            [
                'name' => 'sessions',
            ]
        ),
           
        ];

        $response = $client->runReport([
            'property' => 'properties/' . $this->property_id,
            'dateRanges' => $dateRanges,
            'dimensions' => $dimensions,
            'metrics' => $metrics,
        ]);

        foreach ($response->getRows() as $row) {
            echo "<pre>";
            print $row->getDimensionValues()[0]->getValue()
                . ' ' . $row->getDimensionValues()[1]->getValue()
                . ' ' . $row->getDimensionValues()[2]->getValue()
                . ' ' . $row->getMetricValues()[0]->getValue(). PHP_EOL;
            echo "</pre>";
        }

但得到结果。

请帮助我解决这个问题,或者指出我必须在哪里改进我的代码才能获得结果,因为我可以在我的帐户中看到详细信息,但不会被抛出Google Analytics Data API(GA4)

php laravel google-analytics-api google-analytics-4
2个回答
0
投票
 new Dimension(
                [
                    'name' => 'sessionDefaultChannelGroup',
                ]
            ),
            new Dimension(
                [
                    'name' => 'country',
                ]
            ),
        ];
        $metrics = [new Metric(
            [
                'name' => 'sessions',
            ]
        ),
           
        ];
       $dimensionFilter = new DimensionFilter([
           'dimension_name' => 'sessionDefaultChannelGroup',
            'operator' => 'EXACT',
            'expressions' => ['Organic Search'],
       ]);
       $dimensionFilters = [$dimensionFilter];

       

        $response = $client->runReport([
            'property' => 'properties/' . $this->property_id,
            'dateRanges' => $dateRanges,
            'dimensions' => $dimensions,
            'metrics' => $metrics,
            'dimensionFilter' => $dimensionFilters,
        ]);

        foreach ($response->getRows() as $row) {
            echo "<pre>";
            print $row->getDimensionValues()[0]->getValue()
                . ' ' . $row->getDimensionValues()[1]->getValue()
                . ' ' . $row->getDimensionValues()[2]->getValue()
                . ' ' . $row->getMetricValues()[0]->getValue(). PHP_EOL;
            echo "</pre>";
        }

说明: 如果您想查找来自 GA4 的推荐流量,您需要将 sessionDefaultChannelGroup 添加到您的维度过滤器中,如下所示

  $dimensionFilter = new DimensionFilter([
               'dimension_name' => 'sessionDefaultChannelGroup',
                'operator' => 'EXACT',
                'expressions' => ['Organic Search'],
           ]);

-1
投票

因为流量源使用会话源和会话媒介而不是会话和媒介维度

© www.soinside.com 2019 - 2024. All rights reserved.