Kampanya Ölçümü - Android SDK'sı

Bu belgede, Android sürüm 3 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ın ölçülmesi, kampanyaların ve trafik kaynaklarının uygulamanızdaki kullanıcı etkinliğiyle ilişkilendirilebilmesini sağlar. Bu seçenekler, Android için Google Analytics SDK'sında kampanya ve trafik kaynağı ilişkilendirmesi amacıyla kullanılabilir:

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

Kampanya parametreleri

Kampanya parametreleri, kullanıcıları uygulamanıza getiren trafik kaynakları ve kampanyalar hakkında bilgi 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 amacıyla anahtar kelime analizinde kullanılır utm_campaign=spring_sale
utm_source Kampanya kaynağı; bir arama motorunu, bülteni veya başka bir kaynağı 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ı tanımlamak için kullanılır utm_medium=cpc
utm_term Kampanya terimi; reklamlar için anahtar kelimeleri sağlamak üzere ücretli aramayla birlikte kullanılır utm_term=running+shoes
utm_content Kampanya içeriği; A/B testi ve aynı URL'ye yönlendiren reklamları veya bağlantıları ayırt etmek amacıyla 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ından, web sitelerinden veya diğer uygulamalardan gelen yönlendirmeler doğrultusunda başlatılabilir. Bu senaryoda, yönlendirme trafik kaynakları veya pazarlama kampanyaları, kampanya alanlarının doğrudan bir izleyicide ayarlanmasıyla sonraki oturumlardaki kullanıcı etkinliğiyle ilişkilendirilebilir.

Örneğin, aşağıdaki uygulama, Google Analytics kampanya parametreleri için uygulamayı başlatan amacı 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çimdeyse Map üzerinde belirleyip 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 yönlendirdiğini görmenize olanak tanır. Tüm geliştiricilerin Google Play Store Kampanya Ölçümünü uygulaması ö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 erişmek 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'u işaret eden tüm bağlantılara referrer parametresi, Google Analytics izleyicinizdeki amaçta yer alan kampanya bilgilerini almak ve ayarlamak için uygulamanıza BroadcastReceiver eklemeniz gerekir.

Çoğu geliştiricinin, SDK ile birlikte sağlanan BroadcastReceiver uygulamasını kullanması önerilir. Dahil olan 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 Play URL'lerine Google Analytics kampanya parametreleri 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 Google Analytics kampanya parametreleri 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.