如何在GTM中设置支付中心分析功能

运行机制

此高级诀窍介绍将第三方Web分析集成到艾克索拉支付中心的基本方法,并介绍如何从事件和参数获取有价值的数据。

Note
请注意,有许多外部因素(脚本拦截器、网络断开、流量中断或会话过期等)会影响Web分析的准确性。

适用对象

集成了支付中心的合作伙伴。

如何获取

要集成Web分析,请进行以下GTM设置:

  1. 添加脚本至自定义HTML标记。
  2. 定义变量
  3. 添加触发
  4. 添加标记

添加脚本至HTML标记

创建一个自定义HTML标记,然后复制/粘贴以下代码:

Copy
Full screen
Small screen
<script>
window.onmessage = function payStationStatus(event) {
  if (event.origin === "https://secure.xsolla.com") {
    try {
      var data = JSON.parse(event.data).data;           

      if (data.action === 'change-status') {
          dataLayer.push({'event': 'status', 'changeStatus': true, 'status': data.value})
      }

      if (data.action === 'choose-method' && data.value) {
        dataLayer.push({'event': 'choosePaymentMethod', 'choosePaymentMethod': true, 'paymentMethod': data.value})       
      }

      if (data.action === 'click-btn-pay') {
          dataLayer.push({'event': 'clickPayButton', 'clickPayButton': true})
      }

      if (data.action === 'close-widget') {       
          dataLayer.push({'event': 'closeWidget', 'closeWidget': true})
      }

      if (data.action === 'create-invoice') {
          dataLayer.push({
    'event': 'invoiceCreated',
            'invoiceCreated': true,
            'action': data.action,
    'coupon_code': data.coupon_code,
    'date': data.date,
    'milliseconds': data.milliseconds,
    'payment_country': data.payment_country,
    'purchase_currency': data.purchase_currency,
    'purchase_description': data.purchase_description,
    'purchase_external_id': data.purchase_external_id,
    'purchase_invoice_id': data.purchase_invoice_id,
    'purchase_sku': data.purchase_sku,
    'purchase_digital_content_sku': data.purchase_digital_content_sku,
    'purchase_sum': data.purchase_sum,
    'purchase_type': data.purchase_type,
    'session_id': data.session_id,
    'state': data.state,
    'timezone': data.timezone,
    'user_country': data.user_country,
    'user_id': data.user_id,
    'value': data.value,
    'virtual_currency_amount': data.virtual_currency_amount
          });
      }

      if (data.state) {
          dataLayer.push({'event': 'changeState', 'changeState': true, 'state': data.state});
      }
    } catch (e) {
      return;
    }
  }
};
</script>

该脚本将在支付UI打开时触发。

定义变量

需定义两组数据层变量:

  • 事件 — 用于创建触发并包含预定义的值。
  • 参数 — 用于向分析系统传送信息,可以返回任何值。

如何添加变量:

事件

名称描述
status系统中的付款状态,仅在支付界面打开状态下可更新。换句话说,只要用户未关闭浏览器窗口,即可根据状态变化设置事件。可用状态:createdprocessingdonecancelxsollaRefundhelderror
choosePaymentMethod用户已选择一种付款方式。可用状态:true
clickPayButton用户提交支付数据后点击了确认按钮。可用状态:true
changeState跟踪用户在付款过程中的步骤。完整列表请参阅此处。可用状态list — 付款方式页面列表;payment — 付款提交页面;status — 付款状态页面。

关键参数

名称描述
payment_instance_name付款方式名称。
action事件名称。
dateGMT格式的日期和时间。
purchase_currency购买货币。
purchase_invoice_id艾克索拉系统中的付款发票ID。
purchase_sku已购商品的SKU。
purchase_digital_content_sku已购游戏密钥套餐的SKU。
purchase_sum票面购买金额。
user_id用户ID (v1)。
virtual_currency_amount虚拟货币金额。

关于参数的完整列表,请参阅此处

添加触发

要添加触发,需使用事件下列出的一个或多个数据层变量。

示例:我们希望在用户访问付款状态页面后向Facebook发送信息。

添加标记

此步骤具体取决于您所用的Web分析系统。此处以Google Analytics(分析)为例。

示例:用户进入了状态页面。我们希望将此事件信息以及付款金额和货币种类发送给Google Analytics(分析)。货币种类是我们在Google Analytics(分析)中的自定义统计项。

Note
对于购买事件,强烈建议使用用户支付确认事件(clickPayButton),因为接下来的事件需要用户保持浏览器窗口打开,而有时候用户关闭浏览器标签页时,交易确认的postMessage还没有发起。
本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
为此页面评分
为此页面评分
我们还有其他可改进之处吗?

不想回答

感谢您的反馈!
上次更新时间: 2021年6月25日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!