是否可以使用 GA4 测量协议将事件发送到 Google Analytics,并在 GA 仪表板中查看和分析它们,而无需使用gtag.js
GA4 或任何其他前端脚本?用例是一些事件被发送到我的服务器,我将通过 API 将这些事件推送到 GA。
让我想到的一件事是官方的Measurement Protocol API 说:
为了使事件有效,它必须具有已用于从 gtag.js 发送事件的 client_id。您需要在客户端捕获此 ID 并将其包含在对测量协议的调用中。在向您的酒店发送事件时,我们使用“client_id”作为 client_id。您需要将其替换为来自 gtag.js 的真实 client_id。
这表明只有具有有效client_id
来源的事件gtag.js
才会被计数。我对随机生成进行了一些实验client_ids
,发现我能够在Realtime
GA4 控制台的部分(该Event count by Event name
部分)中看到我的事件,但所有其他部分都是空的,并且该Users in last 30 min
部分始终显示 0。
有人可以向我解释为什么它为零以及这样的用例是否有效?谢谢
analytics google-analytics measurement-protocol google-analytics-4
我正在将采集数据跟踪到移动应用程序。某些链接通过我的网站重定向到 App Store 或 Google Play 商店,其中 Google Analytics 收集这些重定向的数据。
该移动应用程序还利用了一项名为“App Clips”的新 iOS 功能,它基本上是一个无需用户通过商店下载即可打开的应用程序片段。当应用程序剪辑启动时,“中间人”重定向网站永远不会打开。
为了在 Android 和 iOS 采集上获得一致的数据,我想page_view
通过测量协议收集事件,直接从“App Clip”触发。
GA v4 测量协议 API 处于 alpha 版本。该page_view
事件实际上在文档中缺失,但仍然可以发送。
我想了解如何填充请求中的事件参数,以便发送“技术”和“采集”类别所需的数据。这至少意味着用户代理数据、确切的设备型号、活动、媒介和来源。
{
"client_id": "<what_goes_here?>",
"timestamp_micros": "1627192577008000",
"non_personalized_ads": false,
"events": [
{
"name": "page_view",
"params": {
"page_title": "App Clip",
"language": "en-us",
"page_location": "https://example.com/x?utm_campaign=my_campaign",
"screen_resolution": "1170x2532",
//"page_referrer": ""
"page_path": "/x?utm_campaign=my_campaign"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我不想在 App Clip 中使用 Firebase SDK,原因有两个:
google-analytics firebase measurement-protocol apple-appclips google-analytics-4
PSR-7、PSR-17和PSR-18的推出都是一项计划的一部分,旨在使
构建需要以 HTTP 客户端无关的方式向服务器发送 HTTP 请求的应用程序
我一直在使用许多历史上严重依赖 Guzzle 而不是抽象接口的应用程序。这些应用程序中的大多数使用包含 JSON 正文的 GET 或 POST 请求以及也包含 JSON 正文的响应来发出简单的 API 请求,或者针对 HTTP 4xx 或 5xx 错误抛出异常。
这个问题来自最近的一个项目,在该项目中,我尝试开发一个 API 包,该包没有明确依赖于 Guzzle,而是仅依赖于 PSR 接口。
这个想法是创建一个ApiWrapper
可以使用以下方式启动的类:
ClientInterface
RequestFactoryInterface
StreamFactoryInterface
这个类将有它需要的任何东西:
ResponseInterface
这样的 …
我从 GitHub 下载了一个我和我朋友正在开发的项目,但是当我尝试运行时
npm run serve
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
./src/main.js 中的错误
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main resolved in /home/haider/Desktop/L7G/node_modules/@babel/helper-compilation-targets/package.json
at applyExports (internal/modules/cjs/loader.js:524:9)
at resolveExports (internal/modules/cjs/loader.js:541:12)
at Function.Module._findPath (internal/modules/cjs/loader.js:661:22)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:963:27)
at Function.Module._load (internal/modules/cjs/loader.js:859:27)
at Module.require (internal/modules/cjs/loader.js:1036:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (/home/haider/Desktop/L7G/node_modules/@babel/preset-env/lib/debug.js:8:33)
at Module._compile (internal/modules/cjs/loader.js:1147:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1167:10)
at Module.load (internal/modules/cjs/loader.js:996:32)
at Function.Module._load (internal/modules/cjs/loader.js:896:14)
at Module.require (internal/modules/cjs/loader.js:1036:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (/home/haider/Desktop/L7G/node_modules/@babel/preset-env/lib/index.js:11:14)
at Module._compile (internal/modules/cjs/loader.js:1147:30)
@ multi (webpack)-dev-server/client?http://192.168.0.109:8080/sockjs-node (webpack)/hot/dev-server.js ./src/main.js
Run Code Online (Sandbox Code Playgroud)
main.js 的内容:
import Vue from …
Run Code Online (Sandbox Code Playgroud)