Android v3 (Eski) - Universal Analytics Etiketleri

Bu kılavuzda, Android için Google Etiket Yöneticisi SDK'sı kullanılarak yaygın Universal Analytics etiketlerinin nasıl uygulanacağı açıklanmaktadır.

  1. Yaygın Universal Analytics (UA) Etiket Yapılandırmaları
    1. Uygulama Görüntülemelerini Gönderme (Ekran Görüntülenme Sayısı)
    2. Etkinlik Gönderme
    3. E-Ticaret İşlemlerini Gönderme
      1. E-ticaret Veri Katmanı Değişkenleri
    4. Yükleme Yönlendiren İlişkilendirmesi

Yaygın Universal Analytics (UA) Etiket Yapılandırmaları

Google Etiket Yöneticisi ile uygulamanızda Universal Analytics'i uygulamak, Google Analytics uygulamanızda anında değişiklik yapabilmenizi sağlar. Bu değişiklikler, uygulama ikili programınızı yeniden oluşturup pazar sitelerine yeniden göndermenizi gerektirmez.

Bu kılavuzda, Universal Analytics etiketlerini ve Android için Google Etiket Yöneticisi SDK'sını kullanarak aşağıdaki görevleri nasıl gerçekleştirebileceğiniz gösterilmektedir:

Uygulama Görüntülemelerini Gönderme (Ekran Görüntülenme Sayısı)

Bir uygulamada yeni bir ekran açıldığında Google Analytics'e bir uygulama görünümü (ekran görüntüleme) göndermek için:

  1. Ekran Adı Makrosu Oluşturma
  2. OpenScreenEvent Kuralı oluşturma
  3. UA Uygulama Görüntüleme (Ekran Görüntüleme) Etiketi Oluşturma
  4. Etkinlik ve Ekran Adını Veri Katmanına Aktarmak için Kodu Güncelleme

1. Ekran Adı Makrosu Oluşturun

Aşağıdaki yapılandırma değerlerini kullanarak yeni bir Ekran Adı makrosu oluşturun:

Makro Adı : screen name
Makro Türü : Data Layer Variable
Veri Katmanı Değişken Adı : screenName

2. OpenScreenEvent Kuralı Oluşturma

Aşağıdaki yapılandırma değerlerini kullanarak yeni UA uygulama görüntüleme (ekran görüntüleme) etiketini tetiklemek için kullanılacak yeni bir kural oluşturun:

Kural Adı : OpenScreenEvent
Koşul: {{ event }} eşittir openScreen

3. Uygulama Görüntüleme (Ekran Görüntüleme) UA Etiketi Oluşturma

Aşağıdaki yapılandırma değerlerini kullanarak yeni bir UA etiketi oluşturun:

Etiket Adı : Screen Open
İzleme Kimliği : Mülk Kimliğiniz
Etiket Türü : Universal Analytics (beta)
İzleme Türü : AppView
Temel Yapılandırma - Uygulama Adı : {{ app name }}
Temel Yapılandırma - Uygulama Sürümü : {{ app version }}
Temel Yapılandırma - Ekran Adı : {{ screen name }}}

4. Etkinliği ve Ekran Adını Veri Katmanına Aktaracak Kodu Güncelleyin

Aşağıdaki örnekte gösterildiği gibi, openScreen etkinliği ile veri katmanına bir screenName değeri aktarmak için uygulamaya bir kod ekleyin:

// Push an 'openScreen' event to the data layer.
import com.google.tagmanager.DataLayer;
import com.google.tagmanager.TagManager;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

  private static final String SCREEN_NAME = "Home Screen";
  private DataLayer mDataLayer;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate();
  }

  @Override
  public void onStart() {
    super.onStart();
    mDataLayer = TagManager.getInstance(this).getDataLayer();

    // This call assumes the container has already been opened, otherwise events
    // pushed to the DataLayer will not fire tags in that container.
    mDataLayer.push(DataLayer.mapOf("event", "openScreen",        // Event, Name of Open Screen Event.
                                    "screenName", SCREEN_NAME));  // Name of screen name field, Screen name value.
  }
}

Etkinlik Gönderme

Bir kullanıcı, kullanıcı arayüzü kontrolleriyle veya uygulamanızdaki içerikle etkileşimde bulunduğunda Google Analytics'e etkinlik göndermek için:

  1. (İsteğe bağlı) Etkinlik Makroları Oluşturma
  2. Etkinlik Kuralı oluşturma
  3. UA etkinlik etiketi oluşturma
  4. Etkinlik ve Etkinlik Makro Değerlerini Veri Katmanına Aktarmak için Kodu Güncelleme

Aşağıdaki adımlarda, kullanıcı video oynatma başlattığında tetiklenen bir etkinlik için bunun nasıl çalışacağı gösterilmektedir.

1. (İsteğe bağlı) Etkinlik Makroları Oluşturma

Etkinlik; kategori, işlem, etiket veya değer alanları için herhangi bir veri katmanı değişkeni kullanacaksa öncelikle arayüzde bu makroları yapılandırmanız gerekir. Bu örnekte video oynatma etkinlik etiketi, oynatılan videonun adını sağlayan bir veri katmanı değişkenine dayanır.

Bu video adını uygulamak için aşağıdaki yapılandırma değerleriyle yeni bir Makro oluştururuz:

Makro Adı : video name
Makro Türü: Data Layer Variable
Veri Katmanı Değişken Adı : videoName

2. Etkinlik Kuralı Oluşturma

Etkinlik etiketinin veri katmanına aktarıldığında tetiklenmesini sağlayacak bir kural oluşturun. Video oynatma örneğinde bu yeni kural aşağıdaki yapılandırma değerlerine sahip olur:

Kural Adı : VideoPlayEvent
Koşullar : {{ event }} eşittir videoPlay

UA etkinlik etiketi oluşturma

Önceki adımda oluşturulan kural true olarak değerlendirildiğinde tetiklenecek bir UA Etkinlik Etiketi oluşturun. Video oynatma örneğinde bu etiket aşağıdaki gibi görünür:

Etiket Adı : Video Play Event
İzleme Kimliği : Mülk Kimliğiniz
Etiket Türü : Universal Analytics (beta)
İzleme Türü : Event
Etkinlik İzleme Parametreleri - Kategori : Video
Etkinlik İzleme Parametreleri - İşlem : Play
Etkinlik İzleme Parametreleri - Etiket : {{ video name }}
Temel Yapılandırma - Uygulama Adı : {{ app name }}
Temel Ekran Yapılandırması - Uygulama Sürümü : {{ app version }}

{{ screen name }}

Etkinliği Veri Katmanına Aktaracak Kodu Güncelleme

Son olarak, kullanıcı etkileşimi tamamladığında hem etkinlik değerini hem de etiketin gerektirdiği veri katmanı değişkenlerini veri katmanına aktarmak için kodunuzu güncelleyin. Video oynatma örneğinde bu kod aşağıdaki gibi görünür:

//  Push a 'videoPlay' event to the data layer.
import com.google.tagmanager.DataLayer;
import com.google.tagmanager.TagManager;

public class VideoPlayer {

  // Called when a user initiates a video playback.
  public void onPlay(Video v) {
    DataLayer dataLayer = TagManager.getInstance(this).getDataLayer();

    // This call assumes the container has already been opened, otherwise events
    // pushed to the DataLayer will not fire tags in that container.
    dataLayer.push(DataLayer.mapOf("event", "videoPlay",        // Event, Name of Open Screen Event.
                                   "videoName", v.getName());   // Additional data layer variables used by the event tag.
    play(v);
  }

  // Rest of implementation;

}

E-Ticaret İşlemlerini Gönderme

Kullanıcı uygulama içi satın alma işlemini tamamladığında bir işlemi ve ilişkili tüm öğeleri Google Analytics'e göndermek için:

  1. İşlem Kuralı Oluşturma
  2. UA işlem etiketi oluşturma
  3. Etkinlik ve İşlem / Öğe Verilerini DataKatman'a Aktarmak için Kodu Güncelleme

1. İşlem Kuralı Oluşturma

Ardından, aşağıdaki yapılandırma değerleriyle yeni bir kural oluşturun:

Kural Adı : TransactionCompleted
Koşullar : {{ event }} eşittir transaction

2. UA işlem etiketi oluşturma

Aşağıdaki değerleri kullanarak bir UA işlem etiketi oluşturun:

Etiket Adı : Transaction Completed
İzleme Kimliği : Mülk Kimliğiniz
Etiket Türü : Universal Analytics (beta)
İzleme Türü : Transaction
Temel Yapılandırma - Uygulama Adı : {{ app name }}
Temel Yapılandırma - Uygulama Sürümü : {{ app version }}
Temel Yapılandırma - Ekran Adı : {{ screen name }}

3. Etkinlik ve İşlem / Öğe Verilerini DataKatman'a Aktarmak için Kodu Güncelleme

Son olarak, işlem etkinliğinin yanı sıra ilişkili işlem ve öğe verilerini de veri katmanına aktarmak için kodunuzu güncelleyin. İşlemler ve öğe verileri için Desteklenen Veri Katmanı Değişken Adlarını kullanmanız gerektiğini unutmayın:

// Called when a user completes a transaction.
public void onPurchaseCompleted(Purchase p) {

  DataLayer dataLayer = TagManager.getInstance(this).getDataLayer();

  // Put maps of item data into an array that will be pushed to the data layer.
  ArrayList<Map<String, String>> purchasedItems = new ArrayList<Map<String, String>>();
  for (Item i : p.items) {
    HashMap<String, String> currentItem = new HashMap<String, String>();

    currentItem.put("name", i.getProductName());
    currentItem.put("sku", i.getProductSku());
    currentItem.put("category", i.getProductCategory());
    currentItem.put("price", i.getProductPrice());
    currentItem.put("currency", "USD");
    currentItem.put("quantity", i.getProductQty());

    purchasedItems.add(currentItem);
  }

  // This call assumes the container has already been opened, otherwise events
  // pushed to the DataLayer will not fire tags in that container.
  dataLayer.push(DataLayer.mapOf("event", "transaction",               // Event, Name of Transaction Event.
                                 "transactionId", p.getTransId(),      // Additional fields required by the tag.
                                 "transactionTotal", p.getTotal(),
                                 "transactionAffiliation", "In-app Store",
                                 "transactionTax", p.getTax(),
                                 "transactionShipping", p.getShippingCost(),
                                 "transactionCurrency", "USD",
                                 "transactionProducts", purchasedItems));

  // Since the data layer is persistent, you should reset fields to null after
  // you are done pushing the transaction.
  dataLayer.push(DataLayer.mapOf("transactionId", null,
                                 "transactionTotal", null,
                                 "transactionAffiliation", null,
                                 "transactionTax", null,
                                 "transactionShipping", null,
                                 "transactionCurrency", null,
                                 "transactionProducts", null));
}

Desteklenen E-ticaret Veri Katmanı Değişkenleri

UA işlem etiketleri, aşağıdaki veri katmanı değişkenlerini destekler:

İşlem Değişkenleri

Değişken Adı Açıklama Tür Gerekli
transactionId Benzersiz işlem tanımlayıcı dize Evet
transactionAffiliation İş ortağı veya mağaza dize Hayır
transactionTotal İşlem toplamı dize Hayır
transactionTax İşlemin vergi tutarı dize Hayır
transactionShipping İşlemin gönderim maliyeti dize Hayır
transactionCurrency İşlemin para birimi dize Hayır
transactionProducts İşlem sırasında satın alınan öğelerin listesi öğe değişkenlerini içeren bir harita dizisidir. Hayır

Öğe Değişkenleri

Değişken Adı Açıklama Tür Gerekli
name Ürün adı dize Evet
sku Ürün SKU'su dize Hayır
category Ürün kategorisi dize Hayır
price Ürün fiyatı dize Hayır
currency price para birimi türü dize Hayır
quantity Öğe miktarı dize Hayır

Yükleme Yönlendiren İlişkilendirmesi

Aşağıdaki hizmet ve alıcı AndroidManifest.xml dosyanıza kaydedildiğinde, yükleme yönlendiren verileri tüm Google Analytics isabetlerine veya Google Ads yeniden pazarlama pikseli isteklerine otomatik olarak dahil edilir:

<!-- Used for install referrer tracking -->
<service android:name="com.google.tagmanager.InstallReferrerService" />
<receiver android:name="com.google.tagmanager.InstallReferrerReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>