eBay Relevance Ad mit Tags optimieren

Tagged:  •    •    •    •    •    •    •    •    •  

Der Online-Marktplatz eBay bietet in seinem Partnerprogramm das kontextsensitive Werbemittel eBay Relevance Ad an, dass Affiliates in ihre Websites einbinden können.

eBay Relevance Ad 2.0 kann über diverse Einstellungen von Affiliates angepasst werden, beispielsweise können Formate und Farben definiert werden. Zudem können Affiliates Einfluss auf die angezeigten Produkte nehmen, indem sie beim Erzeugen des Relevance Ad-Codes die Suche auf bestimmte Kategorien beschränken und Suchbegriffe festlegen.

Verzichtet man auf inhaltliche Anpassungen, werden beispielsweise Begriffe, die im Titel (title-Tag) der aktuellen Seite stehen, als Suchbegriffe verwendet, um passende Produkte anzuzeigen. In der Regel werden dadurch ganz gute Ergebnisse erzielt.

Content Management Systeme, die es ermöglichen Inhalte zu kategorisieren, bieten Affiliates zusätzliche Möglichkeiten die angezeigten Produkte auf die jeweilige Seite abzustimmen, ohne den Relevance Ad-Code manuell erzeugen zu müssen.

Mit folgendem Code-Beispiel zeige ich wie das Taxonomy-Modul des CMS Drupal im Zusammenspiel mit der PHPTemplate-Engine genutzt werden kann, um die Kategorien (Tags) der Inhalte als Suchbegriffe für Relevance Ad zu verwenden.

In der Template-Datei node.tpl.php kann auf die Kategorien/Tags des aktuellen Inhalts über die Variable $terms zugegriffen werden. Diese enthält eine Liste von HTML-Links zu den entsprechenden Tags.

Da für den Relevance Ad-Code nur der reine Text und nicht das HTML-Markup benötigt wird, muss der Inhalt dieser Variablen verarbeitet werden. Dazu kann eine Funktion in der Template-Datei template.php geschrieben werden, die folgendermaßen aussehen könnte. Die Funktionsweise des Codes wird anhand der Kommentare erkärt:

function meintheme_ebay_rel_add_tags($tags) {
  // HTML-Markup entfernen. $tags enthält danach
  // einen String mit durch Kommas getrennten
  // Begriffen
  $tags = strip_tags($tags);
  // Ein Array mit 6 Elementen aus dem Tag-String erstellen.
  // Enthielt der Tag-String mehr als 6 Begriffe, enthält das 6.
  // Elemente des Arrays ($tag_array) einen String mit mindestens
  // zwei durch Kommas getrennten Begriffen
  $tag_array = explode(', ', $tags, 6);
  // Da die Suchanfrage auf 5 Begriffe beschränkt werden soll
  // wird das letzte Element des Arrays gelöscht. Das Array enthält
  // nun genau fünf Elemente, in denen keine Kommas mehr vorkommen.
  unset($tag_array[5]);
  // Aus dem Array wird nun wieder ein String mit 5 Begriffen, die
  // durch das Zeichen | getrennt sind. Außerdem wird der String in
  // runde Klammern eingeschlossen. Der Inhalt der Varibalen
  // $tag_string könnte dann so aussehen:
  // (Begriff 1|Begriff 2|Begriff 3|Begriff 4|Begriff 5)
  // Auf diese Weise werden die Begriffe bei der Produktsuche
  // durch ODER verknüpft.
  $tag_string = '('. implode('|', $tag_array) . ')';

// Die Variable $rel_add_code enthält den kompletten Code
// für die Relevance Ad. Der JavaScript-Variablen era_query
// wird der Inhalt der Variablen $tag_string zugewiesen
$rel_add_code =<<<END
<div id="ebay-rel-ad-468x60">
<script type='text/javascript'>
// <!--<[CDATA[
era_width = '468';
era_height = '60';
era_layout = 'txt';
era_color_border = '222222';
era_color_bg = '000000';
era_color_text = 'eeeeee';
era_color_title = 'ffffff';
era_itemtype = '0';
era_category = '999999';
era_query = '$tag_string';
era_publisher='XXXXXX';
// ]]> -->
</script>
<script type='text/javascript' src='http://ebayrelevancead.webmasterplan.com/js/show_ads.js'></script>
</div>
END;

  // Damit der Drupal Admin-Benutzer überprüfen kann, welcher Suchstring
  // für die angezeigte Relevance Ad verwendet wurde, wird dieser nur für ihn
  // mit ausgegeben
  global $user;
  if ($user->uid == 1) {
    $rel_add_code .= $tag_string;
  }
  // Schließlich wird der Relevance Ad-Code zurückgegeben
  return $rel_add_code;
}

In der Datei node.tpl.php kann diese Funktion dann einfach an der gewünschten Stelle aufgerufen werden. Im Beispiel wird der Ad-Code nur in der vollständigen Ansicht des Inhalts angezeigt und wenn der Inhalt vom Typ blog oder story ist.

<?php if ($page != 0 && in_array($node->type, array('blog',story'))) {
  print meintheme_ebay_rel_add_tags($terms) ;
} ?>

Immer die ersten fünf Tags eines Inhalt zu verwenden, ist nicht unbedingt die optimale Lösung. Wer ein wenig mehr Aufwand in die Programmierung steckt, kann beispielsweise die weight-Eigenschaft, die in Drupal für Tags gesetzt werden kann, oder ein eigenes Vokabular für Suchbegriffe verwenden.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br>

More information about formatting options