Mesure des performances des campagnes

Ce document explique comment mesurer les campagnes et les 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 des campagnes et des sources de trafic dans la version 4 du SDK Google Analytics pour Android:

Les sections suivantes décrivent quand et comment implémenter 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 d'implémenter la mesure des campagnes 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 en toute sécurité le contenu du site référent depuis Google Play. Cette API renvoie la valeur du paramètre d'URL de provenance utilisé 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 renvoient vers le Google Play Store, et ajouter l'API Install Referrer de Play à votre application pour recevoir et définir les informations de campagne contenues dans l'intent sur votre outil de suivi Google Analytics.

1. Supprimez le récepteur Google Analytics de votre fichier AndroidManifest.xml.

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

2. Ajoutez une dépendance à la bibliothèque de l'API Install Referrer.

Pour ajouter la dépendance, incluez le code suivant 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 récepteur 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 avez plusieurs points d'entrée dans l'application, tels que des liens profonds dans des parties spécifiques, vous pouvez implémenter les méthodes prescrites 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 qui redirigent directement vers le Google Play Store, puis 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ètres de campagne, utilisez l'outil de création d'URL Google Play ou consultez la section de référence sur les paramètres de campagne.

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

Une fois qu'une application a été installée, elle peut être lancée par le biais de sites référents à partir de campagnes publicitaires, de sites Web ou d'autres applications. Dans ce scénario, les sources de trafic référentes ou les campagnes marketing peuvent être attribuées à l'activité de l'utilisateur dans les sessions suivantes. Pour ce faire, définissez les paramètres de la campagne directement 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 redirigent les utilisateurs vers votre application.

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

Paramètres 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'un e-mail ou un coût par clic (CPC) utm_medium=cpc
utm_term Terme de la campagne : utilisé avec la recherche sponsorisée pour fournir les mots clés des 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 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 spécifique sur un produit 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 afin de générer des URL pour mesurer les performances des campagnes Google Play.