Misurazione delle campagne - SDK per Android

Questo documento fornisce una panoramica su come misurare le campagne e le sorgenti di traffico con l'SDK di Google Analytics per Android v3.

Panoramica

La misurazione delle campagne in Google Analytics consente di attribuire campagne e sorgenti di traffico all'attività degli utenti nella tua applicazione. Queste opzioni sono disponibili per l'attribuzione di campagne e sorgenti di traffico nell'SDK Google Analytics per Android:

Le seguenti sezioni descrivono quando e come implementare ogni tipo di misurazione delle campagne nella tua app.

Parametri delle campagne

I parametri campagna vengono utilizzati per trasmettere informazioni sulle sorgenti di traffico e sulle campagne che indirizzano gli utenti alla tua app.

La seguente tabella contiene i parametri delle campagne disponibili che possono essere utilizzati in Google Play o nella misurazione generica delle campagne:

Parametro Descrizione Esempi
utm_campaign Nome della campagna; utilizzato per l'analisi delle parole chiave al fine di identificare una specifica promozione di prodotti o una campagna strategica utm_campaign=spring_sale
utm_source Sorgente della campagna; utilizzata per identificare un motore di ricerca, una newsletter o un'altra sorgente utm_source=google
utm_medium Mezzo della campagna; utilizzato per identificare un mezzo come email o costo per clic (CPC) utm_medium=cpc
utm_term Termine della campagna; utilizzato con la ricerca a pagamento per fornire le parole chiave per gli annunci utm_term=running+shoes
utm_content Contenuti della campagna; utilizzati per i test A/B e gli annunci con targeting basato sui contenuti al fine di differenziare gli annunci o i link che puntano allo stesso URL utm_content=logolink
utm_content=textlink
gclid Parametro di tagging automatico di Google Ads; utilizzato per misurare gli annunci. Questo valore viene generato dinamicamente e non deve mai essere modificato.

Attribuzione generale a campagne e sorgenti di traffico

Dopo l'installazione, l'app può essere lanciata da referral provenienti da campagne pubblicitarie, siti web o altre app. In questo scenario, le sorgenti di traffico di riferimento o le campagne di marketing possono essere attribuite all'attività utente in sessioni successive impostando i campi delle campagne direttamente su un tracker.

Ad esempio, la seguente implementazione controlla l'intent che ha lanciato l'app per i parametri della campagna di 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();
  }
}

In alternativa, se le informazioni della tua campagna sono in un formato diverso dai parametri della campagna di Google Analytics, puoi impostarle su un Map e inviarle manualmente:

// 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()
);

Attribuzione della campagna Google Play

La misurazione delle campagne di Google Play ti consente di sapere quali campagne e sorgenti di traffico spingono gli utenti a scaricare la tua app dal Google Play Store. È consigliabile che tutti gli sviluppatori implementino la misurazione delle campagne del Google Play Store.

Implementazione dell'attribuzione delle campagne Google Play

Quando l'app viene scaricata dal Google Play Store, durante l'installazione viene trasmesso un INTENT_REFERRER all'app. Questo intent contiene il valore del parametro referrer del link utilizzato per raggiungere la pagina del Google Play Store della tua app, se presente.

Per attribuire il download di un'app a una campagna, devi aggiungere un parametro referrer a tutti i link che rimandano al Google Play Store, nonché aggiungere un BroadcastReceiver alla tua app per ricevere e impostare le informazioni della campagna contenute nell'intent sul tuo tracker di Google Analytics.

È consigliabile che la maggior parte degli sviluppatori utilizzi il BroadcastReceiver fornito con l'SDK. Per implementare la misurazione delle campagne del Google Play Store utilizzando il ricevitore incluso:

1. Aggiungi il destinatario di Google Analytics al tuo file AndroidManifest.xml. Per aggiungere il destinatario di Google Analytics al manifest, copia e incolla il seguente markup:

<!-- 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. aggiungi i parametri delle campagne di Google Analytics agli URL di Google Play

Poi, aggiungi un parametro referrer a tutti gli URL che si collegheranno direttamente al Google Play Store e imposta il valore del parametro su una stringa di parametri della campagna Google Analytics che descrivono la sorgente, come in questo esempio:

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

Per informazioni su come creare stringhe di parametri per una campagna, utilizza lo Strumento di creazione URL di Google Play o consulta la sezione di riferimento Parametri campagna.

Strumento di creazione URL di Google Play

Usa lo strumento qui sotto per generare URL per la misurazione delle campagne di Google Play.