标签: measurement-protocol

事件价值?谷歌分析/测量协议

当我使用带有测量协议的事件跟踪时,如何使用事件值/查看它.目前在谷歌分析UI的事件选项卡中,我可以检查类别,操作,但无法查看我发送给GA的与之关联的值.

谢谢

google-analytics universal-analytics measurement-protocol

32
推荐指数
1
解决办法
3万
查看次数

使用测量协议将事件发送到 Google Analytics 4 时,client_id 应该是什么?

我在客户端上使用 Google Analytics 4 (GA4) 来跟踪一大堆不同的事件。但是,有两种情况我无法涵盖客户端:

  1. 用户在第三方(本例中为 Stripe)托管的支付页面上完成结账。
  2. 由支持团队退款。

这些事件由服务器使用 Webhooks 处理。对我来说,最直接的解决方案似乎是让服务器将事件发送到 GA4(而不是客户端发送事件)。我相信Measurement Protocol应该用于此目的。

对于通过Measurement Protocola提交的每个事件client_id提交的每个事件,a是必需的。当客户端提交事件时,这是一个自动生成的 ID,用于跟踪特定设备。

因此我的问题是,应该做什么client_id在服务器端提交事件时应该是什么?

是否应该对所有事件使用相同的方法client_id,以便将服务器识别为一台设备?我读过一些人建议为client_id每个事件使用随机生成的,但这会导致每个服务器端事件都识别出一个新用户......


编辑:答案之一建议使用client_id,它是请求的一部分作为 cookie。但是,对于上面给出的两个示例,此 cookie 不存在,因为请求是由第三方 Webhook 而不是用户发出的。

我当然可以将其存储client_id在数据库中,但第二个示例中的退款是由支持团队提供的。client_id因此,从概念上讲,将该事件与用户的事件关联起来感觉很奇怪client_id只是识别用户设备的一种方式?即,不是用户的设备触发了此处的退款事件。

另一个退款事件示例是当用户 A 与用户 B 进行购买并且用户 B 一周后对该购买进行退款时。那么这种情况下,应该client_id是用户A的还是用户B的呢?同样,在这里使用存储感觉很奇怪client_id。因为,如果用户 A 在两个设备上登录怎么办?client_id那么这里应该使用哪个呢?

google-analytics google-tag-manager measurement-protocol google-analytics-4

27
推荐指数
1
解决办法
7121
查看次数

直接使用Google Analytics Measurement Protocol API的费率限制是多少?

Google Analytics(分析)集合限制和配额的文档中

它提供的rate limits是由谷歌提供的各种库实现的.我似乎无法找到直接发布到测量协议(https://www.google-analytics.com/collect)的用户的已发布速率限制.

有没有,如果有的话是什么?


2015年7月10日编辑 -

一些评论者要求提供我发送的数据类型的示例.

使用一系列调用wget,每次调用之间休眠一秒钟.

以下是移除应用名称和跟踪代码的示例:

wget -nv --post-data 'ul=en&qt=7150000&av=0.0.1&ea=PLET&v=1&tid=<my_tracking_code>&ec=Move+to+Object&cid=1434738538-738-654031&an=<my_app_name>&t=event' -O /dev/null 'https://www.google-analytics.com/collect'
Run Code Online (Sandbox Code Playgroud)

我已经尝试将这些查询发送到/ debug端点,并且所有这些查询都是有效的.我的第一次上传按预期工作,报告看起来不错.随后将相同数据集上传到不同的GA属性会产生不同的结果.有时报告中不会显示任何数据.有时,部分数据会显示在报告中 在上传过程中,实时报告始终显示活动.


google-analytics google-api measurement-protocol

18
推荐指数
1
解决办法
1928
查看次数

Google Analytics 4 - 在不使用 gtag.js 或 firebase 的情况下使用测量协议 API

是否可以使用 GA4 测量协议将事件发送到 Google Analytics,并在 GA 仪表板中查看和分析它们,而无需使用gtag.jsGA4 或任何其他前端脚本?用例是一些事件被发送到我的服务器,我将通过 API 将这些事件推送到 GA。

让我想到的一件事是官方的Measurement Protocol API 说:

为了使事件有效,它必须具有已用于从 gtag.js 发送事件的 client_id。您需要在客户端捕获此 ID 并将其包含在对测量协议的调用中。在向您的酒店发送事件时,我们使用“client_id”作为 client_id。您需要将其替换为来自 gtag.js 的真实 client_id。

https://developers.google.com/analytics/devguides/collection/protocol/ga4/verify-implementation?client_type=gtag#client_send

这表明只有具有有效client_id来源的事件gtag.js才会被计数。我对随机生成进行了一些实验client_ids,发现我能够在RealtimeGA4 控制台的部分(该Event count by Event name部分)中看到我的事件,但所有其他部分都是空的,并且该Users in last 30 min部分始终显示 0。

有人可以向我解释为什么它为零以及这样的用例是否有效?谢谢

analytics google-analytics measurement-protocol google-analytics-4

15
推荐指数
2
解决办法
3265
查看次数

使用API​​服务器端将事件发送到Google Analytics

我有一个网站,我使用javascript函数将事件发送到Google Analytics:

ga('send', 'event', 'showphone', 'feedback', 'result');

但是我还需要server-side使用PHP 发送一些类似的事件.我尝试了这个快速入门教程:Hello Analytics API:用于服务帐户和报告的PHP快速入门就像一个魅力,但我不知道如何发送事件.

你能否一步一步地向我展示我应该编码的内容,如上所述发送完全相同的事件.

php google-analytics google-api measurement-protocol

13
推荐指数
2
解决办法
2万
查看次数

Google Analytics代理

我有一种特殊情况,即网站访问者可以从某个域访问该页面而不能访问其他域.因此,只要HTML和资产存储在服务器上就没有问题.另一方面,Google Analytics需要从Googles服务器下载analytics.js,这是不可能的.

所以我正在寻找一种代理方式.网络服务器本身具有互联网接入,可以传递交通信息.要向Google报告我的网页浏览量,可以从Google下载单个像素GIF,如下所述:https://developers.google.com/analytics/resources/concepts/gaConceptsTrackingOverview

我认为在GIF中获取所有参数并使用测量协议从服务器向Google报告是很容易的 - 但是硬件是将所有这些信息提供给服务器.要下载analytics.js并将其修改为我自己的服务器在我看来是一个根本不是未来证据的黑客.要从用户到服务器获取当前页面并不是什么大问题,但我们希望获得用户ID,浏览器版本以及您通过Google Analytics获得的所有内容.

你会怎么做?你找到了解决方案吗?

proxy google-analytics measurement-protocol

12
推荐指数
1
解决办法
7766
查看次数

通过测量协议将网页浏览事件发送到 GA4 媒体资源

如何使用 PHP 通过测量协议将网页浏览事件发送到 GA4 媒体资源?

这就是我正在做的事情,但在我的 Google Analytics 4 属性中我看不到任何流量。

$data = array(
    'api_secret' => 'XXXX-YYYYY',
    'measurement_id' => 'G-12345678',
    'client_id' => gen_uuid(), // generates a random id
    'events' => array(
      'name' => 'page_view',
      'params' => array(),
    )
);

$url = 'https://www.google-analytics.com/mp/collect';
$content = http_build_query($data);
$content = utf8_encode($content);

$ch = curl_init();
curl_setopt($ch,CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-type: application/x-www-form-urlencoded'));
curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
curl_setopt($ch,CURLOPT_POST, TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS, $content);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

php google-analytics measurement-protocol

11
推荐指数
1
解决办法
5121
查看次数

Google Analytics测量协议

我尝试使用谷歌分析来跟踪更多的自定义数据.所以我以为我会使用这些事件.以下是我尝试的代码,我替换了uuiduser agent:

<?php
function gen_uuid() {
return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ),
mt_rand( 0, 0xffff ),
mt_rand( 0, 0x0fff ) | 0x4000,
mt_rand( 0, 0x3fff ) | 0x8000,
mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff )
);
}

$data = array(
'v' => 1,
'tid' => 'UA-********-**',
'cid' => gen_uuid(),
't' => 'event'
);


$data['ec'] = "category";
$data['ea'] = "product";
$data['el'] = "element";
$data['ev'] = "34";


$url …
Run Code Online (Sandbox Code Playgroud)

php curl google-analytics measurement-protocol

10
推荐指数
2
解决办法
7405
查看次数

GA4 测量协议返回事件而不是用户

我们已通过测量协议设置 Google Analytics GA4 事件传输。我们完全遵循文档 - https://developers.google.com/analytics/devguides/collection/protocol/ga4/sending-events?client_type=gtag

测试 GA 计数器中的一切都很好,但在进入生产计数器后,事件停止进入界面(尽管继续发送到连接的 Google BigQuery)。

需要明确的是,我们可以看到事件被计算在内,但用户没有被计算在内。

0 代表用户,25 代表事件

我们仅更改了配置中的 API 密钥和测量 ID。测试计数器和生产计数器之间的主要区别:生产与 Google AdWords 和 GoogleBigQuery 相关联。

在这种情况下,我们将非常感谢任何想法和见解。

google-analytics-api measurement-protocol google-analytics-4

10
推荐指数
2
解决办法
3778
查看次数

iOS上的Google Analytics:未跟踪的事件

我按照Google指南中提供的说明将Google Analytics SDK添加到了我的项目中.但是,当我尝试跟踪某些事件时,这是调试输出:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    […]

    // Google Analytics
    [GAI sharedInstance].trackUncaughtExceptions = YES;
    [GAI sharedInstance].dispatchInterval = 20;
    [[[GAI sharedInstance] logger] setLogLevel:(PADEV ? kGAILogLevelVerbose : kGAILogLevelError)];
    [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXXXXXX-Y"]; // This is obviously replaced with my tracking ID

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"article"
                                                      action:@"read"
                                                       label:@""
                                                       value:self.post[@"id"]] build]];
Run Code Online (Sandbox Code Playgroud)

日志:

2014-11-12 01:02:25.144 PonzApp[5236:112706] INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher didSendHits:response:data:error:] (GAIBatchingDispatcher.m:208): Hit(s) dispatched: HTTP status -1
2014-11-12 01:02:25.146 PonzApp[5236:112781] INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher …
Run Code Online (Sandbox Code Playgroud)

events google-analytics measurement-protocol google-analytics-sdk

9
推荐指数
2
解决办法
7603
查看次数