zfhassaan / genlytics
Genlytics 是一款强大的 Google Analytics Composer 包,它允许轻松收集、分析和可视化数据。针对 SEO 优化,它有助于提高网站性能,并驱动更多有机流量。
Requires
- php: ^8.1
- google/analytics-data: ^0.9.0
- google/apiclient: ^2.12
- google/auth: ^v1.24.0
- google/cloud-core: ^v1.48.1
- google/common-protos: ^1.3.1||^2.0||^3.0
- google/gax: ^1.18
- google/grpc-gcp: ^0.2.1
- google/longrunning: ^0.2
- google/protobuf: ^3.21
- grpc/grpc: ^1.13
README
免责声明
从 2023 年 7 月起,Google UA 属性将不再使用。Google 正在实施 Google Analytics V4。 从 2023 年 7 月 1 日起,通用分析将不再在标准属性中处理新数据。请现在开始设置并切换到 Google Analytics 4 属性。 了解更多
Google Analytics 数据将通过 GCP API 提供
待办任务
- 为 Genlytics 包创建测试用例
- 编写用于运行测试的 yml 文件
关于
Genlytics 是一款针对 Laravel 的强大 Google Analytics 包,旨在帮助企业和开发者轻松跟踪和分析网站流量和用户行为。我们的包与您的 Laravel 应用程序无缝集成,无需编写任何额外代码即可访问 Google Analytics 的所有功能和功能。使用 Genlytics,您可以轻松跟踪页面浏览量、用户会话和转化率,并获得有关受众和网站性能的宝贵见解。无论是希望改善在线存在感的小型企业,还是希望将分析功能添加到 Laravel 应用程序的开发者,Genlytics 都拥有您成功所需的一切。 该包是为了从 Laravel 控制台获取 Google Analytics 数据而创建的
目标受众
本文件是为希望将 Google Analytics 数据提取到其 Laravel 网站并显示在仪表板上的开发者而编写的。
查询
使用 Genlytics,您可以通过 GA4 属性轻松访问和查询您的 Google Analytics 数据。您可以使用 https://ga-dev-tools.web.app/ga4/query-explorer/ 上的 GA4 查询探索器检查您的网站流量、用户行为和转化率。这个强大的工具允许您创建自定义查询,并获得有关网站性能的宝贵见解。无论您是希望跟踪特定指标还是分析用户行为,GA4 查询探索器都提供了您进行业务数据驱动决策所需的灵活性和功能。
先决条件
在将 Genlytics(一款针对 Laravel 的强大 Google Analytics 包)集成到您的应用程序之前,您必须首先在 Google Analytics v4 上创建属性并设置数据流。这将确保您的所有网站数据都得到 Google Analytics 的正确收集和跟踪。一旦设置好属性和数据流,您就可以轻松地将 Genlytics 集成到您的 Laravel 应用程序中,为您提供有关网站流量、用户行为和转化率的宝贵见解。Genlytics 允许您访问 Google Analytics 的所有功能和功能,使得企业和开发者能够轻松了解他们的受众并改善他们的在线表现。
启用 API 并创建服务帐户
要开始使用 Analytics Reporting API v4,您首先需要使用设置工具,该工具将引导您在 Google API 控制台中创建项目、启用 API 并创建凭证。
创建凭证
注意:当提示时,点击“提供新的私钥”,然后在“密钥类型”中选择JSON,并将生成的密钥保存为client_secrets.json;您在教程的后面需要用到它。
- 打开“服务帐户”页面。如果提示,选择一个项目。
- 点击“+ 创建服务帐户”,为服务帐户输入一个名称和描述。您可以使用默认的服务帐户ID,或者选择一个不同且唯一的ID。完成操作后,点击“创建”。
- 接下来是“服务帐户权限(可选)”部分,这不是必需的。点击“继续”。
- 在“授予用户访问此服务帐户”的屏幕上,向下滚动到“创建密钥”部分。点击“添加创建密钥”。
- 在出现的侧面板中,选择您的密钥格式:推荐选择JSON。
- 点击“创建”。您的新公钥/私钥对已生成并下载到您的计算机上;这是该密钥的唯一副本。有关如何安全存储的信息,请参阅“管理服务帐户密钥”。
- 在“私钥已保存到您的计算机”对话框中点击“关闭”,然后点击“完成”返回到您的服务帐户表。
将服务帐户添加到Google Analytics帐户
新创建的服务帐户将有一个类似以下电子邮件地址:
quickstart@PROJECT-ID.iam.gserviceaccount.com
使用此电子邮件地址将用户添加到您想要通过API访问的Google Analytics视图中。对于此包,只需要“读取”和“分析”权限。
安装
您可以通过composer安装此包
composer require zfhassaan/genlytics
环境变量
使用Genlytics及其环境变量轻松地将Google Analytics跟踪集成到您的Laravel应用程序中。要设置Genlytics,只需将Google Analytics属性ID和服务帐户凭证添加到您的.env文件中的环境变量即可。GENLYTICS_PROPERTY_ID变量用于指定您特定的GA属性,而GENLYTICS_CREDENTIALS变量用于指定service-account.json文件的位置。有了这些环境变量,您就可以开始使用Google Analytics和Laravel的Genlytics包的力量来跟踪网站流量、用户行为和转化率,使企业和开发者更容易理解他们的受众并提高他们的在线表现。
# Start: Google Analytics GENLYTICS_PROPERTY_ID=<property_id> GENLYTICS_CREDENTIALS=<service-account.json> # End: Google Analytics
配置
在您的config/app.php文件中,将以下行添加到providers数组
/* * Package Service Providers... */ ... \zfhassaan\genlytics\provider\AnalyticsServiceProvider::class, ...
在相同文件的aliases数组中,添加以下行
'aliases' => Facade::defaultAliases()->merge([ ... 'Genlytics' => \zfhassaan\genlytics\facades\AnalyticsFacade::class, ... ])->toArray(),
通过运行以下命令发布包资源
php artisan vendor:publish
并发布zfhassaan\genlytics\provider\AnalyticsServiceProvider
资源到laravel应用。
用法
Genlytics是Laravel的一个强大的Google Analytics包,允许您轻松跟踪和分析网站流量和用户行为。要开始使用Genlytics,您可以按照以下方式初始化包的实例
$analytics = new Genlytics();
然后,您可以使用包的方法来运行各种报告。例如,您可以通过调用runReports方法来运行特定日期范围内的活跃用户报告
$period = ['start_date' => $request->period['start_date'],'end_date'=> $request->period['end_date']]; $active_users = $analytics->runReports($period,['name' => $state],['name' => 'activeUsers'] );
除了运行报告外,Genlytics还提供了一个方法,使用runRealTime函数获取实时分析数据。例如
// For Single Dimension and Metric $dimensions = ['name' => 'browser']; //1 $metrics = ['name' => 'activeUsers']; //1 $period = [['start_date' => '30daysAgo', 'end_date' => 'today']]; $result = $analytics->runReports($period, $dimensions, $metrics); // For Multiple Dimensions and Metrics try { $analytics = new Genlytics(); $dimensions = [ ['name' => 'browser'], //1 ['name' => 'country'], //2 ['name' => 'date'], //3 ['name' => 'city'], //4 ['name' => 'dateHour'], //5 ['name' => 'firstUserSourceMedium'], //6 ['name' => 'mobileDeviceMarketingName'], //7 ['name' => 'operatingSystemWithVersion'], //8 ['name' => 'dayOfWeek'], //9 ['name' => 'defaultChannelGroup'], //10 ['name' => 'language'], //11 ['name' => 'dayOfWeekName'], //12 ['name' => 'deviceCategory'], //13 ['name' => 'contentGroup'], //14 ['name' => 'fullPageUrl'], //15 ]; $metrics = [ ['name' => 'activeUsers'], //1 ['name' => 'engagedSessions'], //2 ]; // Period can be from any range to any range which can be checked from the GA Query Builder $period = [['start_date' => '30daysAgo', 'end_date' => 'today']]; $results = array_map(function ($d) use ($analytics, $metrics, $period) { return array_map(function ($m) use ($analytics, $d, $period) { $result = $analytics->runReports($period, $d, $m); return $result->content(); }, $metrics); }, $dimensions); return response()->json(['analytics' => $results]); } catch (\Exception $e) { return response()->json(['status' => false, 'error' => $e->getMessage()], 400); }
Genlytics还提供了一个方法RunDimensionReport来获取维度,例如
$analytics->RunDimensionReport(['start_date' => '2022-01-01','end_date' => '2022-01-31'],'browser');
这些方法允许我们轻松访问我们需要做出数据驱动决策的商业数据。