Kampanya Ölçümü - Android SDK

Bu dokümanda, Android v3 için Google Analytics SDK'sı ile kampanyaların ve trafik kaynaklarının nasıl ölçüleceğine genel bir bakış sunulmaktadır.

Genel bakış

Google Analytics'te kampanyaları ölçmek, kampanyaların ve trafik kaynaklarının uygulamanızdaki kullanıcı etkinliğiyle ilişkilendirilmesini sağlar. Bu seçenekler, Android için Google Analytics SDK'sında kampanya ve trafik kaynağı ilişkilendirmesinde kullanılabilir:

Aşağıdaki bölümlerde, her bir kampanya ölçüm türünün ne zaman ve nasıl uygulamanıza uygulanacağı açıklanmaktadır.

Kampanya parametreleri

Kampanya parametreleri, kullanıcıları uygulamanıza getiren trafik kaynakları ve kampanyalarla ilgili bilgileri aktarmak için kullanılır.

Aşağıdaki tabloda, Google Play'de veya genel kampanya ölçümünde kullanılabilecek kampanya parametreleri verilmiştir:

Parametre Açıklama Örnekler
utm_campaign Kampanya adı; belirli bir ürün promosyonunu veya stratejik kampanyayı tanımlamak için anahtar kelime analizinde kullanılır utm_campaign=spring_sale
utm_source Kampanya kaynağı; arama motorunu, bülten veya diğer kaynakları tanımlamak için kullanılır utm_source=google
utm_medium Kampanya aracısı; e-posta veya tıklama başına maliyet (tbm) gibi bir aracıyı tanımlamak için kullanılır utm_medium=cpc
utm_term Kampanya terimi; reklamlar için anahtar kelimeleri sağlamak üzere ücretli arama ile kullanılır utm_term=running+shoes
utm_content Kampanya içeriği; aynı URL'ye yönlendiren reklamları veya bağlantıları ayırt etmek için A/B testi ve içerik hedefli reklamlar için kullanılır utm_content=logolink
utm_content=textlink
gclid Google Ads otomatik etiketleme parametresi; reklamları ölçmek için kullanılır. Bu değer, dinamik olarak oluşturulur ve hiçbir zaman değiştirilmemelidir.

Genel Kampanya ve Trafik Kaynağı İlişkilendirmesi

Bir uygulama yüklendikten sonra reklam kampanyaları, web siteleri veya diğer uygulamalardan yönlendirmeler tarafından başlatılabilir. Bu senaryoda, yönlendiren trafik kaynakları veya pazarlama kampanyaları doğrudan bir izleyicide kampanya alanları ayarlanarak sonraki oturumlarda kullanıcı etkinliğiyle ilişkilendirilebilir.

Örneğin aşağıdaki uygulama, Google Analytics kampanya parametreleri için uygulamayı kullanıma sunma amacını kontrol eder:

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

Alternatif olarak, kampanya bilgileriniz Google Analytics kampanya parametrelerinden farklı bir biçimde mevcutsa bir Map sayfasında ayarlayabilir ve manuel olarak gönderebilirsiniz:

// 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 Kampanya İlişkilendirmesi

Google Play Kampanya Ölçümü, hangi kampanyaların ve trafik kaynaklarının kullanıcıları Google Play Store'dan uygulamanızı indirmeye gönderdiğini görmenize olanak tanır. Tüm geliştiricilerin Google Play Store Kampanya Ölçümü'nü uygulamaları önerilir.

Google Play kampanya ilişkilendirmesini uygulama

Uygulamanız Google Play Store'dan indirildiğinde Play Store uygulaması, yükleme sırasında uygulamanıza bir INTENT_REFERRER yayınlar. Bu amaç, varsa uygulamanızın Google Play Store sayfasına ulaşmak için kullanılan bağlantının referrer parametresinin değerini içerir.

Bir uygulama indirme işlemini bir kampanyayla ilişkilendirmek için Google Play Store'a yönlendiren bağlantılara bir referrer parametresi eklemeniz, ayrıca uygulamanıza bir BroadcastReceiver ekleyerek Google Analytics izleyicinizdeki amaçta yer alan kampanya bilgilerini alıp ayarlamanız gerekir.

Çoğu geliştiricinin SDK ile birlikte sağlanan BroadcastReceiver özelliğini kullanması önerilir. Birlikte verilen alıcıyı kullanarak Google Play Store Kampanya Ölçümünü uygulamak için:

1. Google Analytics alıcısını AndroidManifest.xml dosyanıza ekleyin. Google Analytics alıcısını manifest dosyasına eklemek için aşağıdaki işaretlemeyi kopyalayıp yapıştırın:

<!-- 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 kampanya parametrelerini Google Play URL'lerine ekleme

Ardından, doğrudan Google Play Store'a bağlanacak tüm URL'lere bir referrer parametresi ekleyin ve bu parametrenin değerini, aşağıdaki örnekte olduğu gibi, kaynağı açıklayan bir Google Analytics kampanya parametresi dizesine ayarlayın:

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

Kampanya parametresi dizelerini nasıl oluşturacağınızı öğrenmek için Google Play URL Oluşturucu'yu kullanın veya Kampanya Parametreleri referans bölümüne bakın.

Google Play URL Oluşturucu

Google Play Kampanya Ölçümü için URL'ler oluşturmak üzere aşağıdaki aracı kullanın.