Mesure des performances des campagnes

Ce document explique comment mesurer des campagnes et des sources de trafic avec le SDK Google Analytics v4 pour Android.

Présentation

Mesurer les campagnes dans Google Analytics permet d'attribuer les campagnes et les sources de trafic à l'activité des utilisateurs dans votre application. Ces options sont disponibles pour l'attribution de campagne et de source de trafic dans la version 4 du SDK Google Analytics pour Android:

Les sections suivantes décrivent quand et comment mettre en œuvre chaque type de mesure de campagne dans votre application.

Attribution des campagnes Google Play

La mesure des campagnes Google Play vous permet d'identifier les campagnes et les sources de trafic qui incitent les utilisateurs à télécharger votre application à partir du Google Play Store. Nous recommandons à tous les développeurs de mettre en œuvre la mesure des campagnes sur le Google Play Store.

Implémenter l'attribution des campagnes Google Play

Le Google Play Store propose une API Install Referrer permettant aux développeurs de récupérer de manière sécurisée le contenu des sites référents à partir de Google Play. Cette API renvoie la valeur du paramètre de l'URL de provenance utilisée pour accéder à la page Google Play Store de votre application, le cas échéant.

Pour attribuer le téléchargement d'une application à une campagne, vous devez ajouter un paramètre d'URL de provenance à tous les liens qui redirigent vers le Google Play Store, et ajouter à votre application l'API d'installation d'URL de provenance de Play afin de recevoir et de définir les informations de campagne contenues dans l'intent de votre outil de suivi Google Analytics.

1. Supprimez le destinataire Google Analytics de votre fichier AndroidManifest.xml.

Si vous avez également installé le récepteur Google Tag Manager, supprimez-le également de votre fichier manifeste.

2. Ajoutez une dépendance à la bibliothèque d'installation d'API Referrer.

Pour ajouter la dépendance, incluez les éléments suivants dans le fichier build.gradle:

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

3. Appelez l'API Install Referrer dans l'activité de lancement de votre application.

Utilisez l'API Install Referrer pour récupérer l'URL de provenance du package d'application installé, puis transmettez la valeur de l'URL à un destinataire Google Analytics ou Google Tag Manager. Suivez une implémentation semblable au code suivant pour utiliser l'API Install Referrer dans l'activité de lancement de votre application.

Si vous disposez de plusieurs points d'entrée dans l'application, tels que des liens profonds vers des parties spécifiques, vous pouvez implémenter les méthodes recommandées dans un ActivityLifecycleListener qui est déclenché par 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. Ajouter des paramètres de campagne Google Analytics aux URL Google Play

Ensuite, ajoutez un paramètre referrer à toutes les URL redirigeant directement vers le Google Play Store et définissez la valeur de ce paramètre sur une chaîne de paramètres de campagne Google Analytics qui décrivent la source, comme dans cet exemple:

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

Pour apprendre à créer des chaînes de paramètre de campagne, utilisez l'outil de création d'URL Google Play ou consultez la section de référence Paramètres de la campagne.

Attribution générale des campagnes et des sources de trafic

Une fois l'application installée, elle peut être lancée par les sites référents de campagnes publicitaires, de sites Web ou d'autres applications. Dans ce scénario, les sources de trafic ou les campagnes marketing de référence peuvent être attribuées à l'activité des utilisateurs lors des prochaines sessions. Pour ce faire, les paramètres de campagne sont directement définis sur un outil de suivi à l'aide de la méthode 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()
);

Pour en savoir plus sur la méthode getTracker, consultez la section Configuration avancée.

Paramètres de la campagne

Les paramètres de campagne permettent de transmettre des informations sur les sources de trafic et les campagnes qui attirent des utilisateurs vers votre application.

Le tableau ci-dessous contient les paramètres de campagne disponibles dans Google Play et dans la mesure générale des performances des campagnes:

Paramètre Description Exemple(s)
utm_source Source de la campagne ; utilisée pour identifier un moteur de recherche, une newsletter ou une autre source utm_source=google
utm_medium Support de la campagne. Utilisé pour identifier un support tel qu'une adresse e-mail ou un coût par clic (CPC). utm_medium=cpc
utm_term Terme de campagne ; utilisé avec la recherche sponsorisée afin de fournir les mots clés pour les annonces utm_term=running+shoes
utm_content Contenu de la campagne ; utilisé pour les tests A/B et les annonces ciblées sur le contenu afin de différencier les annonces ou les liens qui renvoient vers la même URL utm_content=logolink
utm_content=textlink
utm_campaign Nom de la campagne ; utilisé pour l'analyse des mots clés afin d'identifier une campagne stratégique ou une promotion de produit spécifique utm_campaign=spring_sale
gclid Paramètre de taggage automatique Google Ads ; utilisé pour mesurer les annonces. Cette valeur est générée dynamiquement et ne doit jamais être modifiée.

Outil de création d'URL Google Play

Utilisez l'outil ci-dessous pour générer des URL afin de mesurer les performances des campagnes Google Play.