Schemat tworzenia i działania „pliku cookie” i „tracking pixel”
Podstawową funkcją sieci afiliacyjnej jest śledzenie efektywności działań marketingowych afiliantów i indentyfikowanie transakcji. Większość sieci korzysta z oprogramowania opartego o cookies i tracking pixels. Sprawdźmy więc w jaki sposób to działa.
Po co w ogóle zapisuje się pliki cookie?
Po to by zbierać informacje nt. aktywności użytkownika w sieci. Również po to, żeby zapamiętać użytkownika i mieć możliwość nadania mu opisu (np. ID kampanii, ID wydawcy, itp). Plik cookie przechowywany jest w przeglądarce użytkownika.
Czym jest tracking pixel i jaką pełni funkcję?
Tracking pixel (znany również jako web bug) składa się z obrazka o wielkości 1×1 px oraz skryptu, który jest uruchamiany jeśli użytkownik ma włączoną obsługę javascript. Tracking pixel zwykle umiejscowiony jest na stronie z potwierdzeniem transakcji i ma za zadanie zidentyfikować użytkownika na podstawie pliku cookie jaki jest zapisany w jego przeglądarce.
Tak wygląda tracking pixel zagnieżdżony na stronach serwisu reklamodawcy:
<img src="http://www.reklamodawca.pl/track.asp?SiteID=12981219" width="1" height="1">
A tak przykładowe cookie:
Set-Cookie: Count=1; expires=Wednesday, 01-Aug-2040 08:00:00 GMT; path=/; domain=afiliacje.pl
Schemat zapisywania cookie:
1. przeglądarka >>>>> serwer
Użytkownik chce wejść na stronę afiliacje.pl więc przeglądarka odpytuje serwer o stronę internetową przez tzw. HTTP request, który będzie wyglądał następująco:
GET /index.html HTTP/1.1
Host: www.afiliacje.pl
2. przeglądarka <<<<< serwer
Serwer wysyła stronę do przeglądarki. W tym momencie HTTP response towarzyszący stronie może zapisać w przeglądarce plik cookie
HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value
Set-Cookie: name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT
(kontent strony)
Przykład skryptu (po stronie serwera), który zapisuje plik cookie w przeglądarce użytkownika:
<script language="JavaScript">
cookie_name = "Basic_Cookie";
function write_cookie() {
if(document.cookie) {
index = document.cookie.indexOf(cookie_name);
} else {
index = -1;
}
if (index == -1) {
document.cookie=cookie_name+"=1; expires=Wednesday, 01-Aug-2040 08:00:00 GMT";
} else {
countbegin = (document.cookie.indexOf("=", index) + 1);
countend = document.cookie.indexOf(";", index);
if (countend == -1) {
countend = document.cookie.length;
}
count = eval(document.cookie.substring(countbegin, countend)) + 1;
document.cookie=cookie_name+"="+count+"; expires=Wednesday, 01-Aug-2040 08:00:00 GMT";
}
}
</script>
Przykład skryptu (po stronie serwera), który czyta plik cookie:
<script language="JavaScript">
function gettimes() {
if(document.cookie) {
index = document.cookie.indexOf(cookie_name);
if (index != -1) {
countbegin = (document.cookie.indexOf("=", index) + 1);
countend = document.cookie.indexOf(";", index);
if (countend == -1) {
countend = document.cookie.length;
}
count = document.cookie.substring(countbegin, countend);
if (count == 1) {
return (count+" time");
} else {
return (count+" times");
}
}
}
return ("0 times");
}
</script>