Измерение кампании – Android SDK

В этом документе представлен обзор того, как измерять кампании и источники трафика с помощью Google Analytics SDK для Android v3.

Обзор

Измерение кампаний в Google Analytics позволяет соотнести кампании и источники трафика с активностью пользователей в вашем приложении. Эти параметры доступны для атрибуции кампании и источника трафика в Google Analytics SDK для Android:

В следующих разделах будет описано, когда и как реализовать каждый тип измерения кампании в вашем приложении.

Параметры кампании

Параметры кампании используются для передачи информации об источниках трафика и кампаниях, которые привлекают пользователей в ваше приложение.

В таблице ниже приведены доступные параметры кампании, которые можно использовать в Google Play или для общего измерения кампании:

Параметр Описание Примеры)
utm_campaign Название кампании; используется для анализа ключевых слов для определения конкретного продвижения продукта или стратегической кампании. utm_campaign=spring_sale
utm_source Источник кампании; используется для идентификации поисковой системы, информационного бюллетеня или другого источника utm_source=google
utm_medium Канал кампании; используется для идентификации средства массовой информации, например электронной почты или цены за клик (cpc). utm_medium=cpc
utm_term Срок кампании; используется с платным поиском для предоставления ключевых слов для объявлений. utm_term=running+shoes
utm_content Содержание кампании; используется для A/B-тестирования и рекламы с таргетингом на контент, чтобы различать объявления или ссылки, ведущие на один и тот же URL-адрес. utm_content=logolink
utm_content=textlink
gclid параметр автоматической пометки Google Рекламы ; используется для измерения рекламы. Это значение генерируется динамически и никогда не должно изменяться.

Общая атрибуция кампании и источника трафика

После установки приложения оно может быть запущено по ссылкам из рекламных кампаний, веб-сайтов или других приложений. В этом сценарии ссылки на источники трафика или маркетинговые кампании можно отнести к активности пользователей в последующих сеансах, установив поля кампании непосредственно на трекере.

Например, следующая реализация проверяет намерение, запустившее приложение, на предмет параметров кампании 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();
  }
}

Альтернативно, если у вас есть информация о кампании в форме, отличной от параметров кампании Google Analytics, вы можете разместить ее на Map и отправить вручную:

// 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()
);

Атрибуция кампании Google Play

Google Play Campaign Measurement позволяет вам увидеть, какие кампании и источники трафика побуждают пользователей загружать ваше приложение из Google Play Store. Всем разработчикам рекомендуется реализовать измерение кампаний в Google Play Store.

Внедрение атрибуции кампании Google Play

Когда ваше приложение загружается из Google Play Store, приложение Play Store передает INTENT_REFERRER вашему приложению во время установки. Это намерение содержит значение параметра referrer ссылки, используемой для перехода на страницу вашего приложения в Google Play Store, если таковая имеется.

Чтобы связать загрузку приложения с кампанией, вы должны добавить параметр referrer ко всем ссылкам, указывающим на Google Play Store, а также добавить BroadcastReceiver в свое приложение, чтобы получать и устанавливать информацию о кампании, содержащуюся в намерении, в вашем трекере Google Analytics.

Большинству разработчиков рекомендуется использовать BroadcastReceiver входящий в состав SDK. Чтобы реализовать измерение кампании в магазине Google Play с помощью прилагаемого приемника:

1. Добавьте приемник Google Analytics в файл AndroidManifest.xml . Чтобы добавить приемник Google Analytics в манифест, скопируйте и вставьте следующую разметку:

<!-- 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. Добавьте параметры кампании Google Analytics в URL-адреса Google Play.

Затем добавьте параметр referrer ко всем URL-адресам, которые будут ссылаться непосредственно на Google Play Store, и установите значение этого параметра в строку параметров кампании Google Analytics, описывающих источник, как в этом примере:

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

Чтобы узнать, как создавать строки параметров кампании, воспользуйтесь Конструктором URL-адресов Google Play или обратитесь к справочному разделу «Параметры кампании» .

Конструктор URL-адресов Google Play

Используйте приведенный ниже инструмент для создания URL-адресов для измерения кампании в Google Play.