Adservice Callback & Tracking
Gæsteindlæg skrevet af Casper Schneidereit for 1 decade siden | Se alle indlægAffiliate netværket Adservice stiller et ret smart og simpelt værktøj til rådighed, for dataudveksling mellem netværket og dig. Det er deres såkaldte callback funktion, der gør det muligt at modtage data, hver gang du har genereret et lead eller salg.
Det fungerer på præcis samme måde som ved en betalingsgateway, hvor der ved et betalingsforsøg bliver lavet et kald i baggrunden til Callback URL'en.
Du skal dog være opmærksom på, at der ikke laves noget sikkerhedstjek af Adservice Callbakc data, så alle der kender din callback URL kan i princippet sende falske data til dig. Det kommer vi ind på senere i dette indlæg.
For at vise hvordan denne funktion kan bruges i praksis, har jeg opstillet et flow eksempel for et trackingsystem. I eksemplet gør vi brug af SUB parameteret fra Adservice + callback siden.
Eksempel på brug af callback funktion
Et tænkt eksempel. En bruger søger efter "bedste tv pakke i Danmark" via Google. Brugeren finder din side i søgeresultatet og klikker sig ind på den. Tracking systemet gemmer herefter en række data for dette besøg. Det kunne se sådan her ud:
- IP adresse : 80.62.82.12
- Tidspunkt for besøg : 22. Oktober 2011 kl. 14:55
- Browser : Internet Explorer 9.0
- OS : Windows 7
- Besøgskilde : Google, organisk
- Søgeord : bedste tv pakke i danmark
Disse data bliver tildelt besøgs ID nr. 10789 i vores database.
Brugeren klikker sig rundt på din side og klikker til sidst på et af affiliate link.
I affiliate linket kan vi selv bestemme indholdet af variablen SUB. På den måde kan vi sende brugerens besøgs ID (10789) og side ID med i SUB parameteret, adskilt af bindestreg. Det kunne se sådan her ud SUB=10789-56. Side ID (56 i dette tilfælde) referer til websites udgangsside og kan f.eks være /sammenligningst-tabel.html = side ID 56;
Da der er angivet en callback URL i Adservice systemet, vil Adservice "ringe op" til callback URL'en ved hvert gennemført salg/lead. I dette opkald vil din callback URL få tilsendt følgende oplysninger fra Adservice:
VARIABEL | BESKRIVELSE |
LEADSTAMP | Tidspunkt for hvornår salget blev gennemført |
CLICKSTAMP | Tidspunktet for hvornår brugeren klikkede på dit affiliate link. |
CAMPID | ID på hvilken kampagne der er gennemført et salg. |
CAMPTITLE | Titel på kampagnen. |
SUB | Valgfri variabel. |
AMOUNT | Din indtjening for dette salg. |
Disse data gemmer vi også i databasen. Det betyder, at vi kan kortlægge indtjeningen fuldstændig og se, hvilke medier, søgeord m.m. der giver os indtjening. Man kan også se hvornår på døgnet, hvor lang tid der i snit går mellem klik til køb og en masse andre interessante ting.
Sikkerheden i callback løsningen
Som nævnt tidligere så kunne jeg godt ønske noget mere sikkerhed i Adservices callback løsning. F.eks med en 'secret key' og et md5 check af dataen, på samme måde som når man arbejder med betalingsgateways.
Det værste der kan ske er, at en konkurrent sender falske data til din callback side. Du kan dog gøre flere ting for at dæmme op i mod det.
Først og fremmest så lad være med at benytte et forløbende nummer som besøgs ID. Det kan løses på mange måder, men f.eks. ved at danne 20 tegn tilfældigt. Når du modtager data på callback siden, kan du tjekke op på, at SUB har et gyldigt besøgs ID. Det vil være stort set umuligt for en konkurrent at gætte 20 tilfældige tegn.
Ud over dette kan du gemme IP adressen, som laver kaldet til callback siden sammen med callback dataene. Sådan kan du i hvert fald spore eventuelle falske data til en specifik IP adresse.
Til sidst kan du kalde din callback side noget, som er meget svært at gætte. F.eks. f4291632b608b7b90a11854da370e3800cc6ee01c82fc49c28706e0918f57e2d.html i stedet for adservice-callback.php eller callback.php.
PHP eksempel der mailer callback data
<?php
/*
adservice_callback.php
- modtager og mailer callback data fra Adservice
*/
# Vi sender callback data til mail.
define("modtager", "info@ioosinternet.dk");
$callback_tags = array( 'LEADSTAMP'=>'',
'CLICKSTAMP'=>'',
'CAMPID'=>'',
'CAMPTITLE'=>'',
'SUB'=>'',
'AMOUNT'=>''
);
# Henter og renser data.
foreach($callback_tags as $tag=>$dummy) {
$tekst.= $tag.=" : ".
mysql_real_escape_string(strip_tags($_GET[$tag]))."\n\r";
}
$tekst.= "Callback data modtaget fra IP : ".
$_SERVER['REMOTE_ADDR'];
# Sender en mail med callback data
mail(modtager, 'Callback Adservice', $tekst);
?>
Husk at callback data skal gemmes, eller som i overstående tilfælde sendes til en mail, da det er et kald der bliver lavet i baggrunden.
Du kan læse mere om callback funktionen, ved at logge på din Adserice konto, og klikke ind på 'Adservice tools » Callback'.
Har du lyst til at hjælpe os? Kunne du lide indlægget, så ville vi blive oprigtig glad, hvis du delte dette indlæg med dit netværk.
|
» Se andre indlæg her.
Kommentarer til indlæg
Det der understreger bare hvor stor en grønskolling jeg er til affiliate. Må straks se om mine affiliateservices tilbyder noget lignende. Super start på bloggen.
Og tillykke med dem nye blog. Er hermed fast læser
Morten @ÃÂ Det er samme funktion, som også bruges i forbindelse med cashback sider. Altså til at kæde et specifikt lead sammen med en specifik bruger Så det er ikke noget unikt for Adservice :-)
Tak skal du have :-).
Hold da op Kasper - nej nærmere hold *ikke* op. Fedt at du gider dele på denne måde. Fortsæt endelig og skriv hvis du har skjult et xml-feed til dig blog et sted.
Næh - er med på at ideen omkring det ikke er revolutionerende, men vidste ikke at alle udbydere tilbød det. Må lige trawle igennem Tradedoublers hjemmeside (som jeg faktisk har opgivet at finde rundt på)
Klitgaard @ Tusind tak. Jeg får lavet et RSS feed, i løbet af meget kort tid :-)
Morten @ Det er heller ikke alle der gør. Men så vidt jeg lige husker er der ligende funktionalitet ved Euroads, IQ Medier, Adfair, Mikkelsenmedia og Smartreponsemedia. Jeg skal ikke kunne afvise Tradedoubler, men som du selv nævner, så ligger deres system ikke ligefrem til højrebenet :-).
Er der nogle af dem du nævner der, der har nogle fine programmer i mobil-branchen? Leder efter noget bedre til relanceringen af http://www.mxchange.dk
Morten @ Få en konto ved dem alle :-). Adservice + Smartresponsemedia har stort set alt, og gode priser. TDC ligger kun ved Tradedoubler og Adservice. Der er kun CPC afregnede kampagner ved Adservice. Skal du have TDC lead kampagner, så er det ved Tradedoubler (rettet, Adservice har også CPA kampagner pt). Det er hver at bemærke, at din afregning er MEGET højere i det højeste segment ved TDC, kontra det laveste. Og det er i øvrigt ikke umuligt at tale sig et segment højere op, så længe du har et eller andet at byde ind med. Se mere her http://tdc.dk/affiliate/
Det er faktisk de forskellige netværks callback funktioner vi vil bruge til at linke dem sammen med Livecounter Affiliate Overblik.
Lige nu understøtter vi kun Partner Ads og Tradedoubler og det er fordi de køre på en anden måde, via en key som gør at man kan trække alt salg og lead data ud.
Et af problemerne med nogle af callback funktionerne er at det kræver brugeroplysninger at tilgå disse og det er ikke altid smart at lagre dem i hverken filer eller databaser.
Du behøver ikke lagre brugernavn + kodeord, for at benytte Adservice Callback. Men brugeren skal selv logge ind, og angive en callback URL ala livecounter.dk/adservice_callback.php?id=0adb8625612a2d4116ce3668c6d5c744252b9a. Hvor ID så kan identificerer brugeren hos jer. I mit eget system, benytter jeg http://dk.php.net/curl til at udtrække data, som er login beskyttet.
... men cURL ville jo kræve, at du lagrede brugernes konto oplysninger i klar tekst.
Mega lækkert indlæg.
Jeg kunne rigtig godt tænke mig at vide hvordan man får det op og kører i praksis. Jeg skal have min Bangladesh programmør til at lave cookie tingen, som gemmer søgeord osv, og erstatter sub med et unikt id på mine affiliate links? Eller har jeg totalt misforstået det?
:-)
Fedt indlæg! Jeg har beskrevet her, hvordan vi får data med over: http://www.amino.dk/blogs/nicolaj/archive/2010/07/30/valg-af-affiliatenetv-230-rk-statistik-er-guld-v-230-rd.aspx.
Selv når alle netværk er klar med 3. parts tracking, er det altid godt at kunne dobbelttjekke, om de forskellige data matcher.
Jesper @ Det eneste han skal gemme i cookien er det unikke ID eller tekststreng. Det kunne være et besøg fik tildelt 45jd8dk.
I databasen vil 45jd8dk være lig med eksempelvis IP: 127.0.0.1, Kilde: Google-Organisk, Søgeord: kattemad (den funktionalitet skal han programmerer).
Det unikke ID følger så brugeren, og videre ud i affiliate linket via SUB. Og igen når et lead gennemføres tilbage til callback siden, som sætte disse data ind i databasen.
Du kan så se at 45jd8dk har købt et 3 abonnement, du har tjent 500 kr, og han brugte 6 min fra han klikkede på dit link, til salget var gennemført. Hvis du også spore på afgangsider eller elementer, kan du se:
- Hvilke knapper, links og sider der skaber mest indtjening
- Hvilke søgeord for hver side der skaber mest indtjening
- Hvilke kampagner der giver mest indtjening.
Og du kan selvfølgelig segmentere det ud på forskellige besøgskilder.
Nicolaj @ Ja, der bruger i også de valgfrie variabler :-). Men hvad jeg lige kan læse mig til, så gemmer i data direkte i dem, i stedet for en reference til dataene (som jeg ligger op til her). Det gør jeg nu også selv, men jeg drømmer lidt om at få det hele konverteret over til overstående løsning. Det vil give et meget bedre overblik.
Hej Casper,
Til lykke med bloggen og dit første indlæg. Ikke lige noget i det her indlæg, jeg kan bruge, men glæder mig til at følge med fremover ;-)
Mit hovede drejer rundt nu....
Dvs, hvis jeg gerne vil have light versionen, helt uden callback versionen, så laver jeg et script som gemmer info om den besøgende når han kommer ind på siden. Og når han så klikker på et affiliate link, så smider jeg infoen på sub på vej ud? Er der andre begrænsninger end kun 2 x "-"?
Jeg havde ikke troet det var så nemt at lave den callback funktion. Mange tak for inspiration - jeg vil gå igang med at lave et system som overvågner alle mine sider!
Der er en begrænsing i tekst længden for SUB. Jeg har ikke testet var den, men hvad jeg lige kan se så tror jeg der er en begrænsning på ca. 60 tegn. Det eneste jeg bruger (bindestreg) - til, er at adskille data referencer. Det kunne også være et a og se sådan her ud: 19023a512a45
19023 = besøgs id = IP, Kilde, Søgeord o.s.v.
512 = den side som brugeren klikkede på.
45 = det element brugeren klikkede på. Top banner, bund banner, et specifikt link.
Okay, så skal jeg vist lige ændre min beskrivelse til hr. Bangladesh ;-)
Takker!
Det her er lige lovlig langhåret til mig :)
Så jeg tillader mig lige at spørge: findes der en simpel metode til at hive data tilbage til Google Analytics (fx. som et konverteringsmål), så søgeord kan kobles med affiliate indtægt? hos AdService - eller endnu bedre - hos TradeDoubler, som er mit primære affiliate netværk til mine WordPress-baserede hobbyprojekter.
Det ville eksempelvis være ret interessant at kunne lave en direkte sammenligning af AdSense EPC op i mod Affiliate EPC.
Hvis et plugin eller tilsvarende ikke kan løse det, så jeg nok ty til Excel eller hovedregning lidt endnu :)
Mvh Troels.
Jeg er ikke verdensmester i Analytics, men synes det er et spændende spørgsmål. Callback er noget som kører via serveren, så det vil kræve at alle relevante (klient) data kan "tvinges" ind i Analytics. Umiddelbart tror jeg det ikke.