わかりました、これが私がしばらく探していた目標です。
知られているように、ほとんどの広告および分析会社は、Webサイトのビュー、トランザクション、コンバージョンなどを追跡するために、いわゆる「ピクセル」コードを使用しています。
私はそれがどのように機能するかについての一般的な考えを持っています、問題はそれをどのように実装するかです。トラッキングコードはいくつかの部分から構成されています。
トラッキングコード自体。これは、ユーザーがWebページの<head>
セクションに挿入するコードです。このコードの主な目的は、顧客固有の変数をいくつか設定し、*.js
ファイルを呼び出すことです。
*.js
ファイル。このファイルは、CRUD(作成/読み取り/更新/削除)Cookieの魔法をすべて保持し、ユーザーのイベントとWebページとの対話を追跡します。
ピクセルコード。これは<img>
タグであり、src
属性が画像*.gif
(たとえば)ファイルを指しているため、ページで収集されたすべてのパラメーターを取得してデータベースに格納します。
例:
WordPressピクセルコード:<img id="wpstats" src="http://stats.wordpress.com/g.gif?host=www.hostname.com&list_of_cookies_value_pairs;" alt="">
Googleアナリティックス:http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&etc
これで、パラメーターデータを読み取ってデータベースに格納するために、*.gif
リクエストがサーバー側スクリプト言語に到達する必要があることは明らかです。
これをZendに実装する方法を知っている人はいますか?
[〜#〜] update [〜#〜]もう1つ興味があるのは、ユーザーのブラウザがキャッシュされた*.gif
を読み込まないようにする方法です。ランダムなパラメータ値でうまくいきますか?例:src="pixel.gif?nocache=random_number"
nocache
パラメータ値はリクエストごとに異なります。
ZendはPHPを使用して構築されているため、次の質問と回答を読む価値があります。 トラッキングピクセルの開発 。
この回答に加えて、追跡画像のキャッシュを回避する方法を探しているとき、これを行う最も簡単な方法は、実行時に生成される一意/ランダム文字列をそれに追加することです。
たとえば、サーバー側で各画像を作成する場合、ランダムなURL IDを追加できます。
<?php
// Generate random id of min/max length
$Rand_id = Rand(8, 8);
// Echo the image and append a random string
echo "<img src='pixel.php?a=".$vara."&b=".$varb."&Rand=".$Rand_id."'>";
?>
さて、上記のコードはすべて正しく正しいですが、確かに、上記の人は「g.gif」に言及しています
単純なphpコードを追加して、sqlまたはfwrite( "file.txt"、$ opened)に書き込むことができます。ここで、var $ openedは、誰かがあなたのメールを開いた場合のカウンター++として機能します。次に、「g.gif」として保存します。
これをすべて行うには、次のものを追加します。
<Files "/thisdirectory">
AddType application/x-httpd-php .gif
</Files>
「.htaccess」ファイルに追加しますが、g.gifまたは.htaccessのみが含まれるg.gifまたはwhatever.gif用の新しいディレクトリを作成してください。
まず、*.gif
はそのファイルタイプである必要はありません。関心があるのはContent-Type
httpヘッダーだけです。最初にそれをimage/gif
(またはその他の適切なタイプ)に設定し、コードを実行して、応答本文にある種の画像をレンダリングします。
重要で頻繁に使用されるオプションが欠落していると思うので、このスレッドに2セントを追加するだけです。要求をキャプチャするために必ずしもスクリプト言語が必要なわけではありません。より効率的なアプローチは、Webサーバーのアクセスログ(Apacheアクセスログなど)を使用してリクエストをログに記録し、ELKスタックなどの適切なツールでそのログを処理することです。
これにより、応答を準備するためのスクリプト言語が読み込まれず、ネイティブのApache応答のみがロードされるため、要求の処理がはるかに軽くなります。これは通常、はるかに効率的です。