Bessere Chatbots mit der Power von Google Analytics

Posted at 2018-03-22 in Chatbots, Technology by Klemens


Machen wir uns nichts vor, einen guten Chatbot zu entwickeln bedeutet sehr viel Arbeit. Und ist der Chatbot erst mal “live”, dann ist die Arbeit noch lange nicht vorbei. Jetzt heißt es optimieren, das Natural Language Processing (NLP) trainieren, neue Features implementieren und User-Feedback einarbeiten. Doch wie weiß man überhaupt, welche Features genutzt werden, wo das Optimierungspotenzial liegt und ob die Aktivierungsmaßnahmen greifen? Auch beim sogenannten Growth Hacking, einer Marketing-Technik die von vielen Startups und  zunehmend Corporates genutzt wird, spielt Analytics eine zentrale Rolle.

Quantitative Nutzer-Analysen im Chatbot

Grundsätzlich gibt es zwei Arten von Analytics: Qualitative und quantitative. Erstere bedeuten zum Beispiel, dass man sich einzelne Konversationen mit Usern durchliest und daraus Schlüsse zieht. Etwa die Information darüber, wo der User im Verlauf eines Chats abspringt. In diesem Artikel geht es aber vorrangig um quantitative Analytics, also Analysen, die durch die anonyme, quantitative und “massenhafte” Auswertung des Nutzerverhaltens gewonnen werden.

Hierzu gibt es aus dem Bereich der Web- und App-Analytics bereits bekannte Tools wie Google Analytics und mixpanel, und auch self-hosted / Open Source Tools wie Matomo (ehem. Piwik). Die Frage ist nun, ob sich solche Tools auch für Chatbot-Analytics eigenen? Denn gerade in diesem relativ jungen Bereich tut sich viel und es sind über die letzten zwei Jahre einige Analytics-Tools aus dem Boden gesprossen, die auf Chatbot-Entwickler und -Betreiber als Kunden abzielen. Die bekanntesten darunter sind botanalytics, Chatbase (Google), dashbot.io und botmetrics. Schließlich bieten auch NLP-Tools (Dialogflow), Bot-as-a-Service Anbieter (Chatfuel) und Plattformen (Facebook Messenger) integrierte Analyse-Tools an.

Gründe für und gegen Google Analytics im Chatbot

Warum sollte man also Google Analytics für seinen Chatbot einsetzen? Dafür gibt es ein paar gute Gründe:

Es gibt aber auch Gründe, die gegen den Einsatz von Google Analytics für Chatbots sprechen:

Wie funktioniert die Analytics Integration technisch?

Die Integration baut auf Universal Analytics von Google auf. Mit dieser Evolutionsstufe von Analytics hat Google eine einheitliche Plattform für Websites (analytics.js JavaScript Bibliothek), Apps (Analytics SDK) sowie andere digitale Geräte wie Spielkonsolen, Informations-Kioske und IoT-Geräte geschaffen. Letztere können das s.g. Measurement Protocol nutzen – ein Webservice, über das Entwickler rohe Interaktions-Daten an die Google Server senden können. Und genau davon machen wir beim Einsatz in Chatbots Gebrauch. Da unsere Chatbots mit node.js laufen, nutzen wir dazu die praktische universal-analytics Library, welche es ermöglicht das Measurement Protocol am Server zu nutzen.

Um Google Analytics einrichten zu können, muss zuallererst eine Tracking ID eingerichtet werden. Für den Chatbot nutzen wir ein normale “Web Property”, wie jede Website auch. Wie schon geschrieben bietet Google Analytics keine explizite Unterstützung für Chatbots an. Das ist auch der Grund, warum wir ausschließlich die (Custom) Events von Google Analytics nutzen und kein Page- oder Screen-Tracking wie man es von Websites oder Apps kennt.

Hier ein Code-Beispiel, wie die Integration funktioniert:

Im Endeffekt sind die zwei rot markierten Zeilen relevant. Zuerst erstellt man mit einem Aufruf von ua() – wobei UA steht für Universal Analytics steht – ein Visitor-Objekt, setzt dann ein paar Eigenschaften in Bezug auf den User, und mit visitor.event() sendet man schließlich das Ereignis zu Google.

Diesbezüglich ist es gut zu wissen, dass jedes Ereignis in Google Analytics vier verschiedene Eigenschaften haben kann:

Dies ist eine hierarchische Gliederung, d.h. Category ist die oberste Ebene. Jede Action gehört zu einer Category, usw. Dazu kann man beim User noch diverse Eigenschaften definieren, welche eine genauere Kategorisierung der User-Gruppen ermöglichen und somit die erhobenen Daten aufwerten: UserId (notwendig, das ist im Normalfall die ID des Users in der eigenen Datenbank, oder ein Hashcode), User Agent (ua, kann für die Unterscheidung nach Messenger-Plattform wie Facebook Messenger, WhatsApp, Viber, Telegram usw. genutzt werden), Locale (ul, Sprache der User), Country (geoid, falls vorhanden, hilft die User nach Land zu clustern), etc. Alle möglichen Parameter findet man hier: Measurement Protocol Parameter Reference.

Um es Entwicklern zu erleichtern, Google Analytics in ihre Chatbots zu integrieren, haben wir die chatbot-analytics Library für node.js entwickelt.

Jeder Bot ist anders – eigene Metriken definieren

Hat man erst mal die Technik so weit, geht es daran, Events zu definieren, über die man gewisse Metriken für seinen Chatbot messen will. Oft spricht man hier auch von KPIs, also Key Performance Indicators.

Hier ein Beispiel, wie die Kategorisierung aussehen kann:

Hierbei handelt es um einen News-Bot, der vor allem Nachrichten von sich aus aussendet, daher ist die Kategorie notification_outgoing stark ausgeprägt. Innerhalb der Kategorie würde man dann mit den Actions die ausgehende Nachrichten genauer definieren, also welche Art von Nachrichten an den User geschickt werden: etwa Daily Roundup oder Live News,

Google Analytics bringt auch einige Annehmlichkeiten mit sich. Hervorzuheben sind da vor allem, dass man eigene Dashboards definieren und sich periodisch (z.B. wöchentlich) Reports per E-Mail zuschicken lassen kann.

Welche KPIs sollte man bei Chatbots messen?

Wie schon erwähnt ist das individuell unterschiedlich und kommt sehr auf die Art sowie die Plattform des Bots an. Für einen News-Bot sind andere Kennzahlen relevant als beispielsweise für einen Sprach-Lern-Bot. Allerdings gibt es ein paar KPIs, die für so gut wie jeden Bot relevant sind:

Empfehlungen und Fazit

Bevor ihr also beginnt Analytics für eure Chatbot zu implementieren, sollten folgende Fragen beantwortet sein:

“Wie definiere ich “aktive” User? Werden nur die User die etwas schreiben als aktiv gezählt oder auch – wenn es z.B. ein News-Bot ist – die, die Nachrichten empfangen.”

“Welche Kennzahlen sind für das Unternehmen und damit letztlich auch für den Bot wichtig?”

Und ganz wichtig: Jeder Bot ist anders, es gibt kein Allheilmittel oder eine genaue Vorlage dafür. Das Thema Analytics soll daher aktiv “gelebt” werden und es gilt alle Mitarbeiter aus den Bereichen Marketing/Growth Hacking sowie IT diesbezüglich zu sensibilisieren. Dementsprechend sollte Analytics auch ein integraler Bestandteil der Software- und Chatbot Entwicklung sein (siehe chatbot-analytics Library). Und gerade wenn ihr Messenger Marketing – etwa im Sport-Bereich – betreibt, kommt ihr um die Analyse der Performance natürlich nicht herum.

Ich lege jedem ans Herz, verschiedene Chatbot Analytics Lösungen auszuprobieren, bevor man sich für eine entscheidet. Natürlich können auch verschiedene Lösungen gleichzeitig implementiert werden, um die besten Features der Tools zu nutzen. Zum Schluss bleibt noch darauf hinzuweisen, dass man aus Gründen des Datenschutzes (Stichwort GDPR, EU-DSGVO) bei der Übertragung persönlicher User-Daten vorsichtig sein sollte oder diese besser überhaupt vermeidet. Zudem bietet Google Analytics die Option, die Datenübertragung verschlüsselt per SSL durchzuführen, was ich auf alle Fälle empfehle.

Was ist deine Erfahrung mit Chatbot Analytics? Ich freue mich auf Feedback und Anregungen direkt hier in den Kommentaren oder über unser Kontaktformular. Um mit einem Zitat aus der Fußball-Welt abzuschließen: “Es wird langsam Zeit, daß wir Köpfe mit Nägeln machen“.

Tags: Analytics, botanalytics, Bots, Chatbase, Chatbot, Chatfuel, dashbot.io, Dialogflow, Entwickler, Facebook Messenger, Messenger, Messenger Marketing, node.js