我们可以用电子商务事务发送自定义维度(用户范围)吗?

Can we send a custom dimension (user scope) with an ecommerce transaction?

本文关键字:用户 范围 自定义 电子商务 事务 我们      更新时间:2023-09-26

我们正在使用analytics.js来跟踪页面点击和交易。目前,我们的跟踪代码看起来像这样:

ga('create', 'UA-XXX-X', 'auto', {'allowLinker': true});
//add content grouping here if required
ga('send', 'pageview');
if(receiptPage){
  //we call server here ONLY on the receipt page.
  //the results are loaded into the addTransaction and addItem
  ga('require', 'ecommerce', 'ecommerce.js');
  ga('ecommerce:addTransaction', {
    //we set the following fields here:
    //id, affiliation, revenue, shipping, tax, currency
  });
  //for each item in the order we run:
  ga('ecommerce:addItem', {
    //we set the following fields here:
    //id, name, sku, category, price, quantity, currency
  });
  ga('ecommerce:send');
}

我们想在用户范围中添加2个自定义维度字段- userID和国家。我们可以访问服务器上的这两个参数,并且可以很容易地将它们包含在if(receiptPage)声明中。我们想知道在哪里添加自定义维度参数,以及如何触发它的集合。

根据google:

与其他类型的数据不同,自定义维度和度量被发送到分析作为附加到其他点击的参数,比如网页浏览量,事件,或电子商务交易。

然而,他们只展示了发送页面浏览量和事件的例子。我们找不到任何通过事务命中显示自定义维度参数集合的示例。

问题是:ga(电子商务:发送);收集自定义尺寸?在这种情况下,我们可以这样做:

ga('create', 'UA-XXX-X', 'auto', {'allowLinker': true});
ga('send', 'pageview');
if(receiptPage){
  ga('require', 'ecommerce', 'ecommerce.js');
  ga('ecommerce:addTransaction', {/*somecode*/});
  ga('ecommerce:addItem', {/*somecode*/});
  ga('set', 'dimension1', 'user555');
  ga('set', 'dimension2', 'Germany');
  ga('ecommerce:send');
}

或者,如果电子商务不能收集自定义维度数据,我们将不得不在if语句下移动页面浏览量的发送。如果我们在电商催收之后再调用,会不会有问题?:

ga('create', 'UA-XXX-X', 'auto', {'allowLinker': true});
if(receiptPage){
  ga('require', 'ecommerce', 'ecommerce.js');
  ga('ecommerce:addTransaction', {/*somecode*/});
  ga('ecommerce:addItem', {/*somecode*/});
  ga('set', 'dimension1', 'user555');
  ga('set', 'dimension2', 'Germany');
  ga('ecommerce:send');
}
ga('send', 'pageview');

我们应该选择哪个解决方案,为什么?这是一个敏感的实验领域,所以我们宁愿确定,也不愿通过试错来解决问题。

您可以使用这两种解决方案。它们将触发两个请求到谷歌分析服务器,并传输您在代码中定义的所有数据。

第一个解决方案:第二个请求定义了"transaction"类型,并将包括在"ga('ecommerce:send');"之前的行中定义的所有值。

第二个解决方案:页面浏览量请求可能足以发送所有数据,你根本不需要ga('ecommerce:send'),但我不是100%确定。