Vorheriger Artikel Nächster Artikel

So funktioniert’s: Affiliate-Daten per API mit dem Content verschmelzen

Die Nutzung von Affiliate-Programmen und -Netzwerken gehört für viele Webseiten- und Portalbetreiber bereits zum Alltag. Grafisch vorgefertigte Werbemittel, Karusell- und Deeplink-Generatoren gehören zu den meist genutzten Funktionen. Jedoch bieten die APIs ein größeres (bisher selten genutztes) Potenzial.

So funktioniert’s: Affiliate-Daten per API mit dem Content verschmelzen
© ristaumedia.de - Fotolia.com

Für viele Webseiten- und Portal-Betreiber ist das ein wichtiges Instrument zur Monetarisierung. Dabei bindet der Betreiber über Partner-Programme zu seinem Content passende Werbemittel in die Webseite ein. Das sind oft standardisierte Formate in Bild- oder Textform. Hier hat man dann allerdings mit der so genannten Banner-Blindness zu kämpfen, d.h. erfahrende Internetnutzer ignorieren diese standardisierten Formate.

Erfolgsversprechender scheint die Empfehlung von Produkten in Artikelform. Dabei wird über das Produkt in einem Text-Review berichtet und an entsprechenden Stellen im Text ein Deeplink gesetzt. Diese Art des Affiliate-Marketings ist jedoch aufwändig.

Eine aus meiner Sicht effektivere Form des Affiliate-Marketings ist es, Affiliate-Produktdaten über APIs (Application Programming Interface) einzubinden. Dazu halten einige Affiliate-Angebote, wie z.B. Amazon, Schnittstellen für verschiedene Programmiersprachen bereit, mit denen man auf Produktdaten zugreifen kann. Diese Schnittstellen ermöglichen den Zugriff auf wesentlich mehr Produktinformationen. Zudem lässt sich individuell und mehrstufig beeinflussen, wie Produktdaten auf der Webseite angezeigt werden. Nicht zuletzt ist der redaktionelle Aufwand sehr gering, da die Daten automatisch und aktuell über die ausgelesen werden. Wie das Ganze im Detail aussehen kann, zeige ich am Beispiel einer Buch-Integration.

Amazon Buchempfehlungen unter Verwendung der Amazon API

Zunächst wird ein Account beim Amazon-Partner-Programm benötigt. Die Anmeldung ist unter partnernet.amazon.de. Nach erfolgreicher Anmeldung beantragt man die Freischaltung der Product Advertising API.

Bevor man es implementiert, sollte man beachten, dass Amazon in der Dokumentation beschreibt, wie ein Zugriff auf die Daten zu erfolgen hat. Dabei sind folgende Punkte von besonderer Bedeutung:

  1. Man benötigt einen Private und Public Key
  2. Es muss ein signierter Aufruf erfolgen
  3. Die Anzahl der API-Zugriffe ist beschränkt

Das Schlüsselpaar stellt Amazon aus. Der signierte Aufruf lässt sich anhand der Dokumentation von Amazon realisieren oder unter Verwendung bereits vorhandener Skripte. Ich nutze dazu die Lösung AWS Signed Query von Ulrich Mierendorff. Um die Anzahl der Zugriffe gering zu halten, empfiehlt es sich, einen Caching-Mechanismus zu implementieren. Dazu lässt sich bspw. der PEAR Cache nutzen. Für PHP kann die Implementierung wie folgt aussehen:

<?php
 #include Pfad für die PEAR-Installation setzen
 ini_set("include_path",  Pfad_zur_PEAR_Installation"/_PEAR/PEAR". PATH_SEPARATOR . ini_get("include_path") );

#PEAR Cache
 require_once 'Cache/Output.php';

#Function aws_signed_query von Ulrich Mierendorff
 require_once 'Pfad_zum_Script/aws_signed_query.php';
 ?>

 

Nachdem alle notwendigen Skripte „geladen“ wurden, kann nun der eigentliche API-Aufruf erfolgen. Dabei wird zwischen ItemSearch und ItemLookup unterschieden. ItemLookup ermöglicht den Zugriff auf ein bestimmtes Produkt von Amazon unter Verwendung der ASIN (Amazon Standard Identification Number). Um den API-Aufruf später einfacher zu nutzen, wird er als Funktion umgesetzt.

<?php
 function getAmazonBookPropertiesByAsin($asin){

$public_key = "xxxxxxxxxxxxxx";
 $private_key = " xxxxxxxxxxxxxx ";

#PEAR File Caching
 $opts = array('cache_dir' => 'Pfad_zum_CacheDir/_cache/');
 $cache = new Cache_Output('file', $opts);
 $cache->fileLocking=true;
 $id = $cache->generateID($asin);

#Pruefung ob Object bereits im Cache
 if(!$pxml = $cache->start($id)){

#Amazon API Aufruf fuer deutschen Amazon Store und allen Produktinformationen (ResponseGroup=Large), sowie Publisher ID (AssociateTag) fuer Umsatzverguetung
 $pxml = aws_signed_request("de", array("Operation"=>"ItemLookup","ItemId"=>$asin,"AssociateTag"=>"xxxxxxxxx","ResponseGroup"=>"Large"), $public_key, $private_key);

$cache->endPrint(86400);

}

if ($pxml === False){

echo "Did not work.\n";

}

else{

$book = array();
 $book['title']  = (string) $pxml->Items->Item->ItemAttributes->Title;
 $book['image']   = (string) $pxml->Items->Item->ImageSets->ImageSet->SmallImage->URL;
 $book['author']  = (string) $pxml->Items->Item->ItemAttributes->Author;
 $book['url']  = (string) $pxml->Items->Item->DetailPageURL;
 $book['listprice']   = (string) $pxml->Items->Item->ItemAttributes->ListPrice->FormattedPrice;

return $book;

}

}

?>

 

Mit diesem Funktionsaufruf lassen sich nun die verschiedenen Daten zu einem Buch direkt in die Webseite integrieren und grafisch an die Webseite anpassen. Um bspw. ein kleines Buchcover, den Autor, den Buchtitel und den Preis auszugeben und direkt mit dem Amazon Store zu verlinken, ist folgende Vorgehensweise möglich:

<?php

echo "<h2>Literatur-Tipp</h2>\n";
 echo "<a href=\"".$book_details['url']."\"><img title=\"Details zu:".$book_details['title']."\" src=\"".$book_details['image']."\" border=\"0\" alt=\"".$book_details['title']."\"/></a>\n";
 echo "<span class=\"relatedAuthor\">".utf8_decode($book_details['author'])."</span><br/>\n";
 echo "<strong class=\"book\">".$book_details['title']."</strong><br/>\n";
 echo "<strong class=\"bookPrice\">".$book_details['listprice']."</strong> <a href=\"".$book_details['url']."\">Weitere Details</a>\n";

?>

 

Das Resultat könnte dann wie auf dem Screenshot dargestellt aussehen:

Literatur-Tipp über Amazon API auf free-mac-software.com

Statt den „Literatur-Tipp“ direkt mit der Amazon Webseite zu verlinken, ist auch die Weiterleitung auf eine „Buch-Detailseite“ denkbar. Auf dieser könnten dann weitere Informationen dargestellt und wiederum mit zusätzlichem Content verknüpft werden. Somit ließe sich auch ein Shop abseits der Shop-Widgets abbilden, der mehr Flexibilität erlaubt und mit weiterem Content angereichert werden könnte.

Buchdetailseite über Amazon API auf free-mac-software.com

Diese Beispiele lassen sich noch beliebig erweitern, indem über die Amazon API auch Warenkorb- und Wunschlisten-Funktionen genutzt würden.

Neben Amazon bieten eine Reihe weitere Partner-Programme ebenfalls solche APIs, wodurch vielfältige Produktdaten und Integrationsmöglichkeiten zur Verfügung stehen.

Über den Gastautor

Andreas Witt ist wissenschaftlicher Mitarbeiter an der Fachhochschule Brandenburg, unter dem Stichwort WebManagement als selbstständiger Projekt-Manager (www.andreas-witt.net) tätig und Betreiber des Portals Free Mac Software. Außerdem engagiert er sich als Mitglied im webEdition e.V. bei der Weiterentwicklung des Open Source CMS webEdition.

Bildnachweis für die Newsübersicht: © ristaumedia.de - Fotolia.com

NEU: Lass dir diesen Artikel vorlesen
Ein Service von t3n, in Kooperation mit Narando.
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
5 Antworten
  1. von micha am 25.03.2011 (10:38 Uhr)

    Gestern erst habe ich eine Suche mittels ProductAdvertising API realisiert, früher habe ich auch alles direkt über die API gemacht, allerdings gibt es dafür sehr gute Abstraktionen! Ich habe eine PHP Abstraktion verwendet, sollte sich jeder der mit der API was machen will mal angucken:
    https://github.com/Exeu/Amazon-ECS-PHP-Library

    Antworten Teilen
  2. von Andreas Witt am 25.03.2011 (11:03 Uhr)

    @micha: Du hast vollkommen recht, es gibt bereits einige Libraries, die das Nutzen der APIs vereinfachen und ich habe mich im Artikel auch einer bedient. Dennoch wollte ich zeigen, was zu beachten ist, wenn die Implementierung ohne weitere Libraries erfolgt ... die von dir erwähnte, kannte ich bisher noch nicht. Guter Tipp!

    Antworten Teilen
  3. von Andreas Witt am 20.06.2011 (14:45 Uhr)

    @ Andreas Kurzhals: Die Einnahmen versteuere selbstverständlich bei meinem Finanzamt.

    Antworten Teilen
  4. von Tilo am 05.02.2012 (23:43 Uhr)

    Wie ich sehe, hast du auch ein Problem mit der Datumsangabe bei Amazon :D Im letzten Screenschot "FreeMind Kompakt" steht bei Tag "00". Als PHP & Api Anfänger musste ich mich auch länger damit rumschlagen, wie ich damit umgehe, wenn Daten nicht angegeben werden. Schön zu sehen, dass ich nicht der einzige mit diesem Problem bin.

    Antworten Teilen
  5. von Christian am 04.04.2012 (11:41 Uhr)

    Vielen Dank für den Artikel, genau das was ich gesucht hab.
    Gibt's es dafür bereits ein Plugin für Wordpress was Ihr empfehlen könnt?
    Oder setzt man so etwas lieber selbst um?

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema Affiliate-Marketing
Vom Reisen leben: So viel Geld verdienen deutsche Reiseblogger
Vom Reisen leben: So viel Geld verdienen deutsche Reiseblogger

Um die ganze Welt reisen und damit auch noch Geld verdienen? Einige deutsche Reiseblogger machen genau das und können sogar davon leben. Wie viel dabei rumkommt und womit die Solopreneure genau ihr … » weiterlesen

Affiliate TactixX: Networking-Treffpunkt zum Thema Affiliate-Marketing
Affiliate TactixX: Networking-Treffpunkt zum Thema Affiliate-Marketing

Schon zum achten Mal startet dieses Jahr die Affiliate TactixX. Parallel zur Internet World Ende diesen Monats erwartet Besucher in München ein Mix aus Vorträgen und Panels. » weiterlesen

Passives Einkommen: 9 lukrative Ideen, nebenbei Geld zu verdienen
Passives Einkommen: 9 lukrative Ideen, nebenbei Geld zu verdienen

Passives Einkommen zu generieren war noch nie so einfach wie heute. Digitale Produkte und Dienstleistungen, die einmal erstellt wurden, lassen sich online unendlich oft verkaufen. Über Affiliate … » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n-Newsletter t3n-Newsletter
Top-Themen der Woche für Web-Pioniere
Jetzt kostenlos
anmelden
Diesen Hinweis verbergen