Misurazione delle campagne

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

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 in Google Analytics SDK v4 per Android:

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

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.

Implementa l'attribuzione della campagna Google Play

Il Google Play Store fornisce un'API Install Referrer per gli sviluppatori per recuperare in modo sicuro i contenuti dei referral da Google Play. Questa API restituisce il valore del parametro referrer 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 e aggiungere l'API Install Referrer di Google Play alla tua app per ricevere e impostare le informazioni della campagna contenute nell'intent sul tuo tracker Google Analytics.

1. Rimuovi il ricevitore di Google Analytics dal file AndroidManifest.xml.

Se hai implementato anche il ricevitore di Google Tag Manager, rimuovilo anche dal file manifest.

2. Aggiungi una dipendenza alla libreria dell'API Install Referrer.

Per aggiungere la dipendenza, includi quanto segue in build.gradle:

dependencies {
    ...
    implementation 'com.android.installreferrer:installreferrer:1.1'
}

3. Chiama l'API Install Referrer nell'attività di avvio della tua app.

Utilizza l'API Install Referrer per recuperare l'URL del referrer del pacchetto dell'app installata e poi trasmetti il valore dell'URL a un ricevitore di Google Analytics o Google Tag Manager. Segui un'implementazione simile al seguente codice per usare l'API Install Referrer nell'attività di avvio della tua applicazione.

Se all'app sono presenti più punti di ingresso, ad esempio link diretti in parti specifiche, puoi implementare i metodi prescritti in un ActivityLifecycleListener che viene attivato da 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. 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.application
&referrer=utm_source%3Dgoogle
%26utm_medium%3Dcpc
%26utm_term%3Drunning%252Bshoes
%26utm_content%3Dlogolink
%26utm_campaign%3Dspring_sale

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.

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 parametri della campagna direttamente su un tracker utilizzando il metodo 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()
);

Per maggiori dettagli sul metodo getTracker, consulta Configurazione avanzata.

Parametri campagna

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

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

Parametro Descrizione Esempi
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
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
gclid Parametro di tagging automatico di Google Ads; utilizzato per misurare gli annunci. Questo valore viene generato dinamicamente e non deve mai essere modificato.

Strumento di creazione URL di Google Play

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