Inhaltsverzeichnis:

Mit R einfach und automatisiert Facebook und Google Analytics Daten zusammenführen

Mit R einfach und automatisiert Facebook und Google Analytics Daten zusammenführen

Lesezeit: 12 Min | Autor: Randall Helms

Als moderner Online Marketer stehen die Chancen gut, dass Facebook Ads und Google Analytics einen wichtigen Bestandteil Deines täglich genutzten Toolsets ausmachen. Facebook als eine der führenden Plattformen für Digital Advertising ermöglicht es Werbetreibenden, sehr präzise Zielgruppen zu definieren und zu targeten, während Google Analytics das am häufigsten genutzte Analysetool für digitale Daten darstellt.

Die Daten der beiden Tools im täglichen Workflow auszuwerten und zu kombinieren, ist dabei nahezu Standard – Marketer schalten Anzeigen auf Facebook, um potenzielle Kunden auf die eigene Website oder in die App zu leiten und nutzen Google Analytics, um z.B. die Häufigkeit der erfolgreichen Weiterleitung oder das anschließende Nutzerverhalten auf der eigenen Website zu tracken. Ohne einen einfachen Weg, die Daten aus Facebook mit den Daten aus Google Analytics zu matchen (wie es mit GoogleAdWords der Fall ist), kann es mitunter knifflig werden, den Input (Facebook Ads) mit dem Output (Conversions, die in Analytics getrackt werden) zu verbinden und in Relation miteinander zu stellen. Daraus resultiert ein weiterer typischer Workflow, nämlich das manuelle Exportieren der Daten aus Facebook und aus Google Analytics, um diese anschließend in einem (meist selbst entwickelten) Excel Sheet oder ähnlichem Tool manuell zusammenzuführen.

de_marketing_analytics_flow

Den klassischen Workflow über Excel kenne ich nur zu gut aus den Anfangstagen meiner Laufbahn als Datenanalyst. Mit mittlerweile über 8 Jahren Erfahrung in diesem Bereich kann ich aus Überzeugung sagen, dass es nicht der beste Weg ist, um effizient zu arbeiten.

Zuallererst: Weil es ein unglaublich großer manueller Aufwand ist, besonders wenn man es täglich oder gar wöchentlich macht. Denn die gesamte Zeit, die Du damit verbringst, Daten per Hand in eine Excel Datei einzufügen, ist Zeit, die Du für wichtigere Aufgaben nutzen kannst.

Zweitens: Der manuelle Aufwand ist nicht besonders gut skalierbar. Wenn Du drei oder vier Kampagnen administrieren musst, ist es vielleicht nur zeitraubend, manuell Daten miteinander zu kombinieren. Die Sache entwickelt sich aber schnell zu einem wiederkehrenden Albtraum, wenn es in Richtung zweistelliger Kampagnen geht, die gleichzeitig überwacht und analysiert werden sollen.

Letztendlich und keinesfalls zu vernachlässigen: Excel Spreadsheets leiden chronisch an Fehlern, die aufgrund ihres Formats und ihrer Größe nur äußerst schwer zu finden sind. Einer Studie von Professor Ray Panko an der Universität von Hawaii zufolge sind über 88% der verwendeten Dateien fehlerhaft. Dabei kann bereits ein einzelner kleiner Fehler in einer Zelle einen Dominoeffekt auslösen, der die Daten in hunderten oder tausenden weiteren Zellen verfälscht und die Analyse im schlimmsten Fall unbrauchbar macht.

Natürlich haben Excel Sheets ihre Daseinsberechtigung, vor allem dann, wenn es um das Sammeln und Verteilen von Informationen geht. Sobald es aber an wirklich kritische oder sensible Aufgaben geht, wie das Errechnen des Return on Invest einer Marketingkampagne, sollte man sich auf mehr verlassen, als die Daumen zu drücken und auf ein bisschen Excel Voodoo zu hoffen, um verschiedene Datenquellen fehlerfrei zusammenzuführen.

Effizienter, präziser, einfacher mit R

Zum Glück gibt es eine wirklich gute Alternative, um das Fehlerrisiko zu minimieren, den zeitlichen Aufwand für wiederkehrende, tägliche Tasks deutlich zu reduzieren und die gesammelten Daten auch für andere Zwecke zu verwenden. Im Kern werden Deine Daten programmatisch über APIs abgerufen und mit etwas Code so zusammengefügt, dass Du für diese Aufgabe nie wieder Excel zweckentfremden musst. Im Rahmen dieses Artikels verwenden wir R, es ist aber durchaus möglich, eine solche Datenkonsolidierung mit Python zu realisieren, welche neben R die zweite geläufige Programmiersprache im Bereich Datenanalyse ist.

Wenn Du noch nie von R gehört oder gelesen hast, kannst Du dir hier einen kleinen Überblick über die Möglichkeiten verschaffen. Ein etwas komplexerer Lösungsansatz kann natürlich auch sein, Daten aus Facebook und Google Analytics nicht nur über R zusammenzufügen, sondern in einer Dashboard-Lösung wie Tableau oder Qlik zu visualisieren. Du könntest sogar noch einen Schritt weiter gehen und direkt Daten aus anderen Quellen wie Deinem CMS oder weiteren Ad-Plattformen integrieren. Ein sehr guter Ansatz, aber für Einsteiger schwer zu realisieren. Deshalb konzentrieren wir uns in diesem Artikel erst mal auf eine Lösung, die einfach zu verstehen und umzusetzen ist:

Solltest Du wenig oder gar keine Erfahrung im Coden haben: Keine Sorge! Ich habe Dir für dieses How-to alle benötigten Elemente in einem Paket zusammengestellt, außerdem ist es ohne Probleme möglich, sich die benötigten Skills anzueignen. Wichtig ist nur, dass Du Zugriff auf die Daten Deiner Facebook ADs Kampagnen und den Google Analytics Account hast. Bei allen folgenden Schritten nehme ich Dich an die Hand und führe Dich durch den kompletten Prozess, um an die Trüffel Deiner Daten zu kommen.

Und los geht’s:

  1. Lade die Daten der Facebook Ads API herunter
  2. Transformiere sie in eine Google Analytics kompatible CSV
  3. Lade die Datei in Google Analytics als eine Custom Data-Quelle hoch

Hinweis:

Das setzt voraus, dass Du Deine Facebook Kampagnen mit UTM Parametern tagst. Wenn Du bislang keine UTM Parameter für das Tracking Deiner Marketingkampagnen in Google Analytics nutzt (und warum solltest Du das nicht tun?), erhältst du in diesem Artikel eine gute Übersicht darüber, was UTMs sind und wie Du sie effektiv einsetzen kannst.

Wichtig: Solltest Du keine UTM Parameter einsetzen, wird es nicht möglich sein, die Daten der Facebook Ads in Google Analytics zu integrieren.

Um Deine URLs zu vertaggen, schau Dir den Google URL Builder an oder nutze einfach die campaign_url-Funktion in unserem R-Package.

Hier ist ein Beispiel, wie Du eine URL mit der campaign_url-Funktion vertaggen kannst und wie Deine URL im Anschluss aussieht (kein Stress, das kannst Du Dir auch später noch anschauen).

omt logo

url <- campaign_url(‘https://deineseite.de‘, ‘facebook’, ‘cpc’, ‘test_kampagne_1’)

#”https://deineseite.de/?utm_source=facebook&utm_medium=cpc&utm_campaign=test_kampagne_1″

Beachte bitte folgendes: Im campaign_builder-Tool ist es zwar erlaubt, das utm_medium nicht zu berücksichtigen, es wird aber zwingend für einen sauberen Import in Google Analytics benötigt. Aus diesem Grund ist es in der von mir geschriebenen R-Funktion obligatorisch. Um es weiterhin einfach zu halten, habe ich die Möglichkeit, utm_term und content an Deine URL zu hängen, erstmal weggelassen. Solltest Du jedoch nicht darauf verzichten wollen, helfen wir Dir gerne bei der Umsetzung.

Kurze Zusammenfassung der nötigen Prozesse:

Mit RStudio die richtige Basis schaffen

Das Setup für R ist wirklich einfach – hier sind die ersten Schritte:

  • Installiere R
    • Für Windows klicke hier
      de_r_windows
    • Für Mac klicke hier
      de_r_mac
omt logo
install.packages(“devtools”)

Wenn Du Dir nicht sicher bist, was Du zu tun hast, hilft Dir dieser Screenshot weiter:

de_rstudio_blank_environment

Eine umfangreiche Anleitung zum Installieren von R findest Du außerdem in diesem Guide.

Im nächsten Schritt lädst Du unser fb2ga_package herunter, welches alle Funktionen beinhaltet, die in diesem Artikel besprochen werden und zusätzlich automatisch alle Packages installiert, die mit unserem in Verbindung stehen. Im Grunde nutzt mein Code auch Funktionen aus anderen Packages, die nicht Teil des automatischen bzw. Basis-Setups von R sind.

Wir stellen also sicher, dass du von Anfang an alle relevanten Packages auf Deinem Rechner hast.

Wir haben unser Package zur freien Verfügung in einem Github Repository platziert, sodass es mit den folgenden Befehlen ganz einfach abgerufen werden kann.

omt logo
devtools:install_github(‘neugelb/fb2ga’)

library(fb2ga)

Facebook ADs Daten herunterladen

Als nächstes exportieren wir die Daten Deiner Facebook ADs Kampagnen.

Du benötigst nur wenige Schritte in Deinem Facebook Account, um an die Daten zu gelangen:

  1. Registriere Deine Marketing API über  https://developers.facebook.com
  2. Hol dir Deine AD Account ID über das APP Dashboard
    1. Klicke oben rechts im Dashboard auf “See all Apps”
    2. Klicke auf Deine App
  3. Füge die Marketing API zu Deinem APP Dashboard hinzu (Du findest sie bei “Products” auf der linken Seite – siehe Screenshot)
    de_fb_ads_dashboard
  4. Hol Dir einen Access Token für den Graph API Explorer

Zur Erinnerung, Du benötigst bis hier die folgenden Informationen von Facebook, um unseren R-Code zum Laufen zu bringen.

  • Deine AD Account ID
  • Deinen Token

Wenn sich das fbRAds-Package nicht installieren lässt, nachdem Du unser fb2ga-Package bereits installiert hast, solltest Du das Package direkt aus Github installieren:

omt logo
devtools::install_github(‘daroczig/fbRads’)

So weit, so gut!

Im nächsten Schritt schnappen wir uns die Daten aus Facebook. In unserem Package findest Du dazu eine Funktion, die sich fb_ads_builder nennt. Diese fungiert als Container für einige der fbRAds-Funktionen und erlaubt es uns, Daten täglich und für bestimmte Zeiträume zu sammeln.

Willst Du zum Beispiel Deine Daten im Zeitraum von 22. bis 25. März 2019 auswerten, wäre der entsprechende Code wie folgt:

omt logo

ad_account_id <- ‘Füge hier deinen Account ID hinzu’
fb_token <- ‚Füge hier deinen FB Token hinzu‘

fb_ads <- fbads_builder(ad_account_id,fb_token,’2019-03-22′,’2019-03-25′)

Klickst Du nun in RStudio (wie im Screenshot) auf den Tab im oberen rechten Eck, werden Dir alle Daten Deines Facebook Ads Kontos angezeigt.

de_rstudio_fbads_view

Du hast nun für jede Kampagne innerhalb Deines Zeitraums die entsprechenden Metriken verfügbar, übersichtlich und an einem Platz – sehr hilfreich, oder?

In diesem Artikel kann ich aus Platzgründen nicht noch auf Themen wie das Filtern von Daten eingehen, wenn Du Dich aber damit auseinandersetzen möchtest, empfehle ich Dir, einen Blick auf das dplyr-Package zu werfen. In der offiziellen Dokumentation und in diesem sehr nützlichen Cheat Sheet bekommst Du einen Überblick, was alles möglich ist.

Weiter gehts! Du musst nun entscheiden, wie Du mit Deinen Daten arbeiten möchtest. Willst Du die Daten direkt in Google Analytics importieren oder möchtest Du die Facebook Daten erst mit denen aus Google Analytics in Google Sheets zusammenlegen, um sie dann über ein Dashboard-Tool wie Tableau oder Looker auszuwerten?

Wir werden uns in diesem Artikel für ein schnelles Ergebnis mit dem direkten Import in Google Analytics befassen. Wenn Du jetzt auf den Geschmack gekommen bist und quasi die Premiumversion über einen 3rd-Party Service ausprobieren möchtest, schau auf unserer Website vorbei und melde Dich bei uns. Wir helfen Dir gerne!

Daten in Google Analytics importieren

Lass uns im Prozess weitermachen und die Daten in Google Analytics pushen. Als erstes erstellst Du ein Datenimport Projekt über die Google Analytics Benutzeroberfläche. Achte darauf, dass Du einen cost data Import aufsetzt.

de_ga_import

Im Anschluss wählst Du die gewünschte Ansicht, die Dein Datenimport haben soll:

de_ga_import_view_choice

Dann definierst Du das Schema, nach dem Dein Import erstellt werden soll. Das sieht dann in etwa so aus:

de_ga_import_schema

Du musst nicht, wie erwähnt, zwingend eine Kampagne definieren, aber wir empfehlen es ausdrücklich.

Beachte, dass Dir auch ein vordefiniertes Schema angeboten wird, mit dem Deine Daten erfolgreich importiert werden können. Solltest Du kein eigenes Schema definieren wollen, kannst Du außerdem auch auf eine von mir vorgegebene Variante zurückgreifen, um die Daten in Google Analytics zu importieren.

Wir sind soweit, Deine aus Facebook exportierten Daten aufzubereiten. Du kannst dazu das folgende Skript verwenden:

omt logo

medium <- ‘Dein Medium wie beispielsweise cpc’
source <- ‘facebook’

fb_ads2 <- fb_ads_ga_format(fb_ads,medium,source)

Wirf erneut einen Blick auf Deine Daten. Du wirst feststellen, dass sie genau dem Schema entsprechen, das Du vorher im Google Analytics Setup festgelegt hast. Easy!

Du kannst nun Deine Daten direkt in Google Analytics importieren, indem du die Upload-Funktion aus dem fb_ads_ga-Package verwendest. Ich habe versucht, das so nutzerfreundlich wie möglich zu gestalten, indem du entweder die Dataset ID oder den Dataset Namen verwenden kannst. Du musst Dich also nicht an Deine Account ID erinnern.

Im nachfolgenden Beispiel habe ich Dataset Name verwendet:

omt logo
fb_ads_ga_upload(fb_ads2,property_id,dataset_id=NULL,dataset_name=’FB Kostendaten’)

Fertig!

Die Daten Deiner Facebook Kampagne in Google Analytics

Um Dir Deine Daten nun in Google Analytics anschauen zu können, klicke auf Acquisition und im Anschluss auf Cost Analysis. Du bekommst alle Daten zusammengefasst auf einen Blick angezeigt.

Hier ein Beispiel:

de_ga_data_import_results

Um noch einen Schritt weiter zu gehen, kannst Du außerdem Custom Reports erstellen, die sich auf Deine Cost Data beziehen.

Das wars! 🙂 Du kannst diesen Prozess täglich über die Console des RStudio laufen lassen. Hier noch einmal zusammengefasst die benötigten Befehle:

omt logo

library(fb2ga)

#get fb data

fb_ads <- fbads_builder(ad_account_id,fb_token,start_date,end_date)

#format for upload

fb_ads2 <- fb_ads_ga_format(fb_ads,medium,source)

#upload

fb_ads_ga_upload(fb_ads2,property_id,dataset_id)

Kein lästiges Herumgefummel an Datenexporten, kein Excel Voodoo! Einmal aufsetzen und mit wenigen Klicks über die Performance Deiner Kampagnen informiert sein.

victory

Möchtest Du das Thema vertiefen oder hast Du Fragen und Anmerkungen? Melde Dich bei unserem Team oder schreib uns über Facebook und Instagram. Wir freuen uns sehr auf den Austausch mit Dir und wollen natürlich wissen, ob die Anleitung für Dich hilfreich war und wie Dein Reporting ohne Excel läuft.