如何在成功的API POST响应后通过Google Tag Manager以编程方式测量购买到Google Analytics?

4

在查看Google Tag Manager文档时,他们似乎建议通过确认页面浏览量来衡量购买。除非我误解了这一点,否则由于重定向期间的故障或链接可以稍后访问而导致人为膨胀,因此可能不准确。

因此,我认为最好在从购买POST请求中获得成功响应后立即注册或衡量购买。像这样:

function purchase(data, form) {
  fetchHelper(url, {
    method: 'post',
    body: JSON.stringify(data),
  })
    .then(json => {
      // Send info to GTM that purchase was successful
      form.reset()
      window.location.href = `confirmation.html?booking=${json.booking_number}`;
    })
    .catch(error => {
      console.error('Error: ', error)
      swal('Oops', error.message, 'error');
    })
}
2个回答

2
建议使用Google的analytics.js触发GA事件,而不是依赖页面访问来跟踪转化/购买。通过GA中的事件数据,您可以创建一个“目标”,这应该为您提供相当干净的购买/转化数据。

https://developers.google.com/analytics/devguides/collection/analyticsjs/events

在GTM中,您需要基于通用分析类型设置标签。在选项中,您需要将跟踪类型设置为事件,然后填写您的事件跟踪参数。
要触发事件,您需要创建一个自定义事件的新触发器。在这个例子中,也许事件名称是“purchase_complete”。然后,您可以使用这个函数来触发该触发器:
function fire(){
  var dataObject = {
    'event': 'purchase_complete',
    'category': 'click',
    'label': 'label_something'
  };
  if(typeof dataLayer != 'undefined'){
    dataLayer.push(dataObject);
  }
}

https://jonathanmh.com/custom-javascript-trigger-functions-google-tag-manager/中提取的。

我想使用Google Tag Manager来获取增强数据。我知道如何在仅使用Google Analytics时实现此目标,但不知道如何在GTM中使用GA。 - Sia
1
在GTM数据层中触发自定义事件/触发器有效吗?https://developers.google.com/tag-manager/devguide - Kevin Blank
那个指南看起来比我之前看到的其他指南要好得多。我打算试着操作一下。所以我想我可以在我的后续js中通过 window.dataLayer 访问它。 - Sia

0

"可能有误差"
确实,这是一个常见的问题。如果您想达到100%的可靠性,可以依靠具有服务器端代码的测量协议。您计划执行的操作应该非常接近于此。只需将购买数据推送到数据层,并在此之后发送一次点击(见下文)。防止重复的客户端解决方案是在cookie中保存交易ID,并且在跟踪新交易之前检查该cookie以获取过去的交易

建议通过确认页面浏览量来衡量购买
无论您做什么,只要使用“点击”将电子商务数据(“有效载荷”)发送到GA即可。默认情况下,电子商务数据仅停留在客户端,并未发送到GA。实际上,您有两个选择:页面浏览或事件。通常,您会看到交易数据通过页面浏览发送,因为传统上是由服务器端代码插入到确认页面中的数据,而您会看到客户端交互(例如添加到购物车)通过事件发送,因为这是在前端处理的内容,但是使用事件发送所有电子商务数据也完全可以。

你提到了“见下文” - 你是要添加更多关于“发送命中”的细节吗? - Sia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接