Medición de la campaña: SDK de Android

En este documento, se proporciona una descripción general de cómo medir campañas y fuentes de tráfico con el SDK de Google Analytics para Android v3.

Descripción general

La medición de campañas en Google Analytics permite atribuir las campañas y las fuentes de tráfico a la actividad del usuario dentro de tu aplicación. Las siguientes opciones están disponibles para la atribución de campañas y fuentes de tráfico en el SDK de Google Analytics para Android:

En las siguientes secciones, se describirá cuándo y cómo implementar cada tipo de medición de campaña en tu app.

Parámetros de campaña

Los parámetros de la campaña se usan para pasar información sobre las fuentes de tráfico y las campañas que atraen usuarios a tu app.

La siguiente tabla contiene los parámetros de campaña disponibles que se pueden usar en Google Play o en la medición general de la campaña:

Parámetro Descripción Ejemplos
utm_campaign Nombre de la campaña; se usa para el análisis de palabras clave a fin de identificar una promoción de un producto específico o una campaña estratégica utm_campaign=spring_sale
utm_source Fuente de la campaña: Se usa para identificar un motor de búsqueda, un boletín informativo o cualquier otra fuente. utm_source=google
utm_medium Medio de la campaña; se utiliza para identificar un medio, como el correo electrónico o el costo por clic (CPC) utm_medium=cpc
utm_term Término de campaña; se utiliza con la búsqueda pagada para proporcionar las palabras clave de los anuncios utm_term=running+shoes
utm_content Contenido de la campaña: Se usa para pruebas A/B y anuncios orientados por contenido a fin de diferenciar los anuncios o vínculos que dirigen a la misma URL utm_content=logolink
utm_content=textlink
gclid Parámetro de etiquetado automático de Google Ads; se usa para medir anuncios. Este valor se genera de forma dinámica y nunca debe modificarse.

Atribución general de campañas y fuentes de tráfico

Después de instalar una app, es posible que la inicien referencias de campañas de anuncios, sitios web y otras apps. En esta situación, la referencia de fuentes de tráfico o campañas de marketing se puede atribuir a la actividad del usuario en sesiones posteriores mediante la configuración directa de los campos de la campaña en una herramienta de seguimiento.

Por ejemplo, la siguiente implementación verifica el intent que lanzó la app para los parámetros de la campaña de Google Analytics:

package com.example.app;

import com.google.analytics.tracking.android.Fields;
import com.google.analytics.tracking.android.GoogleAnalytics;
import com.google.analytics.tracking.android.MapBuilder;
import com.google.analytics.tracking.android.Tracker;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;

import java.util.Map;

/*
 * An example of how to implement general campaign attribution in Android.
 *
 * If the intent that launched the Activity has a URI, parse it for campaign
 * parameters and send the referring data to Google Analytics.
 */
public class MainActivity extends Activity {

  private static final String GA_PROPERTY_ID = "UA-XXXX-Y";
  private static final String SCREEN_LABEL = "Home Screen";

  // This examples assumes the use of Google Analytics campaign
  // "utm" parameters, like "utm_source".
  private static final String CAMPAIGN_SOURCE_PARAM = "utm_source";

  Tracker mTracker;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mTracker = GoogleAnalytics.getInstance(this).getTracker(GA_PROPERTY_ID);
  }

  @Override
  public void onStart() {
    super.onStart();

    // Set screen name on tracker so that all subsequent hits will use this
    // value.
    mTracker.set(Fields.SCREEN_NAME, SCREEN_LABEL);

    // Get the intent that started this Activity.
    Intent intent = this.getIntent();
    Uri uri = intent.getData();

    // Send a screenview using any available campaign or referrer data.
    MapBuilder.createAppView().setAll(getReferrerMapFromUri(uri));
  }

  /*
   * Given a URI, returns a map of campaign data that can be sent with
   * any GA hit.
   *
   * @param uri A hierarchical URI that may or may not have campaign data
   *     stored in query parameters.
   *
   * @return A map that may contain campaign or referrer
   *     that may be sent with any Google Analytics hit.
   */
  Map<String,String> getReferrerMapFromUri(Uri uri) {

    MapBuilder paramMap = new MapBuilder();

    // If no URI, return an empty Map.
    if (uri == null) { return paramMap.build(); }

    // Source is the only required campaign field. No need to continue if not
    // present.
    if (uri.getQueryParameter(CAMPAIGN_SOURCE_PARAM) != null) {

      // MapBuilder.setCampaignParamsFromUrl parses Google Analytics campaign
      // ("UTM") parameters from a string URL into a Map that can be set on
      // the Tracker.
      paramMap.setCampaignParamsFromUrl(uri.toString());

     // If no source parameter, set authority to source and medium to
     // "referral".
     } else if (uri.getAuthority() != null) {

       paramMap.set(Fields.CAMPAIGN_MEDIUM, "referral");
       paramMap.set(Fields.CAMPAIGN_SOURCE, uri.getAuthority());

     }

     return paramMap.build();
  }
}

Como alternativa, si tienes información de la campaña en un formato diferente de los parámetros de la campaña de Google Analytics, puedes configurarla en un Map y enviarla de forma manual:

// May return null if EasyTracker has not yet been initialized with a property ID.
EasyTracker easyTracker = EasyTracker.getInstance(this);
easyTracker.set(Fields.SCREEN_NAME, "Home Screen");

// In this example, campaign information is set using a Map, rather than
// a url string with Google Analytics campaign parameters.
// Note that Fields.CAMPAIGN_KEYWORD is not necessary for this campaign.
HashMap<String, String> campaignData = new HashMap<String, String>();
campaignData.put(Fields.CAMPAIGN_SOURCE, "email");
campaignData.put(Fields.CAMPAIGN_MEDIUM, "email marketing");
campaignData.put(Fields.CAMPAIGN_NAME, "summer_campaign");
campaignData.put(Fields.CAMPAIGN_CONTENT, "email_variation_1");

MapBuilder paramMap = MapBuilder.createAppView();

// Campaign data sent with this hit.
// Note that the campaign data is set on the Map, not the tracker.
easyTracker.send(paramMap
    .setAll(campaignData).build()
);

Atribución de campañas de Google Play

La medición de campañas de Google Play te permite ver qué campañas y fuentes de tráfico envían a los usuarios a descargar tu app desde Google Play Store. Se recomienda que todos los desarrolladores implementen la medición de campañas de Google Play Store.

Cómo implementar la atribución de campañas de Google Play

Cuando tu app se descarga desde Google Play Store, la app transmite un INTENT_REFERRER a tu app durante la instalación. Este intent contiene el valor del parámetro referrer del vínculo que se usó para acceder a la página de Google Play Store de tu app, en caso de que estuviera presente.

Para atribuir una descarga de app a una campaña, debes agregar un parámetro referrer a cualquier vínculo que apunte a Google Play Store y un BroadcastReceiver a tu app para recibir y configurar la información de la campaña que contiene el intent en tu seguimiento de Google Analytics.

Se recomienda que la mayoría de los desarrolladores usen el BroadcastReceiver proporcionado con el SDK. Para implementar la medición de campañas de Google Play Store con el receptor incluido, haz lo siguiente:

1. Agrega el receptor de Google Analytics a tu archivo AndroidManifest.xml. Para agregar el receptor de Google Analytics al manifiesto, copia y pega el siguiente lenguaje de marcado:

<!-- Used for Google Play Store Campaign Measurement-->;
<service android:name="com.google.analytics.tracking.android.CampaignTrackingService" />
<receiver android:name="com.google.analytics.tracking.android.CampaignTrackingReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>

2. Cómo agregar parámetros de campaña de Google Analytics a las URL de Google Play

A continuación, agrega un parámetro referrer a cualquier URL que se vincule directamente a Google Play Store y establece el valor de ese parámetro en una string de parámetros de campaña de Google Analytics que describa la fuente, como en este ejemplo:

https://play.google.com/store/apps/details?id=com.example.app
&referrer=utm_source%3Dgoogle
%26utm_medium%3Dcpc
%26utm_term%3Dpodcast%252Bapps
%26utm_content%3DdisplayAd1
%26utm_campaign%3Dpodcast%252Bgeneralkeywords

Para obtener información sobre cómo compilar strings de parámetros de campaña, usa el Creador de URL de Google Play o consulta la sección de referencia Parámetros de campaña.

Creador de URL de Google Play

Utilice la siguiente herramienta a fin de generar URL para la medición de campaña de Google Play.