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.

Schemat działania plików cookie i tracking pixel

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>