通过 REST API 实现的 Google 跟踪代码管理器 (GTM) 数据层

Posted

技术标签:

【中文标题】通过 REST API 实现的 Google 跟踪代码管理器 (GTM) 数据层【英文标题】:Google Tag Manager (GTM) Data Layer via REST API 【发布时间】:2016-06-16 12:32:59 【问题描述】:

我们需要将事件推送到 GTM。通常这是通过 javascript 使用 described here 的数据层来完成的,使用:

<a href="#" name="button1" onclick="dataLayer.push('event': 'button1-click');" >Button 1</a>

我想知道的是:

    上述是否可以使用 REST API 来实现,正如 SO post 中所要求的那样? 作为 GTM 调用的一部分,是否有任何客户端会话信息(例如 IP 地址、浏览器等)使用 JS 方法捕获?

【问题讨论】:

【参考方案1】:

更新:Google 现在支持server-side tag management。虽然 SSGTM 不是正式意义上的 Rest Api,但您可以通过 http 端点在那里发送数据。

--

    如果 REST API 是指 Google 跟踪代码管理器 API,那么不,这仅用于 GTM 配置。

网页的 GTM 在任何情况下都不会在服务器上运行 - 它将配置的标签捆绑到一个 Javascript 函数中,该函数在客户端进行评估和执行,因此您无法将数据推送到任何内容。虽然您可以对来自 Mobile SDK 的网络调用进行逆向工程(移动 GTM 几乎是同名的不同产品),但在特定平台的 SDK 之外没有受支持的 API。

    GTM(用于 Web)可以评估可以通过 Javascript 检索的所有内容。所以浏览器是的(通过 navigator 对象),但没有 IP 地址,没有 http 标头等。

【讨论】:

对于 2) 是否可以推送事件?即是否有可能获得与通过 dataLayer.Push() 相同的结果? 您无法在没有(本机或自定义)事件的情况下在 GTM 中评估 Javascript,因为您需要一个事件来使 GTM 评估 Javascript(“dataLayer.push”不是本机代码,它被方法重载告诉 GTM 更新其内部数据模型)。因此,如果我正确理解您的问题,答案将是“否”。

以上是关于通过 REST API 实现的 Google 跟踪代码管理器 (GTM) 数据层的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Rest API Python 包装器和 WooCommerce Shipment Tracking 插件插入货运跟踪代码

使用 NodeJS REST API 通过 Google Cloud Storage 获取文件上传进度

通过Google Drive REST API上传或创建包含内容的新文件?

可以使用 Google API 通过 android 移动 gps 跟踪位置吗?

Google Pub/Sub - 多个订阅同一主题以通过 REST API 减少负载?

Google Ads API - 是不是存在 REST API?