Android Version 3 (alte Version) – Universal Analytics-Tags

In diesem Leitfaden wird beschrieben, wie Sie allgemeine Universal Analytics-Tags mithilfe des Google Tag Manager SDK für Android implementieren.

  1. Gängige Konfigurationen für Universal Analytics-Tags (UA)
    1. App-Aufrufe senden (Bildschirmaufrufe)
    2. Sendeereignisse
    3. E-Commerce-Transaktionen senden
      1. Datenschichtvariablen für E-Commerce
    4. Attribution der Referrer-URL für Installationen

Gängige Universal Analytics-Tag-Konfigurationen (UA)

Wenn Sie Universal Analytics mit Google Tag Manager in Ihrer Anwendung implementieren, können Sie Änderungen an Ihrer Google Analytics-Implementierung im Handumdrehen vornehmen. Dazu müssen Sie Ihr App-Binärprogramm nicht neu erstellen und noch einmal an Marktplätze senden.

In diesem Leitfaden erfahren Sie, wie Sie die folgenden Aufgaben mit Universal Analytics-Tags und dem Google Tag Manager SDK für Android ausführen:

App-Aufrufe senden (Bildschirmaufrufe)

So senden Sie bei jedem Öffnen eines neuen Bildschirms in einer App eine App-Ansicht (Bildschirmansicht) an Google Analytics:

  1. Makro für Bildschirmnamen erstellen
  2. OpenScreenEvent-Regel erstellen
  3. UA-Tag für App-Datenansichten (Bildschirmansicht) erstellen
  4. Code aktualisieren, um Ereignis- und Bildschirmnamen in die Datenschicht zu übertragen

1. Makro für Bildschirmnamen erstellen

Erstellen Sie ein neues Bildschirmnamen-Makro mit den folgenden Konfigurationswerten:

Name des Makros : screen name
Makrotyp : Data Layer Variable
Name der Datenschichtvariablen : screenName

2. OpenScreenEvent-Regel erstellen

Erstellen Sie eine neue Regel, die zum Auslösen des neuen UA-Tags für App-Ansichten (Bildschirmaufrufe) verwendet wird. Verwenden Sie dazu die folgenden Konfigurationswerte:

Regelname : OpenScreenEvent
Bedingungen: {{ event }} ist gleich openScreen

3. UA-Tag für App-Ansichten (Bildschirmansicht) erstellen

Erstellen Sie ein neues UA-Tag mit den folgenden Konfigurationswerten:

Tag-Name : Screen Open
Tracking-ID : Ihre Property-ID
Tag-Typ : Universal Analytics (beta)
Tracking-Typ : AppView
Grundkonfiguration – App-Name : {{ app name }}
Grundlegende Konfiguration – App-Version : {{ app version }}
Grundkonfiguration – Bildschirmname : {{ screen name }}}

4. Code aktualisieren, um Ereignis- und Bildschirmnamen in die Datenschicht zu übertragen

Fügen Sie der Anwendung Code hinzu, um ein openScreen-Ereignis und einen screenName-Wert an die Datenschicht zu senden, wie in diesem Beispiel:

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

Senden von Ereignissen

So senden Sie ein Ereignis an Google Analytics, wenn ein Nutzer mit UI-Steuerelementen oder Inhalten in Ihrer App interagiert:

  1. Optional: Ereignismakros erstellen
  2. Ereignisregel erstellen
  3. UA-Ereignis-Tag erstellen
  4. Code aktualisieren, um Ereignis- und alle Ereignismakrowerte in die Datenschicht zu übertragen

Die folgenden Schritte zeigen, wie dies bei einem Ereignis funktionieren würde, das ausgelöst wird, wenn ein Nutzer eine Videowiedergabe startet.

1. Optional: Ereignismakros erstellen

Wenn im Ereignis Datenschichtvariablen für die Felder für Kategorie, Aktion, Label oder Wert verwendet werden, müssen Sie diese Makros zuerst in der Benutzeroberfläche konfigurieren. In diesem Beispiel basiert das Ereignis-Tag für die Videowiedergabe auf einer Datenschichtvariablen, die den Namen des wiedergegebenen Videos angibt.

Zur Implementierung dieses Videonamens würden wir ein neues Makro mit den folgenden Konfigurationswerten erstellen:

Name des Makros : video name
Makrotyp: Data Layer Variable
Name der Datenschichtvariablen : videoName

2. Ereignisregel erstellen

Erstellen Sie eine Regel, die bewirkt, dass das Ereignis-Tag ausgelöst wird, wenn es an die Datenschicht übertragen wird. Im Beispiel für die Videowiedergabe hätte diese neue Regel die folgenden Konfigurationswerte:

Regelname : VideoPlayEvent
Bedingungen : {{ event }} ist gleich videoPlay

UA-Ereignis-Tag erstellen

Erstellen Sie ein UA-Ereignis-Tag, das ausgelöst wird, wenn die im vorherigen Schritt erstellte Regel true ergibt. Im Beispiel für die Videowiedergabe würde das Tag so aussehen:

Tag-Name : Video Play Event
Tracking-ID : Ihre Property-ID
Tag-Typ : Universal Analytics (beta)
Tracking-Typ : Event
Ereignis-Tracking-Parameter – Kategorie : Video
Ereignis-Tracking-Parameter – Aktion : Play
Ereignis-Tracking-Parameter – Aktion : Play
Ereignis-Tracking-Parameter – Label : {{ video name }}
Grundkonfiguration – App-Name : {{ app name }}
Grundkonfiguration – App-Version : {{ app version }}
{ - Konfiguration/Bildschirmname/ }{{ screen name }}

Code aktualisieren, um Ereignis in Datenschicht zu übertragen

Aktualisieren Sie schließlich den Code, um sowohl den Ereigniswert als auch die Datenschichtvariablen, die das Tag benötigt, in die Datenschicht zu übertragen, wenn der Nutzer die Interaktion ausführt. Im Beispiel für die Videowiedergabe würde dieser Code wie folgt aussehen:

//  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-Commerce-Transaktionen senden

So senden Sie eine Transaktion und alle zugehörigen Elemente an Google Analytics, wenn ein Nutzer einen In-App-Kauf abschließt:

  1. Transaktionsregel erstellen
  2. UA-Transaktions-Tag erstellen
  3. Code aktualisieren, um Ereignis- und Transaktions-/Artikeldaten in DataLayer zu übertragen

1. Transaktionsregel erstellen

Erstellen Sie als Nächstes eine neue Regel mit den folgenden Konfigurationswerten:

Regelname : TransactionCompleted
Bedingungen : {{ event }} ist gleich transaction

2. UA-Transaktions-Tag erstellen

Erstellen Sie ein UA-Transaktions-Tag mit den folgenden Werten:

Tag-Name : Transaction Completed
Tracking-ID : Ihre Property-ID
Tag-Typ : Universal Analytics (beta)
Tracking-Typ : Transaction
Grundkonfiguration – App-Name : {{ app name }}
Grundlegende Konfiguration – App-Version : {{ app version }}
Grundkonfiguration – Bildschirmname : {{ screen name }}

3. Code aktualisieren, um Ereignis- und Transaktions-/Artikeldaten in DataLayer zu übertragen

Aktualisieren Sie abschließend Ihren Code, um das Transaktionsereignis sowie die zugehörigen Transaktions- und Artikeldaten in die Datenschicht zu übertragen. Für Transaktionen und Artikeldaten müssen die unterstützten Namen von Datenschichtvariablen verwendet werden:

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

Unterstützte E-Commerce-Datenschichtvariablen

UA-Transaktions-Tags unterstützen die folgenden Datenschichtvariablen:

Transaktionsvariablen

Variablenname Beschreibung Typ Erforderlich
transactionId Eindeutige Transaktionskennung String Ja
transactionAffiliation Partner oder Geschäft String Nein
transactionTotal Gesamtwert der Transaktion String Nein
transactionTax Steuerbetrag für die Transaktion String Nein
transactionShipping Versandkosten für die Transaktion String Nein
transactionCurrency Währung der Transaktion String Nein
transactionProducts Liste der bei der Transaktion erworbenen Artikel Ein Array von Karten, die Elementvariablen enthalten. Nein

Elementvariablen

Variablenname Beschreibung Typ Erforderlich
name Produktname String Ja
sku Artikelnummer des Produkts String Nein
category Produktkategorie String Nein
price Produktpreis String Nein
currency Der Währungstyp von price String Nein
quantity Menge der Artikel String Nein

Attribution der Installations-Referrer-URL

Sofern verfügbar, werden Daten zur Installations-Referrer-URL automatisch in alle Google Analytics-Treffer oder Google Ads-Remarketing-Pixel-Anfragen aufgenommen, wenn der folgende Dienst und der folgende Empfänger in Ihrer AndroidManifest.xml-Datei registriert ist:

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