Geschrieben von

iOS mit Google Tag Manager und Google Analytics 4

Webtracking

In diesem Beitrag geht es darum, wie man Google Tag Manager und Google Analytics 4 auf iOS-Apps zum Laufen bringt. Dazu werden wir mit XCode eine Beispiel-App erstellen, wo wir Google Analytics 4 anbinden. Die App-Events gehen dabei direkt von der App zu GA4. Parallel wird Google Tag Manager zum Einsatz kommen. Dieser wird ebenfalls Events abfangen, verarbeiten und an eine eigene Google Analytics-Property schicken.

Dazu sind folgende Schritte notwendig:

App mit XCode erstellen

Mit XCode erstellen wir zunächst ein Projekt und eine App. Für Testing- und Vorführzwecke reicht es hier, wenn wir eine einfache App erstellen:

Nun kann man:

  • Einen Namen für unsere App vergeben.
  • “Team” ist nur relevant, wenn man über ein mobiles Gerät die App später ausführen und testen möchte. Muss man jetzt nicht machen, da man auch innerhalb von XCode einen Simulator laufen lassen kann (dazu später mehr).
  • Beim “Organization Identifier” macht es Sinn einen aussagekräftigen Namen zu vergeben, da dieser später bei der Integration mit einem Firebase-Projekt benötigt wird.
  • Als Sprache wählen wir Swift.

Im Anschluss kann die App erstellt werden. Wenn alles fertig ist erstellt XCode das Projekt mit allen notwendigen Ressourcen, die man im linken Navigationsbaum sehen kann:

Damit die App nicht leer ist, kann man auf “Main.storyboard” klicken. Im Editor kann nun ein beispielhafter Text eingefügt werden:

Nun kann man den Simulator starten, um zu sehen, ob der Text ausgegeben wird. Dazu wählt man zunächst das Gerät, welches simuliert werden soll und klickt dann auf “Play”:

In der App müsste nun der Text erscheinen:

Die Vorschau kann nun wieder geschlossen werden, da es in den nächsten Step geht.

Firebase Projekt erstellen und Firebase SDK in App initialisieren

Gehe nun auf die Firebase-Website und erstelle ein neues Projekt:

Vergebe zunächst einen Namen:

Aktiviere im nächsten Schritt Google Analytics für das Projekt:

Dann ein bestehendes Google Analytics-Konto wählen oder ein neues erstellen:

Dann musst du kurz warten bis dein Projekt erstellt wurde:

Danach klickst du auf “Weiter”:

Dann muss Firebase unserem iOS-Projekt hinzugefügt werden. Klicke dabei zunächst auf:

Im darauffolgenden Fenster müssen wir zunächst die iOS-Bundle-ID angeben. Diese holen wir uns aus XCode:

Diese fügst du in das entsprechende Feld ein und vergibst – wenn du willst – einen Spitzennamen für die App:

Nachdem du auf “App registrieren” geklickt hast folgt der Schritt, wo du die Plist-Datei (“GoogleService-Info.plist”) herunterladen musst. Diese musst du in den App-Projekt-Ordner schieben:

Gehe dann zurück auf die Firebase-Seite und klicke auf “Weiter”. Dann bekommst du Anweisungen wie du die Firebase SDK deinem Projekt hinzufügst. Dabei musst du zunächst eine Podfile-Datei erstellen. Dazu gehst du in den Terminal. Navigiere nun zum Projekt-Ordner (dort wo die .xcodeproj-Datei liegt). Dann installieren wir zunächst CocoaPods mit folgendem Befehl:

sudo gem install cocoapods

Danach wird die Podfile-Datei mit folgendem Befehl erstellt:

pod init

Dann sollte man ein Podfile im Ordner sehen können:

Danach sollte die Datei mit “open Podfile” geöffnet werden. Dann fügt man folgende 2 Zeilen hinzu:

pod 'Firebase/Analytics'
pod 'GoogleTagManager'

Speichere die Datei und führe dann folgenden Befehl im App-Ordner aus:

pod install

Du siehst dann, dass verschiedene Module für Firebase Analytics und Google Tag Manager installiert werden:

Nach dieser Anpassung gibt es im Projekt-Ordner eine .xcworkspace-Datei, die du nun öffnen musst. Schließe XCode, navigiere in den Ordner und öffne die Datei:

In XCode sehen wir nun einen neuen Punkt in unserem Navigationsbaum, mit dem wir arbeiten werden:

Dann geht es zurück zu Firebase, wo wir auf “Weiter” klicken:

Danach muss ein Initialisierungscode in der AppDelegate.swift-Datei hinterlegt werden. Öffne die Datei in XCode. Nach dem “import UIKit”-Code kommt nun der Import-Firebase-Befehl “import Firebase” rein. Zusätzlich muss das Statement “FirebaseApp.configure()” hinzugefügt werden:

Speichere die Änderungen. Danach kannst du zurück zur Firebase-Website gehen und die restlichen Schritte bestätigen. In der Firebase-Konsole unter “Analytics” -> “Realtime” solltest du dich dann sehen, wenn du die App im XCode-Simulator startest:

Das Standard-Tracking ist somit aktiv!

Event zu Google Analytics 4 schicken

Um ein eigenes Event an Google Analytics zu schicken, können wir unseren hinterlegten Text als Basis nehmen. Sobald dieser angezeigt wird, soll ein Event geschickt werden. Dazu müssen wir in die ViewController.swift-Datei, die unseren Text ausliefert. Auch hier müssen wir zunächst die Firebase-Abhängigkeit definieren. Dann gibt es die viewDidLoad()-Funktion, innerhalb der unser Event-Log-Code reinkommt. Unter iOS kommt die logEvent()-Methode zum Einsatz, die 2 Parameter entgegen nimmt. Mehr dazu auf der entsprechenden Firebase-Doku. Der erste Parameter ist im Grunde der Event-Name und der zweite Parameter eine Liste von zusätzlichen Event-Daten. Der Code sieht dann wie folgt aus:

Wenn ich nun die App wieder mit dem Simulator starte, dann sehe ich wie meine Events ankommen:

Damit du die Events auch in der DebugView in Google Analytics 4 testen kannst, musst du deinen Events ein Argument mitgeben. Gehe dazu auf die folgenden Einstellungen:

Und trage “-FIRAnalyticsDebugEnabled” als Argument ein:

Starte die App wieder und dann müsstest du die Hits in GA4 in der DebugView sehen:

Google Tag Manager installieren

Als nächstes schauen wir uns an wie wir den Google Tag Manager separat installieren. Dazu erstellen wir zunächst einen iOS-Container:

Danach können wir schon ein Tag erstellen. Es kann entweder ein Google Analytics 4-Event-Tag erstellt werden, um die Events z.B. an eine GA4-Property (bestehende oder neue) zu schicken. Oder wir schicken die Evens separat in eine Universal-Analytics-Mobile-View. Deshalb erstellen wir folgendes Tag:

Die Event-Aktion besitzt folgende Variable:

Als Trigger wählen wir:

Dann alles speichern und den Container “Senden”. Nach der Veröffentlichung des Containers bekommen wir die JSON-Container-Datei, die nun in unsere App eingebunden werden muss. Zuerst erstellen wir einen neuen Ordner in unserem Projekt (auf Root-Ebene):

Den Ordner nennen wir “Container” und fügen dort die JSON-Datei hinzu. Zurück in XCode klicken wir auf “File” -> “Add files to Your Project” und fügen den Ordner unserem Projekt hinzu:

In unserer Universal Analytics-Property erstellen wir nun eine neue Datenansicht vom Typ “Mobile Daten”:

Wenn du nun die App wieder startest, sollte der GTM-Container erfolgreich laden und die entsprechenden Hits an UA schicken:

Last modified: 10. Juni 2021