Avaliação de campanhas – SDK para Android

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

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 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.

Parâmetros de campanha

Os parâmetros de campanha são usados para transmitir informações sobre as origens de tráfego e as campanhas que atraem usuários para 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_campaign Nome da campanha: usado para a análise de palavras-chave com o objetivo de identificar especificamente uma campanha estratégica ou a promoção de um produto utm_campaign=spring_sale
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 segmentados por conteúdo para diferenciar anúncios ou links que direcionam ao mesmo URL. utm_content=logolink
utm_content=textlink
gclid Parâmetro de codificação automática do Google Ads: usado para avaliar anúncios. Esse valor é gerado dinamicamente e nunca deve ser modificado.

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 ou as campanhas de marketing de referência podem ser atribuídas às atividades do usuário em sessões subsequentes. Para isso, defina os campos da campanha diretamente em um rastreador.

Por exemplo, a implementação a seguir verifica a intenção que iniciou o app para os parâmetros de campanha do 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();
  }
}

Como alternativa, se você tiver informações de campanha em um formato diferente dos parâmetros de campanha do Google Analytics, poderá defini-las em um Map e enviá-las 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()
);

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.

Como implementar a atribuição de campanhas do Google Play

Quando alguém faz o download do seu aplicativo na Google Play Store, o aplicativo da Google Play Store transmite um INTENT_REFERRER ao seu aplicativo durante a instalação. Essa intent contém o valor do parâmetro referrer do link usado para acessar a página do seu app na Google Play Store, se houver.

Para atribuir um download de app a uma campanha, adicione um parâmetro referrer a todos os links que direcionam para a Google Play Store e adicione um BroadcastReceiver ao seu app para receber e definir as informações da campanha contidas na intent do seu rastreador do Google Analytics.

É recomendável que a maioria dos desenvolvedores use o BroadcastReceiver fornecido com o SDK. Para implementar a avaliação de campanhas da Google Play Store usando o receptor incluído:

1. Adicione o receptor do Google Analytics ao seu arquivo AndroidManifest.xml. Para adicionar o receptor do Google Analytics ao manifesto, copie e cole a marcação a seguir:

<!-- 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. 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.app
&referrer=utm_source%3Dgoogle
%26utm_medium%3Dcpc
%26utm_term%3Dpodcast%252Bapps
%26utm_content%3DdisplayAd1
%26utm_campaign%3Dpodcast%252Bgeneralkeywords

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.

Criador de URL do Google Play

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