Wie zu erstellen und zu implementieren, die eine pixel-tracking-code
OK, hier ist ein Ziel, das ich gesucht habe für eine Weile.
Da es bekannt ist, die meisten der Werbung und analytics nutzen Unternehmen eine so genannte "pixel" - code, um zu verfolgen, websites zu sichten, Transaktionen, Konvertierung usw.
Ich habe eine Allgemeine Idee, wie es funktioniert, das problem ist, wie es zu implementieren. Die tracking-codes bestehen aus wenigen teilen.
- Den tracking-code selbst.
Dies ist der code, den der Anwender fügt auf seiner Webseite in der<head>
Abschnitt. Das Hauptziel dieses code ist es, einige Kunden-spezifische Variablen und das aufrufen der*.js
Datei. *.js
- Datei.
Diese Datei enthält alle Zauber von CRUD (create/read/update/delete) cookies, Benutzer zu verfolgen, die Veranstaltungen und die Interaktion mit der Webseite.- Den pixel-code.
Dies ist ein<img>
tag mit dersrc
atribute deutete auf ein Bild*.gif
(zum Beispiel) Datei, die alle Parameter gesammelt auf der Seite und speichert Sie in der Datenbank.
Beispiel:
WordPress-pixel-code: <img id="wpstats" src="http://stats.wordpress.com/g.gif?host=www.hostname.com&list_of_cookies_value_pairs;" alt="">
Google Analitycs:
http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&etc
Nun, es ist offensichtlich, dass die *.gif
Anfrage erreicht eine server-side-scripting-Sprache, um zum Lesen der Parameter-Daten und speichern Sie in einem db.
Hat jemand eine Idee, wie dies umzusetzen ist im Zend?
UPDATE
Eine andere Sache, die mich interessiert, ist: Wie kann man verhindern das Benutzer-browser und laden Sie die zwischengespeicherten *.gif
? Wird ein random-parameter-Wert den trick tun? Beispiel: src="pixel.gif?nocache=random_number"
wo die nocache
parameter-Wert wird unterschiedlich sein, auf jede Anfrage.
Eine schnelle trick, um die cache-problem ist die Frage, die der browser nicht Cachen des Bildes.
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
InformationsquelleAutor Andrei Stalbe | 2013-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Zend ist gebaut mit Hilfe von PHP, es könnte sich lohnen, Lesen Sie die folgende Frage und Antwort: Entwicklung eines tracking-pixel.
Zusätzlich zu dieser Antwort, und wie Sie bist Suche nach einem Weg, um das Zwischenspeichern des image tracking, der einfachste Weg dies zu tun ist, fügen Sie eine einzigartige/zufällige Zeichenkette, die zur Laufzeit erzeugt.
Beispielsweise server-Seite und mit der Schaffung von jedem Bild können Sie eine zufällige URL-id:
InformationsquelleAutor nickhar
Zunächst die
*.gif
muss nicht sein, dass die Datei-Typ, das einzige, was von Interesse ist dieContent-Type
http-header. Aufimage/gif
(oder einem anderen, passenden Typ) in den Anfang, führen Sie Ihren code und machen einige Sortieren von Bild zu der Antwort der Körper.pixel.gif
- Datei mitPHP
imagecreatefromgif()
die tatsächlichphp
Erweiterung. Die einzige Sache ist, dass, wennwww.customerpage.com
Lasten<img src="mypage.com/pixel.gif?params">
ZF wirft eine Fehlermeldung, dass der controllerpixel.gif
existiert nicht.Haben Sie Hinzugefügt eine route dafür? Und siehe auch die Antwort auf stackoverflow.com/questions/3203354/... - dies wird viel schneller als mit imagecreatefromgif
über die route, noch nicht, ich Frage mich, ob es einen Weg gibt, dies zu tun, ohne routing. Und danke für den link für die " transparente pixel, es;s wirklich nützlich ist.
InformationsquelleAutor Femaref
Gut, alle oben genannten codes sind richtig und gut ist, aber um sicher zu sein, der Kerl, der oben erwähnen "g.gif"
Können Sie einfach fügen Sie eine einfache php-code zu schreiben, um eine sql-oder fwrite("file.txt",$offen)
wo die var $eröffnet, dient als counter++ wenn jemand öffnete Sie Ihre E-mail... und dann speichern Sie es als "g.gif"
All dies ZU TUN, fügen Sie einfach diese:
zu Ihr ".htaccess" - Datei, sondern werden Sie sicher, stellen Sie ein neues Verzeichnis für das g.gif oder whatever.gif wo das Verzeichnis enthält nur g.gif und .htaccess
InformationsquelleAutor i am ArbZ
Nur hinzufügen, meine 2 cents auf diesen thread, weil ich denke, dass ein wichtiger und Häufig verwendet die option nicht vorhanden ist: Sie benötigen nicht unbedingt eine scripting-Sprache zur Erfassung der Anfrage. Ein effizienter Ansatz ist die Nutzung der web server-access-log (wie apache-access-log zum Beispiel) das protokollieren der Anforderung und dann handle, das log mit den Werkzeugen, die Sie sehen, passen, wie ELK-stack zum Beispiel.
Dieser macht dienen, den Anfragen viel leichter, da keine scripting-Sprache wird geladen zur Vorbereitung der Antwort, nur native apache-Reaktion, die ist in der Regel viel effizienter.
InformationsquelleAutor Alberto