Willkommen im DAIR Media Blog!

Unser Blog ist umgezogen. Sie finden alle aktuellen Beiträge unter: www.dair-media.net/blog/

Freitag, 24. Juli 2015

Labels in Accounts mit AdWords Script erstellen

Beim Verwalten von AdWords Account sind Labels ein sehr nützliches Hilfsmittel, um elemente wie Kampagnen, Anzeigengruppen, Anzeigen oder Keywords zu markieren, diese zu filtern oder entsprechende Berichte und andere Aktionen an mit Labels markierten Elementen auszuführen. Ein paar gute Beispiele für die Verwendung von Labels liefert Sascha Schmitz in seinem Blog.

Meistens werden immer wieder die gleichen Labels verwendet. Wer nun anfängt, in einem neuen AdWords Account zu arbeiten, muss alle Labels neu erstellen. Je nach Anzahl der Labels wird dies schnell mühselig. Der neue AdWords Editor (ab Version 11.1.2) schafft etwas Erleichterung, denn hier können Labels zwischen den Accounts kopiert werden. Allerdings muss hier immer noch jedes Acocunt einzeln aufgemacht und die Labels dann eingefügt werden. Schneller und flexibler funktioniert es mit einem AdWords Script.



Der Script ist ganz einfach zu handhaben: Ihr definiert die Labels, also Namen, ggf. Farbe und Beschreibung, und lässt den Script laufen. Dies funktioniert sowohl in einem Account als auch aus einem MCC heraus für mehrere verwaltete Account. In diesem Fall müssen nur die IDs der betroffenen Accounts und die Option für MCC-Nutzung auf 'true' gesetzt weden. Im Script-Code ist eine ausführliche Beschreibung nochmal enthalten.



/********************************************************************
* Account and MCC AdWords Script 'Label Creator'
* 
* @version: 1.1 - 2015-07-23
* @author: Alexander Gut | DAIR-Media.net
* 
* This Script creates set of labels for an AdWords Account.
* 
* Define labels to create in the AdWords account and run the script.
* Use JSON notation to define the labels array an use this notation:
*
* 'LABEL-NAME' : {'color': 'LABEL-COLOR', 'descr': 'LABEL-DESCRIPTION'}
*
* You can use these values:
* 
* LABEL-NAME: The name of the new Label. Label names are case sensitive
* and must be unique. Max length is 100 characters.
*
* LABEL-COLOR: (optional) The background color of the new label.
* The color must be specified in either RGB form (#RRGGBB or #RGB),
* or one of the 16 basic CSS color names:
* http://www.w3.org/TR/css3-color/#html4
*
* LABEL-DESCRIPTION: (optional) The description of the new label.
* If not specified, the description will be empty. Max length is
* 200 characters.
* 
* Please note: array keys 'color' and 'descr' schould not be changed.
* You can set default values for color and description for all labels.
*
*
* CHANGELOG:
* v1.1 - add optional MCC functionality to be able to create
*        new lables in multiple managed accounts at the same time
* v1.0 - initial release
*
********************************************************************/

var LABELS = {
   'watch': {'color': '#cc33cc'}, 
   'Brand': {'color': '#33cc00'},
   'Non-Brand': {'color': '#00cccc'},
   'deactivated': {'color': '#999999'},
   'paused': {'color': '#c0c0c0'}
   };

var LABELS_DEFAULT_COLOR = '';
var LABELS_DEFAULT_DESCR = '';


var USE_AS_MCC_SCRIPT = false;
var ACCOUNT_IDS = []; // array of strings with managed Account-IDs, e.g. ['111-111-1111', '222-222-2222']

function main() {

 if (USE_AS_MCC_SCRIPT && ACCOUNT_IDS.length > 0){
  var mccAccount = AdWordsApp.currentAccount();
  var accountIterator = MccApp.accounts().withIds(ACCOUNT_IDS).get();

  while (accountIterator.hasNext()) {
   var account = accountIterator.next();
   MccApp.select(account);
   Logger.log('START processing account %s', account.getCustomerId());
   createLabels();
   Logger.log('DONE processing account %s', account.getCustomerId());
  }
 }
 else {
  createLabels();
 }
 
}

function createLabels(){
 for (var lbl in LABELS){
  var newLabelName = lbl;
  var newLabelColor = LABELS[lbl]['color'] || LABELS_DEFAULT_COLOR;
  var newLabelDescr = LABELS[lbl]['descr'] || LABELS_DEFAULT_DESCR;
  
  // Try to get label first to prevent exception createing the same label name.
  var labelIterator = AdWordsApp.labels().withCondition("Name = '" + newLabelName + "'").get();
  if(!labelIterator.hasNext()){
   if (!AdWordsApp.getExecutionInfo().isPreview()) { // dont't really create label if script is in preview mode
    AdWordsApp.createLabel(newLabelName, newLabelDescr, newLabelColor);
   }
   Logger.log("New Label '" + newLabelName + "' with color '" + newLabelColor + "' and description '" + newLabelDescr + "' have been created.");
  }
  else{
   Logger.log("Label '" + newLabelName + "' was already in account.");
  } 
 }
}



Fragen zu diesem AdWords Script oder Verbesserungsvorschläge? Einfach unsere AdWords Agentur kontaktieren oder hier in Kommentaren posten. Wir freuen uns auf Feedback.

Montag, 22. Juni 2015

Tracking von YouTube Video Events mit Google Analytics


Motivation für YouTube Video Tracking in Google Analytics

Oft werden Videos in die eigene Website eingebettet, welche auf YouTube gehostet sind. Die Video-Plattform selbst bietet bereits eine eigene Lösung für die Analyse der Videos: YouTube Anayltics liefert u.a. Daten zu Wiedergabezeiten, Zugriffsquellen etc. Dies gilt allerdings für alle Aufrufe der Videos, auch die, die direkt auf YouTube stattfinden. Für die Analyse des Besucherverhaltens auf der eigenen Website ist es interessant zu wissen, ob bzw. wie oft ein Video angeschaut wurde. Dafür können folgende Ereignisse definiert werden: „Play“, „Pause“, „Complete“. Bei Bedarf können auch zusätzliche Ereignisse im Video definiert werden können – hat der Besucher das Video bis zu einer bestimmten Stelle angeschaut, z.B. bis 40 Prozent, soll diese Information ebenfalls gespeichert werden.

Wird auf der Website Google Analytics für die Webanalyse verwendet, lassen sich all diese Ereignisse hier speichern. Die jeweiligen Besucher-Interaktionen können als Events an Google Analytics gesendet werden.


Voraussetzungen

Im Folgenden wird eine Lösung für die Event-Übermittlung mit Hilfe von einem zusätzlichen JavaScript beschrieben. Damit dies funktioniert, müssen folgende Voraussetzungen erfüllt werden:
  • Auf der Website ist Google Analytics eingebunden. Idealerweise wird die aktuell empfohlene „Universal Analytics“[3] Variante eingesetzt.
  • Die Videos müssen über YouTube eingebunden werden, nicht über Drittanbieter-Plugins oder -Dienste.

Der Script erfordert keine zusätzlichen JavaScript Frameworks (z.B. jQuery), funktioniert jedoch auch, wenn diese auf der Website vorhanden sind.

Implementierung

Für das YouTube Tracking in Google Analytics verwenden wir den „LunaMetrics YouTube Tracking Script“. Dieser Script kann in GitHub Repository von Lunametrics unter https://github.com/lunametrics/youtube-google-analytics heruntergeladen werden. Diese Anleitung und die zugehörigen Tests basieren auf der Version 7 des Scripts. Der Script steht unter Creative Commons 4.0 International Public License.

Installation

Im Folgenden wird die „Standard“-Installation des Scripts durch einfügen von JavaScript Code in die Website beschrieben. Sofern der Google TagManager verwendet wird, kann der Script auch damit implementiert werden. Eine genaue Anleitung dazu liefert die Readme-Datei in der o.g. GitHub Repository.

Zusammenspiel mit anderen Scripts und Google Analytics

Der „LunaMetrics YouTube Tracking Script“ (im Folgenden „LMYTTS“) ist so konzipiert, dass dieser direkt eingesetzt werden kann. Er funktioniert auch mit anderen JavaScripts, die auf die YouTube IFrame API zugreifen, solange der LMYTTS nach diesen Scripts in den Quellcode der Website integriert wird.
Der Script erkennt auch automatisch, ob der klassische Google Analytics Code oder Universal Analytics eingesetzt wird und verwendet den entsprechenden Code, um die Ereignis-Daten an Analytics zu übermitteln. Bei Bedarf kann das Verwenden einer bestimmten Tracking-Variante auch über die Konfiguration erzwungen werden (wird hier nicht genauer behandelt).

Integration des Scripts in die Website

  1. Laden Sie den Code des LMYTTS aus der GitHub Repository (s.o.) und legen Sie es auf dem Webserver ab.
  2. Auf allen Webseiten, die ein YouTube-Video beinhalten, binden Sie den Script mit folgendem Code ein:  
<script src="/path/on/server/lunametrics-youtube-v7.gtm.min.js"></script>

Das war es!

Abschnitt-Tracking

Bei Bedarf kann mit dem LMYTTS auch das Anschauen des Videos bis zu einem bestimmten Abschnitt an Analytics gemeldet werden. Dazu muss der JavaScript Code des LMYTTS angepasst werden. Die letzte Zeile im LMYTTS

(document,window,"OPT_CONFIG_OBJ");


soll wie folgt ersetzt werden:
(document,window,{'percentageTracking': 20});

Damit wird das Ereignis-Tracking nach Abspielen der entsprechenden Abschnitte des Videos ausgelöst, in diesem Beispiel jeweils nach abgespielten 20%, d.h. nach 20%, 40%, 60% und 80%.


Haben Sie Fragen zu Web Analytics und Optimierung Ihrer Website? Wir helfen Ihnen gerne.


Montag, 15. Juni 2015

AdWords URL Umstellung -

In Februar hat Google die so genannten "Upgraded URLs" (Deutsch: "umgestellte URLs") angekündigt. Die Idee dahinter: Nutzer, die Tracking-URLs verwenden, sollen diese künftig einfacher verwalten und anpassen können. Statt einer einzigen Ziel-URL, die bisher bei Anzeigen und Keywords vergeben werden konnte, unterscheidet Google AdWords künftig zwischen der finalen URL ("Final URL"), also der eigentlichen Zielseite, und den Tracking-Informationen in Form von einer Tracking-vorlage ("Tracking Template") und Tracking-Parameter.

Final URL in Anzeigen (Bild: Google)


Die Vorteile der neuen URL-Aufteilung:
  • Der Aufwand beim Verwalten der Tracking-Parameter wird deutlich geringer. Denn die Tracking-Vorlagen und Tracking-Parameter können auf Anzeigengruppen-Ebene, auf Kampagnen-Ebene oder auch auf Account-Ebene definiert werden.
  • Ändern sich die Tracking-Parameter, wird die eigentliche Ziel-URL, welche nun "Final URL" heißt, nicht geändert. Damit gibt es bei solchen Änderungen auch keine Unterbrechung bei der Anzeigenschaltung und bei den Statistiken.

Wichtig dabei: Alle AdWords Account sollen zum 1. Juli 2015 umgestellt werden! Dann wird das bisherige Feld "ZielURL" nicht mehr verwendet. Stattdessen soll "Final URL"genutzt werden.

Wer keine Drittanbieter-Tools für Tracking oder Bid-Management verwendet, kann aufatmen. Denn Google stellt die Anzeigen, die Sitelinks und die Keywords, für die eigene Ziel-URLs hinterlegt wurden, automatisch um. Dennoch empfiehlt es sich, die Umstellung zu kontrollieren und diese ggf. sogar vorher manuell durchzuführen. Im einfachsten Fall bedeutet dies:

Verwenden Sie für Ihre Anzeigen zum Beispiel die Ziel-URL http://www.meinewebsite.de/landing-page/ können Sie diese einfach als "Final-URL" übernehmen.

Wenn Sie noch einen (oder mehrere) zusätzliche Parameter zum Beispiel für die Kampagnen-Kennziechnung einsetzen, z.B. http://www.meinewebsite.de/landing-page/?campaign=test dann lässt sich das in einem Tracking-Parameter campaign=test festhalten. Mit einer Tracking-Vorlage definieren Sie dann, wie Google dies alles zusammensetzen soll:

  1. Final-URL: http://www.meinewebsite.de/landing-page/
  2. Tracking-Parameter:  campaign=test
  3. Tracking-Vorlage:  {lpurl}&campaign={_campaign}
So sieht es dann aus:
Neue AdWords Anzeige mit Tracking-Parameter
Müssen dann die Tracking-Parameter geändert werden, werden auch nur diese und ggf. die Tracking-Vorlage bearbeitet. Die Final URL bleibt unverändert. Damit muss die Anzeige selbst nicht von Google neu überprüft werden und es wird auch keine neue Anzeige erstellt, so dass Sie keine Statistiken der Anzeige verlieren.

Wie Sie Tracking und Weiterleitungen in den URL-Optionen verwalten, erklärt Google in einem Hilfe-Artikel.

Insbesondere wer mit Tracking-URLs und -Tools arbeitet, sollte bereits vorher die Hand anlegen und die URL-Umstellung am Besten selbst durchführen. Beachten Sie bitte, dass die Umstellung alle Elemente betrifft, bei denen eine Ziel-URL definiert werden kann, also neben Anzeigen auch Keywords und Sitelinks.


Die aktuelle Version des AdWords Editors ist bereits für die Umstellung vorbereitet und hat einige Hilfreiche Funktionen, um die URLs umzustellen.

Bei Fragen zu der AdWords URL Umstellung hilft Ihnen auch Ihre AdWords Agentur gerne.