Seguimiento de comercio electrónico: SDK de Android v2 (heredado)

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

Descripción general

La medición de comercio electrónico te permite enviar compras directas desde la aplicación y ventas a Google Analytics. Los datos de comercio electrónico en Google Analytics, por lo general, están compuestos por transacciones y elementos, relacionados con un ID de transacción compartida. En el SDK de Google Analytics para Android, esa relación se establece mediante la creación de un objeto de transacción y la adición de elementos.

Los datos de comercio electrónico se usan principalmente en los siguientes informes:

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

Implementación

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

  1. Compila un objeto de transacción.
  2. Crea 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 micros (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ías 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.

No se deben incluir símbolos de moneda 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 negativa, según sea necesario en el caso de reembolsos o devoluciones.

Especificación de monedas

De forma predeterminada, se supone que los valores de las transacciones 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 una lista completa de las monedas y los códigos de moneda admitidos, consulta la Referencia de monedas admitidas.