En este documento, se proporciona una descripción general de cómo medir las campañas y las fuentes de tráfico con la versión 4 del SDK de Google Analytics para Android.
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 en tu aplicación. Estas opciones están disponibles para la atribución de campañas y fuentes de tráfico en la versión 4 del SDK de Google Analytics para Android:
- Atribución de campaña de Google Play: Consulta qué campañas, sitios web y otras apps dirigen a los usuarios a Google Play Store para descargar tu app.
- Atribución de campaña general y fuente de tráfico: Consulta qué campañas o URLs de referencia lanzan tu app después de instalarla.
En las siguientes secciones, se describirá cuándo y cómo implementar cada tipo de medición de campaña en tu app.
Atribución de campaña 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 en Google Play Store.
Cómo implementar la atribución de campaña de Google Play
Google Play Store proporciona una API de Install Referrer para que los desarrolladores puedan recuperar de forma segura contenido de referencia desde Google Play. Esta API muestra el valor del parámetro de referencia que se usó para llegar a la página de Google Play Store de tu app, si estaba presente.
Para atribuir la descarga de una aplicación a una campaña, debes agregar un parámetro de referencia a cualquier vínculo que dirija a Google Play Store y agregar la API de referencia de instalación de Play a tu app para recibir y configurar la información de la campaña que se incluye en el intent en tu rastreador de Google Analytics.
1. Quita el receptor de Google Analytics del archivo AndroidManifest.xml.
Si también tienes implementado el receptor de Google Tag Manager, quítalo de tu manifiesto.
2. Agrega una dependencia en la biblioteca de la API de Install Referrer.
Para agregar la dependencia, incluye lo siguiente en el archivo build.gradle:
dependencies { ... implementation 'com.android.installreferrer:installreferrer:1.1' }
3. Llama a la API de Install Referrer en la actividad de inicio de tu app.
Usa la API de Install Referrer para recuperar la URL de referencia del paquete de la app instalada y, luego, pasa el valor de la URL a un receptor de Google Analytics o Google Tag Manager. Sigue una implementación similar a la que se indica a continuación para usar la API de Install Referrer en la actividad de inicio de tu app.
Si tienes varios puntos de entrada a la app, como vínculos directos a partes específicas, puedes implementar los métodos prescritos en un elemento ActivityLifecycleListener
que se activa con ActivityLifecycleCallbacks
.
package com.example.myapplication; import static com.android.installreferrer.api.InstallReferrerClient.InstallReferrerResponse; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.RemoteException; import com.android.installreferrer.api.InstallReferrerClient; import com.android.installreferrer.api.InstallReferrerStateListener; import com.android.installreferrer.api.ReferrerDetails; import com.google.android.gms.analytics.CampaignTrackingReceiver; import com.google.tagmanager.InstallReferrerReceiver; import java.util.concurrent.Executor; import java.util.concurrent.Executors; public class MainActivity extends AppCompatActivity { private final Executor backgroundExecutor = Executors.newSingleThreadExecutor(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); checkInstallReferrer(); } // TODO: Change this to use whatever preferences are appropriate. The install referrer should // only be sent to the receiver once. private final String prefKey = "checkedInstallReferrer"; void checkInstallReferrer() { if (getPreferences(MODE_PRIVATE).getBoolean(prefKey, false)) { return; } InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(this).build(); backgroundExecutor.execute(() -> getInstallReferrerFromClient(referrerClient)); } void getInstallReferrerFromClient(InstallReferrerClient referrerClient) { referrerClient.startConnection(new InstallReferrerStateListener() { @Override public void onInstallReferrerSetupFinished(int responseCode) { switch (responseCode) { case InstallReferrerResponse.OK: ReferrerDetails response = null; try { response = referrerClient.getInstallReferrer(); } catch (RemoteException e) { e.printStackTrace(); return; } final String referrerUrl = response.getInstallReferrer(); // TODO: If you're using GTM, call trackInstallReferrerforGTM instead. trackInstallReferrer(referrerUrl); // Only check this once. getPreferences(MODE_PRIVATE).edit().putBoolean(prefKey, true).commit(); // End the connection referrerClient.endConnection(); break; case InstallReferrerResponse.FEATURE_NOT_SUPPORTED: // API not available on the current Play Store app. break; case InstallReferrerResponse.SERVICE_UNAVAILABLE: // Connection couldn't be established. break; } } @Override public void onInstallReferrerServiceDisconnected() { } }); } // Tracker for Classic GA (call this if you are using Classic GA only) private void trackInstallReferrer(final String referrerUrl) { new Handler(getMainLooper()).post(new Runnable() { @Override public void run() { CampaignTrackingReceiver receiver = new CampaignTrackingReceiver(); Intent intent = new Intent("com.android.vending.INSTALL_REFERRER"); intent.putExtra("referrer", referrerUrl); receiver.onReceive(getApplicationContext(), intent); } }); } // Tracker for GTM + Classic GA (call this if you are using GTM + Classic GA only) private void trackInstallReferrerforGTM(final String referrerUrl) { new Handler(getMainLooper()).post(new Runnable() { @Override public void run() { InstallReferrerReceiver receiver = new InstallReferrerReceiver(); Intent intent = new Intent("com.android.vending.INSTALL_REFERRER"); intent.putExtra("referrer", referrerUrl); receiver.onReceive(getApplicationContext(), intent); } }); } }
4. Agrega los parámetros de la campaña de Google Analytics a las URLs 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 cadena de parámetros de la campaña de Google Analytics que describan la fuente,
como en este ejemplo:
https://play.google.com/store/apps/details?id=com.example.application &referrer=utm_source%3Dgoogle %26utm_medium%3Dcpc %26utm_term%3Drunning%252Bshoes %26utm_content%3Dlogolink %26utm_campaign%3Dspring_sale
Para obtener información sobre cómo crear una cadena de parámetros de campaña, usa el Creador de URLs de Google Play o consulta la sección de referencia Parámetros de la campaña.
Atribución general de campaña y fuente de tráfico
Después de que se instala una app, puede iniciarse mediante referencias de campañas publicitarias, sitios web y otras apps. En esta situación, la referencia de fuentes de tráfico o campañas de marketing puede atribuirse a la actividad del usuario en sesiones posteriores si se establecen los parámetros de la campaña en una herramienta de seguimiento directamente con el método setCampaignParamsFromUrl
.
// Get tracker. Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); // Set screen name. t.setScreenName(screenName); // In this example, campaign information is set using // a url string with Google Analytics campaign parameters. // Note: This is for illustrative purposes. In most cases campaign // information would come from an incoming Intent. String campaignData = "http://examplepetstore.com/index.html?" + "utm_source=email&utm_medium=email_marketing&utm_campaign=summer" + "&utm_content=email_variation_1"; // Campaign data sent with this hit. t.send(new HitBuilders.ScreenViewBuilder() .setCampaignParamsFromUrl(campaignData) .build() );
Consulta
Configuración avanzada para obtener detalles sobre el método getTracker
.
Parámetros de la campaña
Los parámetros de campaña se usan para pasar información sobre las fuentes de tráfico y las campañas que llevan 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_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 usa para identificar un medio, como el correo electrónico o el costo por clic (CPC) | utm_medium=cpc |
utm_term |
Término de la campaña; se utiliza con la búsqueda pagada para proporcionar las palabras clave para los anuncios | utm_term=running+shoes |
utm_content |
Contenido de la campaña; se usa para pruebas A/B y anuncios segmentados por contenido para diferenciar anuncios o vínculos que dirigen a la misma URL |
utm_content=logolink
utm_content=textlink
|
utm_campaign |
Nombre de la campaña; se usa para el análisis de palabras clave para identificar la promoción de un producto específico o una campaña estratégica | utm_campaign=spring_sale |
gclid |
Parámetro del etiquetado automático de Google Ads; se usa para medir los anuncios. Este valor se genera de forma dinámica y nunca se debe modificar. |
Creador de URLs de Google Play
Usa la siguiente herramienta para generar URLs para la medición de campañas de Google Play.