概览

利用 analytics.js 的增强型电子商务插件,您可以衡量用户在购物历程中与电子商务网站上各种产品的互动,包括产品展示、产品点击、查看产品详情、将产品添加到购物车、开始结帐流程、交易以及退款。

迁移以及与电子商务 (ecommerce.js) 插件的兼容性

如果您已实现电子商务衡量且希望开始使用增强型电子商务,则主要有以下两种选择:

使用新的媒体资源

您可以为新创建的媒体资源添加额外的跟踪器,并为该媒体资源启用增强型电子商务和添加相应代码。请参阅使用多个跟踪对象,详细了解如何从一个网页向多个媒体资源发送数据。

迁移现有媒体资源

要从电子商务插件迁移到增强型电子商务插件,当前的 analytics.js 用户需要移除现有的代码引用,并用增强型电子商务代码取而代之。

如果您现在使用的是 ga.js,则需要先迁移到 analytics.js,然后才能使用增强型电子商务插件。

之前使用 ecommerce.js 插件收集的交易和产品数据不会受迁移的影响,您可以继续在对应的媒体资源和配置文件中查看这些数据。

增强型电子商务数据的类型和操作

您可以发送多种电子商务数据:

展示数据

表示被查看的产品的相关信息。此类数据封装为 impressionFieldObject,其中包含以下值:

值类型 是否必须提供 说明
id text *是

产品 ID 或 SKU(例如 P67890)。

* 对于 idname,必须设置其中之一。

name text *是

产品名称(例如 Android T 恤)。

* 对于 idname,必须设置其中之一。

list text 产品所在的列表或集合(例如搜索结果)
list_name text 产品所在的列表或集合(例如搜索结果)
brand text 与产品关联的品牌(例如 Google)。
category text 产品所属的类别(例如服装)。可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。
variant text 产品的细分款式(例如黑色)。
position integer 产品在列表或集合中的位置(例如 2)。
list_position integer 产品在列表或集合中的位置(例如 2)。
price number 产品的价格(例如 29.20)。

产品数据

产品数据表示被查看(或添加到购物车等操作)的具体产品。此类数据封装为 productFieldObject,其中包含以下值:

值类型 是否必须提供 说明
id text *是

产品 ID 或 SKU(例如 P67890)。

* 对于 id 和 name,必须设置其中之一。

name text *是

产品名称(例如 Android T 恤)。

* 对于 id 和 name,必须设置其中之一。

brand text 与产品关联的品牌(例如 Google)。
category text 产品所属的类别(例如服装)。可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。
variant text 产品的细分款式(例如黑色)。
price number 产品的价格(例如 29.20)。
quantity integer 产品的数量(例如 2)。
coupon text 与产品关联的优惠券代码(例如 SUMMER_SALE13)
position integer 产品在列表或集合中的位置(例如 2)。
list_position integer 产品在列表或集合中的位置(例如 2)。

促销数据

表示被查看的促销信息的相关数据。此类数据封装为 promoFieldObject,其中包含以下值:

值类型 是否必须提供 说明
id text *是

促销活动的 ID(例如 PROMO_1234)。

* 对于 id 和 name,必须设置其中之一。

name text *是

促销活动的名称(例如“夏季促销”)。

* 对于 id 和 name,必须设置其中之一。

creative text 与促销活动关联的广告素材(例如 summer_banner2)。
creative_name text 广告素材的名称(例如 summer_banner2)。
position text 广告素材的位置(例如 banner_slot_1)。
creative_slot text 广告素材位置的名称(例如 banner_slot_1)。

操作数据

表示发生的电子商务相关操作的信息。 此类数据封装为 actionFieldObject,其中包含以下值:

值类型 是否必须提供 说明
id text *是

交易 ID(例如 T1234)。

* 如果操作类型是 purchaserefund,则必须提供此值

affiliation text 发生此交易的商店或关联商户(例如 Google Store)。
revenue number

与这笔交易关联的总收入或总计金额(例如 11.99)。此值可能包含运费、税费或其他要计入 revenue 的总收入调整值。

number 与事件相关的价值(即收入)
tax number 交易对应的总税费。
shipping number 交易关联的运费。
coupon text 在交易中兑换的优惠券。
list text 关联产品所属的列表。可选。
items array 包含相关商品数据的数组。
step integer 表示结帐流程中某个步骤的数字。对于 `checkout` 操作,可自由选择是否提供此值。
checkout_step integer 表示结帐流程中某个步骤的数字。
option text checkout 和 checkout_option 操作的附加字段,用于描述结帐页面上的选项信息,例如所选的付款方式。
checkout_option text 结帐选项(即选定的付款方式)。

产品和促销操作

“操作”指定了您发送到 Google Analytics(分析)的产品和促销数据应当如何解读。

操作 事件 说明
click 对某个产品的点击,或是对一个或多个产品的链接的点击。
detail 查看商品详情。
add 将一个或多个产品添加到购物车。
remove 从购物车中移除一个或多个产品。
checkout 开始一个或多个产品的结帐流程。
checkout_option 发送某个结帐步骤的选项值。
purchase 购买一个或多个产品。
refund 为一个或多个产品退款。
promo_click 对内部促销信息的点击。
select_content 对某个产品的点击,或是对一个或多个产品的链接的点击。
view_item 查看商品详情。
add_to_cart 将一个或多个产品添加到购物车。
remove_from_cart 从购物车中移除一个或多个产品。
begin_checkout 开始一个或多个产品的结帐流程。
set_checkout_option 发送某个结帐步骤的选项值。
refund 购买一个或多个产品。
view_refund 为一个或多个产品退款。
view_promotion 对内部促销信息的点击。

实现

以下几部分介绍了如何实现增强型电子商务插件,以使用 analytics.js 库衡量网站上的电子商务活动。

加载电子商务插件

为缩小 analytics.js 库的体量,增强型电子商务插件不在默认库中提供,而是以一个插件模块的形式提供。在使用该模块前,必须先加载它。

如需加载增强型电子商务插件,请使用以下命令:

ga('require', 'ec');

此命令的执行时间必须是在您创建跟踪器对象之后,使用与增强型电子商务相关的任何具体功能之前

发送增强型电子商务数据

插件加载之后,一系列增强型电子商务专用的新命令将会添加到默认跟踪器中,然后您可以开始发送电子商务数据。

衡量电子商务活动

典型的增强型电子商务实现方案将会衡量产品展示以及以下任意操作:

  • 对产品链接的点击。
  • 查看产品详情。
  • 内部促销信息的展示和点击。
  • 在购物车中添加或移除产品。
  • 开始产品结帐流程。
  • 购买和退款。

衡量展示

使用 ec:addImpression 命令来衡量产品展示,并将产品详情添加到 impressionFieldObject 中。

例如,以下代码衡量某个产品在搜索结果列表中的展示:

ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Search Results',         // Product list (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

impressionFieldObject 必须具有 nameid 值。其他所有值都不是必需的,可以不设置。

衡量操作

操作的衡量方法如下:使用 ec:addProduct 命令和 productFieldObject 来添加产品详情,并使用 ec:setAction 命令来指定用户执行的操作

例如,以下代码衡量对搜索结果列表中显示的产品链接的点击:

ga('ec:addProduct', {               // Provide product details in a productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

ga('ec:setAction', 'click', {       // click action.
  'list': 'Search Results'          // Product list (string).
});

productFieldObject 必须具有 nameid 值。其他所有值都不是必需的,可以不设置。

合并展示和操作数据

既有产品展示又有操作时,可以将两者合并到同一次命中中进行衡量。

下例显示了如何衡量一次在相关产品部分中的展示以及一次产品详情查看:

// The impression from a Related Products section.
ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1                     // Product position (number).
});

// The product being viewed.
ga('ec:addProduct', {                 // Provide product details in an productFieldObject.
  'id': 'P67890',                     // Product ID (string).
  'name': 'YouTube Organic T-Shirt',  // Product name (string).
  'category': 'Apparel/T-Shirts',     // Product category (string).
  'brand': 'YouTube',                 // Product brand (string).
  'variant': 'gray',                  // Product variant (string).
  'position': 2                       // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

衡量交易

交易的衡量方法如下:使用 ec:setAction 命令并将操作类型设置为 purchase。总收入、税费和运费等交易级详情在 actionFieldObject 中提供:

ga('ec:addProduct', {               // Provide product details in an productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'black',               // Product variant (string).
  'price': '29.20',                 // Product price (number).
  'coupon': 'APPARELSALE',          // Product coupon (string).
  'quantity': 1                     // Product quantity (number).
});

ga('ec:setAction', 'purchase', {          // Transaction details are provided in an actionFieldObject.
  'id': 'T12345',                         // (Required) Transaction id (string).
  'affiliation': 'Google Store - Online', // Affiliation (string).
  'revenue': '37.39',                     // Revenue (number).
  'tax': '2.85',                          // Tax (number).
  'shipping': '5.34',                     // Shipping (number).
  'coupon': 'SUMMER2013'                  // Transaction coupon (string).
});

如果操作类型是 purchaserefundactionFieldObject 必须具有 id 值。其他所有值都不是必需的,可以不设置。

衡量退款

如需为整个交易退款,请设置 refund 操作并提供交易 ID:

// Refund an entire transaction.
ga('ec:setAction', 'refund', {
  // Transaction ID is only required field for full refund.
  'id': 'T12345'
});

如果未找到相符的交易,则 refund 命中将不会得到处理。

如需衡量部分退款,请设置 refund 操作并指定要退款产品的交易 ID、产品 ID 和产品数量:

// Refund a single product.
ga('ec:addProduct', {
  'id': 'P12345',       // Product ID is required for partial refund.
  'quantity': 1         // Quantity is required for partial refund.
});

ga('ec:setAction', 'refund', {
  'id': 'T12345',       // Transaction ID is required for partial refund.
});

为退款使用非互动事件

如果您需要使用事件来发送退款数据,但该事件不属于通常衡量的网站上行为(即并非由用户发起),则建议您发送非互动事件。这可让跳出率、网站停留时间等指标免受该事件的影响。例如:

ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});

衡量结帐流程

要衡量结帐流程中的每个步骤,请按以下步骤操作:

  • 添加代码以衡量结帐流程中的每一步。
  • 如果适用,添加代码以衡量结帐选项。
  • (可选)设置直观易懂的步骤名称以用于结帐漏斗报告,方法是在网页界面的“管理”部分中配置电子商务设置

1. 衡量结帐步骤

对于结帐流程中的每一步,您都需要实现相应的代码,以便向 Google Analytics(分析)发送数据:

  • step 字段

    对于要衡量的每一个结帐步骤,您都应添加 step 值。 此值用于将结帐操作映射到您在电子商务设置中为每个步骤配置的标签。

  • option 字段

    在衡量某个指定结帐步骤时,如果您有关于此步骤的更多信息,则可为 option 字段设置 checkout 操作,以捕获此信息,例如用户的默认付款方式(如 Visa)。

  • 衡量某个结帐步骤

    如需衡量某个结帐步骤,请为每个产品使用 ec:addProduct 并使用 ec:setAction 指示操作类型是 checkout。如果适用,还可以为 ec:setAction 附加一个 actionFieldObject 以说明该结帐步骤的 stepoption

    下例显示了如何衡量结帐流程的第一步(涉及一个产品,拥有关于付款方式的额外信息):

    ga('ec:addProduct', {               // Provide product details in an productFieldObject.
      'id': 'P12345',                   // Product ID (string).
      'name': 'Android Warhol T-Shirt', // Product name (string).
      'category': 'Apparel',            // Product category (string).
      'brand': 'Google',                // Product brand (string).
      'variant': 'black',               // Product variant (string).
      'price': '29.20',                 // Product price (number).
      'quantity': 1                     // Product quantity (number).
    });
    
    // Add the step number and additional info about the checkout to the action.
    ga('ec:setAction','checkout', {
        'step': 1,
        'option': 'Visa'
    });
    

2. 衡量结帐选项

结帐选项可让您衡量关于结帐状态的额外信息。如果您在初始网页浏览发生时衡量了某个结帐步骤,但在用户设置了选项之后,关于此步骤有了新的额外信息,那么结帐选项就可以派上用场。例如,用户选择了配送方式。

如需衡量某个结帐选项,请使用 ec:setAction 指示操作类型是 checkout_option,并添加步骤序号和选项说明。

您很可能希望在用户点击进入结帐流程中的下一步时衡量此操作。例如:

// (On "Next" button click)
ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'});

ga('send', 'event', 'Checkout', 'Option', {
    hitCallback: function() {
      // advance to next page
    },
});

3. 结帐漏斗配置

您可以为结帐流程中的每一步指定一个描述性的名称,以在报告中使用。如需配置此类名称,请访问 Google Analytics(分析)网页界面的管理部分,选择相应数据视图(配置文件),然后点击电子商务设置。请按照相应电子商务设置说明,为要衡量的每个结帐步骤添加标签。

Google Analytics(分析)网页界面“管理”部分中的“电子商务设置”。开启了电子商务功能,为 4 个结帐漏斗步骤添加了标签:1. 查看购物车,2. 填写付款信息,3. 确认订单详情,4. 收据
图 1:电子商务设置 - 结帐漏斗

衡量内部促销

增强型电子商务插件支持对内部促销信息的展示次数和点击次数进行衡量,例如对网站另一版块中的促销活动进行宣传的横幅。

促销信息展示

内部促销信息的展示一般在网页加载时衡量,并相应数据使用 ec:addPromo 命令随初始网页浏览数据一起发送。例如:

ga('ec:addPromo', {               // Promo details provided in a promoFieldObject.
  'id': 'PROMO_1234',             // Promotion ID. Required (string).
  'name': 'Summer Sale',          // Promotion name (string).
  'creative': 'summer_banner2',   // Creative (string).
  'position': 'banner_slot1'      // Position  (string).
});

促销信息点击

您可以通过设置 promo_click 操作来衡量内部促销信息获得的点击。例如:

// Identify the promotion that was clicked.
ga('ec:addPromo', {
  'id': 'PROMO_1234',
  'name': 'Summer Sale',
  'creative': 'summer_banner2',
  'position': 'banner_slot1'
});

// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');

例如,要衡量产品详情页面上的一次展示和一次促销信息点击,您需要先随初始网页浏览数据发送产品和展示数据,然后在单独的事件中发送促销信息点击数据:

// 1. Send product and impression data with pageview.
ga('ec:addProduct', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
});

// The impression from the Related Products section.
ga('ec:addImpression', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1,                    // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

ga('send', 'pageview');             // Send the product data with initial pageview.

// 2. Send the promo click data when the promo click occurs.
// Call this function when promo click occurs.
function onPromoClick() {
  ga('ec:addPromo', {
    'id': 'PROMO_1234',
    'name': 'Summer Sale',
    'creative': 'summer_banner2',
    'position': 'banner_slot1'
  });

  // Send the promo_click action with an event.
  ga('ec:setAction', 'promo_click');
  ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
}

promoFieldObject 必须具有 nameid 值。其他所有值都不是必需的,可以不设置。

完整示例

以下代码段显示了如何使用增强型电子商务插件来衡量一个产品从初次展示到交易的完整电子商务生命周期。

衡量商品获得的展示情况

在此例中,用户在搜索结果列表中第一次看到某个产品。如需衡量此次商品展示情况,请使用 ec:addImpression 命令,并在 impressionFieldObject 中提供产品详情:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addImpression', {
  'id': 'P12345',                   // Product details are provided in an impressionFieldObject.
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'Google',
  'variant': 'black',
  'list': 'Search Results',
  'position': 1                     // 'position' indicates the product position in the list.
});

ga('ec:addImpression', {
  'id': 'P67890',
  'name': 'YouTube Organic T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'YouTube',
  'variant': 'gray',
  'list': 'Search Results',
  'position': 2
});

ga('send', 'pageview');              // Send product impressions with initial pageview.

衡量商品获得的点击情况

接下来,用户点击了列表中的该产品以查看其详情,表现出了对该产品的兴趣。

要衡量此次产品点击,请使用 ec:addProductec:setAction

// Called when a link to a product is clicked.
function onProductClick() {
  ga('ec:addProduct', {
    'id': 'P12345',
    'name': 'Android Warhol T-Shirt',
    'category': 'Apparel',
    'brand': 'Google',
    'variant': 'black',
    'position': 1
  });
  ga('ec:setAction', 'click', {list: 'Search Results'});

  // Send click with an event, then send user to product page.
  ga('send', 'event', 'UX', 'click', 'Results', {
    hitCallback: function() {
      document.location = '/product_details?id=P12345';
    }
  });
}

产品链接可按以下方式实现:

<a href="/next-page.html"
   onclick="onProductClick(); return !ga.loaded;">
  Android Warhol T-Shirt
</a>

衡量商品详情获得的浏览情况

点击列表中的产品后,用户查看了产品详情页面。

如需衡量商品详情获得的浏览情况,请使用 ec:addProductec:setAction 来指定 detail 操作:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black'
});

ga('ec:setAction', 'detail');

ga('send', 'pageview');       // Send product details view with the initial pageview.

衡量在购物车中添加或移除商品的操作

用户将产品添加到购物车中,表现出了购买意愿。

如需衡量在购物车中添加或移除商品的操作,请使用 ec:addProduct 并将操作类型设置为 addremove

// Called when a product is added to a shopping cart.
function addToCart(product) {
  ga('ec:addProduct', {
    'id': product.id,
    'name': product.name,
    'category': product.category,
    'brand': product.brand,
    'variant': product.variant,
    'price': product.price,
    'quantity': product.qty
  });
  ga('ec:setAction', 'add');
  ga('send', 'event', 'UX', 'click', 'add to cart');     // Send data using an event.
}

衡量结帐流程

现在用户已准备好开始结帐流程,在此例中结帐流程将由 2 步组成,每一步都有自己的页面:

  • 添加付款明细 (payment.html)。
  • 添加配送详情 (shipping.html)。

如果适用,请确保您已在网页界面“管理”部分的电子商务设置下恰当配置结帐漏斗。例如:

Google Analytics(分析)网页界面“管理”部分中的“电子商务设置”。开启了电子商务功能,为 2 个结帐漏斗步骤添加了标签:1. 付款明细,2. 配送详情
图 2:电子商务设置 - 结帐漏斗

第 1 步 - 付款

如需衡量结帐流程的第一步,请为购物车中的每个产品使用 ec:addProduct,并使用 ec:setAction 指示操作类型是 checkoutec:setAction 会带有一个 actionFieldObject 以便说明结帐步骤序号,并通过 option 字段提供此用户的默认付款方式等额外信息:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

// In the case of checkout actions, an additional actionFieldObject can
// specify a checkout step and option.
ga('ec:setAction','checkout', {
    'step': 1,            // A value of 1 indicates this action is first checkout step.
    'option': 'Visa'      // Used to specify additional info about a checkout stage, e.g. payment method.
});
ga('send', 'pageview');   // Pageview for payment.html

第 2 步 - 配送

如需衡量结帐流程的第二步,请为购物车中的每个产品使用 ec:addProduct,并使用 ec:setAction 指示操作类型是 checkout。在本示例中,我们在发送初始网页浏览数据时并没有掌握所选配送方式这一额外信息,因此将使用 ec:setAction 指示操作类型是 checkout_option,以便单独处理这一额外信息。

// Measure checkout step 2:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

ga('ec:setAction','checkout', {'step': 2});
ga('send', 'pageview');     // Pageview for shipping.html

// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
  ga('ec:setAction', 'checkout_option', {
    'step': stepNumber,
    'option': shippingOption
  });

  ga('send', 'event', 'Checkout', 'Option', {
     hitCallback: function() {
       // Advance to next page.
     }
  });
}

表单可按以下方式实现:

<a href="/next-page.html"
   onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">
  Continue
</a>

衡量交易情况

最后,用户完成了结帐流程,并提交了其购买订单。

如需衡量一个或多个产品的销售情况,请使用 ec:addProduct 添加每个产品,然后使用 ec:setAction 来指定 purchase。总收入、税费等交易级信息可通过 actionFieldObject 指定。例如:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '29.20',
  'quantity': 1
});

// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
  'id': 'T12345',
  'affiliation': 'Google Store - Online',
  'revenue': '37.39',
  'tax': '2.85',
  'shipping': '5.34',
  'coupon': 'SUMMER2013'    // User added a coupon at checkout.
});

ga('send', 'pageview');     // Send transaction data with initial pageview.

指定本地货币

默认情况下,您可以通过 Google Analytics(分析)的管理网页界面为所有交易和商品配置一种通用的全局货币。系统默认会为所有商品和交易使用全局货币。使用多种货币开展交易的网站可通过电子商务插件指定交易的本地货币。

本地货币必须按 ISO 4217 标准指定。如需查看支持的转换货币的完整列表,请参阅货币代码参考

本地货币是使用 currencyCode 跟踪器属性指定的。例如,以下跟踪器将以欧元发送货币金额值:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('set', 'currencyCode', 'EUR'); // Set currency to Euros.

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '21.89',
  'quantity': 1
});

ga('ec:setAction', 'purchase', {
  id: 'T12345',
  affiliation: 'Google Store - Online',
  revenue: '28.03',
  tax: '2.14',
  shipping: '4.00',
  coupon: 'SUMMER2013'
});

ga('send', 'pageview');