Visitors & hybride Apps [updated]

Von | 5. März 2013

Wo wir gerade dabei sind, schamlos Artikel aus den USA zu klauen: Mein Kollege Carl Sandquist spricht einen interessanten Punkt an, den ich direkt aufgreifen möchte: Wie funktioniert die Erkennung von Visitors bei hybriden Apps?

Was genau ist das Problem?

Wir erinnern uns: Die meisten Webseiten tracken per Javascript. Die Identifizierung der Benutzer wird dabei über einen (anonymen) Cookie geregelt, oder als Fallback über eine Kombination aus HTTP User-Agent und IP Adresse.

Apps hingegen (zumindest Native Apps) werden üblicherweise mithilfe der AppMeasurement Libraries getaggt. Die Libraries erzeugen bei Installation eine zufällige visitor ID, die bei Deinstallation wieder gelöscht wird, wie alle Daten der App.

Hybride Apps nutzen sowohl native Bestandteile als auch nachgeladenes HTML. Solche Apps sind meist einfacher oder schneller zu programmieren, da man auf bestehende Webseiten zurückgreifen kann. Die Lufthansa App ist ein weithin bekanntes Beispiel.

Damit stellt sich die Frage: Wie trackt man ein und denselben Benutzer über die Grenze zwischen native und HTML hinweg?

Die Antwort ist eigentlich recht einleuchtend: Man nutzt die in der App generierte visitor ID.

Für die nachgeladenen HTML Seiten übergibt man diese ID in der URL. Der Javascript Trackingcode sucht sich die ID aus der URL und reicht sie an SiteCatalyst weiter. Mit anderen Worten: Man überschreibt die visitor ID für Javascript.

Carls Post enthält ein wenig Beispielcode, sowohl für Objective C / iOS als auch für Javascript, den ich hier nicht wiederholen möchte, ein Verweis soll reichen.

Ergebnis dieser relativ simplen Technik: Visitors werden im nativen Teil der App und in den Teilen aus HTML unter der gleichen visitor ID getrackt, man sieht also den kompletten Pfad.

Anmerkung

Eine Anmerkung fehlt mir im Originalartikel, und die hat mit offline zu tun.

Wenn ich das Tracking für eine App programmiere, kann ich die Library so konfigurieren, daß auch getrackt wird, wenn das Mobilgerät gerade keine Verbindung zum Internet hat. Das Gerät (oder vielmehr die in die App eingebundene Library) speichert dann Trackingcalls so lange, bis das Netz wieder verfügbar ist und schickt sie dann los.

Damit das funktioniert, muß für die Report Suite die Datenerfassung auf „timestamped“ umgeschaltet werden, d.h. jeder Hit muß einen Zeitstempel enthalten.

Ja und?

Wenn eine Report Suite „timestamped“ konfiguriert ist, kann man kein normales Javascript-basiertes Tracking in sie senden! Javascript schickt in den Hits keinen Zeitstempel!

Im Klartext: Wer offline tracken möchte, für den ist Carls Methode irrelevant, weil die Trackingcalls der App in eine Report Suite gehen müssen, die nicht die gleiche sein kann wie für die Hits der HTML Seiten!

Wollte ich nur klargestellt haben.

Seit Javascript Version H.24.4 kann man auch in Javascript ganz offiziell einen Timestamp setzen, damit kann man also sowohl offline-enabled Apptracking als auch Javascript in eine Report Suite senden.

Cool, das war mir entgangen.

Ein Gedanke zu „Visitors & hybride Apps [updated]

  1. Pingback: “Wie erkläre ich XYZ?” | Webanalyse auf Deutsch

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.