Seguimiento de comercio electrónico: SDK de Android versión 2 (heredado)

En este documento, se proporciona una descripción general de cómo medir los ingresos y pagos integrados en la app con el SDK de Google Analytics para Android versión 2.

Descripción general

La medición de comercio electrónico te permite enviar compras y ventas directas desde la aplicación a Google Analytics. Por lo general, los datos de comercio electrónico de Google Analytics están compuestos por transacciones y elementos relacionados por un ID de transacción compartido. En el SDK de Google Analytics para Android, esa relación se establece cuando se crea un objeto de transacción y se le agregan elementos.

Los datos de comercio electrónico se utilizan principales en los siguientes informes:

  • Descripción general de Comercio electrónico
  • Rendimiento de productos
  • Rendimiento de ventas
  • Transacciones
  • Tiempo hasta la compra

Implementación

Existen tres pasos para medir una transacción con Google Analytics:

  1. Compila un objeto de transacción.
  2. Compila objetos de elementos y agrégalos al objeto de transacción.
  3. Envía la transacción con sendTransaction(Transaction transObject).

En el siguiente ejemplo, suponemos que se llama a onPurchaseCompleted() después de que el usuario completa una compra directa desde la aplicación.

/**
 * The purchase was processed. We will send the transaction and its associated line items to Google Analytics,
 * but only if the purchase has been confirmed.
 */
public void onPurchaseCompleted() {
  Transaction myTrans = new Transaction.Builder(
      "0_123456",                                           // (String) Transaction Id, should be unique.
      (long) (2.16 * 1000000))                              // (long) Order total (in micros)
      .setAffiliation("In-App Store")                       // (String) Affiliation
      .setTotalTaxInMicros((long) (0.17 * 1000000))         // (long) Total tax (in micros)
      .setShippingCostInMicros(0)                           // (long) Total shipping cost (in micros)
      .build();

  myTrans.addItem(new Item.Builder(
      "L_789",                                              // (String) Product SKU
      "Level Pack: Space",                                  // (String) Product name
      (long) (1.99 * 1000000),                              // (long) Product price (in micros)
      (long) 1)                                             // (long) Product quantity
      .setProductCategory("Game expansions")                // (String) Product category
      .build());

    Tracker myTracker = EasyTracker.getTracker(); // Get reference to tracker.
    myTracker.sendTransaction(myTrans); // Send the transaction.
}

Tipos de moneda

En el SDK de Google Analytics para Android, los campos de moneda de comercio electrónico deben estar en micrones (millones de monedas).

Por ejemplo, para enviar un valor de moneda de 4.5991, debes convertir ese valor en micros (es decir, 4599100) cuando envíes la transacción a Google Analytics, como en los ejemplos anteriores. Cuando el SDK envía esa transacción a Google Analytics, ese valor se convierte automáticamente en un valor decimal de punto fijo y se envía como 4.5991.

Los símbolos de moneda no se deben incluir en el código de comercio electrónico ni se deben usar comas.

Los campos de moneda de comercio electrónico también admiten valores de moneda negativos, lo que puede ser necesario en el caso de reembolsos o devoluciones.

Especificación de monedas

De forma predeterminada, se supone que los valores de la transacción están en la moneda de la vista (perfil) en la que se informan.

Para anular la moneda local de una transacción, llama a setCurrencyCode cuando compiles un Transaction, como en el siguiente ejemplo:

/**
 * In this example, the currency of the transaction is set to Euros. The
 * currency values will appear in reports using the global currency
 * type of the view (profile).
 */
public void onPurchaseCompleted() {
  Transaction myTrans = new Transaction.Builder(
      "0_123456",
      (long) (1.59 * 1000000))
      .setAffiliation("In-App Store")
      .setTotalTaxInMicros((long) (0.13 * 1000000))
      .setShippingCostInMicros(0)
      .setCurrencyCode("EUR")                               // (String) Set currency code to Euros.
      .build();

    Tracker myTracker = EasyTracker.getTracker();
    myTracker.sendTransaction(myTrans);
}

Para obtener la lista completa de las monedas y los códigos de moneda admitidos, consulta la Referencia de las monedas admitidas.