Avaliação de campanha

Este documento contém uma visão geral de como avaliar campanhas e origens de tráfego com o SDK v4 do Google Analytics para Android.

Visão geral

Avaliar campanhas no Google Analytics permite a atribuição de campanhas e origens de tráfego às atividades dos usuários no seu aplicativo. Estas opções estão disponíveis para a atribuição de campanhas e origens de tráfego no SDK v4 do Google Analytics para Android:

As seções a seguir descrevem quando e como implementar cada tipo de avaliação de campanhas no seu aplicativo.

Atribuição de campanhas do Google Play

A avaliação de campanhas do Google Play permite que você veja quais campanhas e origens de tráfego estão enviando os usuários para fazer o download do seu aplicativo na Google Play Store. É recomendável que todos os desenvolvedores implementem a avaliação de campanhas da Google Play Store.

Implementar a atribuição de campanhas do Google Play

A Google Play Store oferece uma API Install Referrer para os desenvolvedores recuperarem o conteúdo de referência do Google Play com segurança. Essa API retorna o valor do parâmetro do referenciador usado para acessar a página do seu aplicativo na Google Play Store, se houver um.

Para atribuir um download de aplicativo a uma campanha, é necessário adicionar um parâmetro do referenciador a todos os links que direcionam para a Google Play Store e adicionar a API Install Referrer do Google Play ao seu aplicativo para receber e definir as informações da campanha contidas na intenção do rastreador do Google Analytics.

1. Remova o receptor do Google Analytics do arquivo AndroidManifest.xml.

Se você também tiver um receptor do Gerenciador de tags do Google implementado, remova-o do manifesto.

2. Adicione uma dependência à biblioteca da API Install Referrer.

Para adicionar a dependência, inclua o seguinte no build.gradle:

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

3. Chame a API Install Referrer na atividade de inicialização do app.

Use a API Install Referrer para recuperar o URL do referenciador do pacote do app instalado e, em seguida, transmita o valor do URL para um receptor do Google Analytics ou do Gerenciador de tags do Google. Siga uma implementação semelhante ao código a seguir para usar a API Install Referrer na atividade de inicialização do app.

Se você tiver vários pontos de entrada no app, como links diretos para partes específicas, poderá implementar os métodos prescritos em uma ActivityLifecycleListener que é acionada por 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. adicionar parâmetros de campanha do Google Analytics a URLs do Google Play

Em seguida, adicione um parâmetro referrer a todos os URLs que direcionam diretamente à Google Play Store e defina o valor dele como uma string dos parâmetros de campanha do Google Analytics que descrevem a origem, como neste exemplo:

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 saber como criar strings de parâmetros de campanha, use o Criador de URL do Google Play ou consulte a seção de referência Parâmetros de campanha.

Atribuição geral de campanhas e origens de tráfego

Depois que um aplicativo é instalado, ele pode ser aberto por referências de campanhas de anúncios, websites ou outros aplicativos. Nesse cenário, as origens de tráfego de referência ou as campanhas de marketing podem ser atribuídas à atividade do usuário em sessões subsequentes. Para isso, defina os parâmetros da campanha diretamente em um rastreador por meio do 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()
);

Consulte Configuração avançada para detalhes sobre o método getTracker.

Parâmetros de campanha

Os parâmetros de campanha são usados para transmitir informações sobre as origens de tráfego e campanhas que estão atraindo usuários para o seu aplicativo.

A tabela abaixo contém os parâmetros de campanha disponíveis que podem ser usados no Google Play ou na avaliação geral de campanhas:

Parâmetro Descrição Exemplos
utm_source Origem da campanha: usado para identificar um mecanismo de pesquisa, boletim informativo ou outra origem. utm_source=google
utm_medium Mídia da campanha: usado para identificar uma mídia, como e-mail ou custo por clique (CPC). utm_medium=cpc
utm_term Termo da campanha: usado com a pesquisa paga para fornecer as palavras-chave para os anúncios. utm_term=running+shoes
utm_content Conteúdo da campanha: usado para testes A/B e anúncios com segmentação por conteúdo para diferenciar anúncios ou links que direcionam ao mesmo URL. utm_content=logolink
utm_content=textlink
utm_campaign Nome da campanha: usado para a análise de palavras-chave com o objetivo de identificar uma campanha estratégica ou a promoção específica de um produto. utm_campaign=spring_sale
gclid Parâmetro de codificação automática do Google Ads: usado para acompanhar anúncios. Esse valor é gerado dinamicamente e nunca deve ser modificado.

Criador de URL do Google Play

Use a ferramenta abaixo para gerar URLs destinados à avaliação de campanhas do Google Play.