Etablierung der Zielgruppenforschung im Instagramumfeld und erste Zahlen aus der praktischen Anwendung

Mit Etablierung der InstaLOC-Datenbanken und den angedockten Zielgruppen- und Marktanalysen wurden zeitgleich diverse Tests mit bestehenden Accounts durchgeführt.
Diese Szenarien sollten klären:

(a) Followerwachstum
(b) Interaktionen auf den Medien, Videos, Stories
(c) Interaktionsqualitäten und Nachhaltigkeiten

Vor ca. 4 Wochen wurden 2 Testaccounts ausgewählt, Gespräche geführt und an das System angedockt.

Die beobachteten Effekte sind:
(a) Followerwachstum (gerundet)

Account: (A)
Thema: Kunst, Art, Fotografie
13.000 Follower -> 26.000 Follower -> 40.000 Follower

Account: (B)
Thema: Coaching/Consulting
1.500 Follower -> 17.000 Follower -> 20.000 Follower

(b) Interaktionen auf die Medien

Account: (A)
Thema: Kunst, Art, Fotografie
Interaktionsspannbreite, Bilder – Likes: 130 bis ~3.000

Interaktionsspannbreite, Videos – Likes + Views

Account: (B)
Thema: Coaching/Consulting
Interaktionsspannbreite, Bilder – Likes: ~350 – ~800

Account (A) entwickelt sich erstaunlich gut und es sind ca. 200-260 dauerhafte Besucher_innen auf die verlinkte Seite identifizierbar. Ebenfalls beobachte ich starke Kommunikation via „DM“, eMail und auch Telefon aus den Spektren der angesprochenen Zielgruppen (hier: Galerien, Fotograf_innen, Kunst allgem.).
Account (B) zeigt eine starke Etablierung der zielgruppenorientierten Kommentare und eine Einpendelung der Interaktionen auf ~800 / Medium. Erste Anfragen via DM und eMails sind ebenfalls nachvollziehbar.

Nach Zahlensichtung, Ergebnisanalysen und diverse Brainstormings wurden letzte Woche weitere Accounts aus dem Bereich „Handel“ und „Home & Living“ in die Strategie überführt. Hier sind Effekte analog zu Account (A) und Account (B) sichtbar.

Interesse an einer Partnerschaft? Fragen?
Gerne unter office(at)pontipix.de
Weitere Informationen unter: https://www.pontimania.de/

Datenexporte: Instagram-Locationprojekt, Teil (1)

(1) Locationrecherche nach Auflistung der aktiven Accounts

SELECT location, Anz_user from(
Select location, count(username) as Anz_user from locations GROUP BY location ) as my_table
WHERE (Anz_user >= 2) order by Anz_user DESC

Diese Abfrage listet alle Locations auf, wo mind. 2 Accounts Postings abgesetzt hatten.
Datei (Paris): loc_2

(2) Locationrecherche nach Auflistung der aktiven Accounts, Anpassung nach Locationtyp

SELECT location as Ort, Anz_user from(
Select location, count(username) as Anz_user from locations GROUP BY location ) as my_table
WHERE (Anz_user >= 2) AND (location like '%museum%') order by Anz_user DESC

Diese Abfrage listet alle Locations auf, wo mind. 2 Accounts Postings abgesetzt hatten und erlaubt die Feinprüfung auf Locationtyp.
Datei (Paris), Hotel: loc_2_hotel
Datei (Paris), Museum: loc_2_museum

(3) Location- und Accountauflistung nach Suchwort (Tagsubstring)
select location, tag, username from locations where tag like '%fashion%' group by username;

Diese Abfrage listet alle Locations und Accounts auf, welche etwas zu „Fashion“ gepostet hatten
Datei (Paris), „fashion“: paris_fashion

(4) Userauflistung nach Suchwort UND Mindestaufkommen in Bezug auf die Locationaufsummierung

SELECT username, numb from(
Select username, tag, count(location) as numb from locations GROUP BY username ) as my_table
WHERE (numb >= 2) and (tag like '%fashion%') order by numb DESC;

Diese Abfrage listet alle erfassten Accounts auf, welche an mind. 2 Locations aktiv etwas zu „Fashion“ schrieben.
Datei (Paris), Loc=2, „fashion“: user_tag_fashion_2

Belboon – API, Auslesen der offenen Transaktionen


$report_url='http://ui.belboon.com/export/events/?key=deinkey&type=ls';
$homepage = file_get_contents($report_url);
$homepage = str_replace('"', '', $homepage);
$homepage = explode("\n", $homepage);
foreach($homepage as $transaction)
{
$arr_transaction = explode(';', $transaction);
if ($arr_transaction[1] == "offen")
{
$commission=$commission+$arr_transaction[10];
}
}
echo "Belboon: ".$commission."
";

Das Script muss auf den jeweiligen Key angepasst werden. Diesen findet man bei Belboon im Backend unter Statistik => Eventliste => Downloadlink.
Bei der Sichtung der APIs von Belboon, Superclix, Adcell, Groupon und Andere ist mir aufgefallen, dass sich hier Transaktionen „nur“ nach den Status „offen“, „bestätigt / ausgezahlt“ und „abgelehnt“ / Storno filtern lassen. Die Zahlen beschreiben also ausschließlich die „offenen“ Transaktionen, bestätigte oder zur Zahlung freigegebene „Events“ werden hier leider nicht berücksichtigt.

Auslesen der offenen Transaktionen aus der Adcell-API


$StartDate = time()-180*86400;
$EndDate = time();
$report_url = 'http://www.adcell.de/csv_affilistats.php?sarts=x&pid=a&status=a&subid=&eventid=a';
$report_url .= '×tart='.$StartDate;
$report_url .= '&timeend='.$EndDate;
$report_url.= '&uname=username';
$report_url .= '&pass=passwort';
$homepage = file_get_contents($report_url);
$homepage = utf8_encode($homepage);
$homepage = str_replace('"', '', $homepage);
$homepage = explode("\n", $homepage);
foreach($homepage as $transaction)
{
$arr_transaction = explode(';', $transaction);
if ($arr_transaction[7] == "offen")
{
$arr_transaction[9] = str_replace(',', '.', $arr_transaction[9]);
$adcell=$adcell+$arr_transaction[9];
}
}
echo "Adcell: ".$adcell."
";

Das Auslesen der Datensätze aus der Adcell-API funktioniert nach dem selben Schema wie bei Superclix und Groupon. Die Zugangsdaten – also die Variablen „uname“ und „pass“ – lassen sich im Backend finden und wurden in einem entsprechendem Beitrag bereits erläutert.

Auslesen der offenen Transaktionen aus der Groupon-API


$EndDate = date('Y-m-d');
$startddate = date('Y-m-d', strtotime('-3 month'));
$report_url = 'https://partner-int-api.groupon.com/reporting/v2/campaignActivity.csv?clientId=deineid&group=date&date=['.$startddate.'&date='.$EndDate.']&campaign.currency=EUR';
$homepage = file_get_contents($report_url);
$homepage = utf8_encode($homepage);
$homepage = str_replace('"', '', $homepage);
$homepage = explode("\n", $homepage);
foreach($homepage as $transaction)
{
$arr_transaction = explode(',', $transaction);
$gcommission=$gcommission+$arr_transaction[14];
}
echo "Groupon: ".$gcommission."
";

Die Beendigung der Partnerschaft von Groupon / Zanox machte neulich die Anbindung des Groupon-Partnerprogramms notwendig. Das Script behandelt hier nur (!) die Ausgabe der CSV-basierenden Reports, man kann natürlich die Formate „JSON“ und „XML“ verwenden, wenn die „report_url“ in der Form „campaignActivity.[format]“ angepasst wird. Die Variable „deineid“ verlangt einen speziellen API-Reporting-Code, den man sich über die Profilansicht besorgen kann. Weitere Informationen zur API und den auslesbaren Daten findet man im „Help-Center„.

Offene Transaktionen aus Superclix (API) auslesen


$EndDate = date('Y-m-d');
$startdate = date('Y-m-d', strtotime('-3 month'));
$report_url='http://clix.superclix.de/export/partner/exportstats303.php? id=username&pw=passwort&begin='.$startdate.'&end='.$EndDate.'&confdate=1';
$homepage = file_get_contents($report_url);
$homepage = utf8_encode($homepage);
$homepage = str_replace('"', '', $homepage);
$homepage = explode("\n", $homepage);
foreach($homepage as $transaction)
{
$arr_transaction = explode(';', $transaction);
if ($arr_transaction[1] == "offen")
{
$arr_transaction[4] = str_replace(',', '.', $arr_transaction[4]);
$scommission=$scommission+$arr_transaction[4];
}
}
echo "Superclix: ".$scommission."";

Das Auslesen der Statistik-CSV von Superclix ist relativ einfach und hier muss natürlich das Script auf die jeweiligen Zugangsdaten angepasst werden. Die Variable $arr_transaction[x] beschreibt die Zeilen der CSV und die Angaben zu den Provisionen befindet sich hier in der – jeweils – vierten Zelle. Möchte man nun hier die Werbeflächen, die Umsätze oder die Bearbeitungsdaten auch analysieren, hilft hierbei ein Blick in die Kopfzeile der downloadbaren CSV und das Anpassen des Scriptes.

Webgains – API, unbestätigte und offene Provisionen auslesen

Den nachfolgenden Code verwende ich in der aktuellen Fassung für den kompletten Überblick aller „offener“ Posten. Hierunter wird verstanden: Sale generiert => Sale bestätigt => Sale in Bearbeitung. Eine Filterung nach „zur Bezahlung freigegeben“ und „Storno“ ist hier noch nicht möglich. Die Prozedur „verlangt“ eine vorher befüllte Tabelle mit sämtlichen aktiven Werbeplattformen aus dem Netzwerk „Webgains“.


$ergebnis = mysql_query("SELECT id, name_url, id_webgains FROM `plattforms`");
$offen=0; // zaehlvariable fuer die Summe => Provision
while($row = mysql_fetch_object($ergebnis))
{
$projekt= $row->name_url;
$id_projekt= $row->id_webgains;
$foo = intval($id_projekt);
$earningsResult = $webgainsClient->getFullEarningsWithPaymentDate($dateStart, $dateEnd, $foo, LOGIN_MAIL, LOGIN_PASSWORD);
if (is_soap_fault($earningsResult)) {
// error handling
} else {
foreach ($earningsResult as $item) {
$status=$item->status; // status auslesen
if ($status == 'confirmed') {
if ($bearb == 'notcleared' or $bearb == 'cleared') //pruefe bestaetigt => in bearbeitung
{
$offen=floatval($offen+$item->commission); // $item->saleValue fuer umsatzzaehlung eintragen
}
}
}
}
}
echo "Webgains: ".$offen."
";

Webgains API, Statistiken auslesen

Vor kurzem fand ich Gelegenheit, mich der Statistikproblematik zu widmen. Im Ergebnis entstand der folgende Quellcode (Auszug!)

Grundsätzliches
define ('LOGIN_MAIL', 'username');
define ('LOGIN_PASSWORD', 'passwort');
define ('CAMPAIGNID', werbeplattform_id);
$dateStart = date('Y-m-d', time()-7*86400).' 00:00:00';
$dateEnd = date('Y-m-d H:i:s');

Die Variablen „username“ und „passwort“ ergeben sich aus den Daten der Webgains-Anmeldung. Die Variable „werbeplattform_id“ ist ein spezieller Zahlencode, welcher der hinterlegten Plattform zugeordnet ist. Dieser lässt sich über das Backend von Webgains im Hauptmenü „Account“ => „Websites/Kampagnen verwalten“ => „Kampagnen ID“ auslesen.

Start des SoapClients

$webgainsClient = new SoapClient (
NULL,
array (
"location" => "http://ws.webgains.com/aws.php",
"uri" => "urn:http://ws.webgains.com/aws.php",
"style" => SOAP_RPC,
"use" => SOAP_ENCODED,
'exceptions' => 0
)
);

Der Webservice (hier: „location“) ist gleichzeitig die Dokumentation.

Abholen und Ausgeben der Datensätze
$earningsResult = $webgainsClient->getFullEarnings($dateStart, $dateEnd, CAMPAIGNID, LOGIN_MAIL, LOGIN_PASSWORD);
if (is_soap_fault($earningsResult)) {
// Fehlerbehandlung
} else {
foreach ($earningsResult as $item) {
echo $item->commission;
echo $item->saleValue;
echo $item->referrer;
echo $item->date;
echo $item->programName;
}
}

Die Datensatzbeschreibung ergibt sich aus der verlinkten Dokumentation des Webservices. Interessante Prozeduren sind hier:
getFullEarningsWithPaymentDate => Einkünfte mit Auszahlungszeitpunkt
getFullEarningsWithViewReference => Einkünfte mit Click / View-Angaben

aktuelle Positionen (Stand. 21.11.2014) – jeweils Top10

Nachdem wir flächendeckend bei unseren Katalogen das System „Werbung über den Kanal Hashtags“ eingesetzt haben, wurden folgende Positionen sichtbar. (verifiziert via WMT, Abschlüsse)

lowboard allium
couchtisch carmela
wasserschwallarmatur
badewannenklappwand
wannenrandeinlauf
dirndl gutschein basteln
visierhelme
luxor24 gutschein
krawatten viadimoda gutschein
bessergehen.com gutschein
wandspiegel blair
wäschekippe selber bauen
bettkastenbeschlag
couchtisch lysandra
esstisch tosca
chatain ledergarnitur
relaxsessel mourou
schminktisch siena
esstisch holz massiv emeline

Die Verifikation, also ob dieser exemplarischen Liste zu Verkäufen zugeordnet werden kann, gestaltete sich etwas kompliziert und läuft im Wesentlichen über die API der Webmastertools (Download => Phrasen) zur Positionsprobe (XOVI-API, eigener Positionschecker) zur Piwik-API (Abgleich eingehende Suchanfragen und / oder Abgleich über den Titel der abgefragten Seite) zu ausgehende Klicks (rel. sauber prüfbar über die Statisik von „wp-no-external-links“) zu Umsatzstatistik der Netzwerke.