私の質問は次のようなものではありません:ブラウザに依存しない方法で画像が読み込まれたことを検出する
インプレッションごとに支払われる広告を自分のサイトに掲載しています。最近、各広告のインプレッション数が劇的に減少しましたが、月あたりの平均ヒット数は増えています。画像が読み込まれたかどうか、または代わりに 404 (安価な広告ブロッカーで一般的) のようなものが読み込まれたかどうかを検出することはできますか?
私の質問は次のようなものではありません:ブラウザに依存しない方法で画像が読み込まれたことを検出する
インプレッションごとに支払われる広告を自分のサイトに掲載しています。最近、各広告のインプレッション数が劇的に減少しましたが、月あたりの平均ヒット数は増えています。画像が読み込まれたかどうか、または代わりに 404 (安価な広告ブロッカーで一般的) のようなものが読み込まれたかどうかを検出することはできますか?
今、数え方は?あなたの質問から判断すると、サーバー ログを解析しているか、画像が動的 URL を介して提供されていると思われます。この場合、ドロップはクライアントまたはプロキシのキャッシュが原因である可能性があります。ユーザーは広告を表示していますが、リクエストがサーバーに到達することはありません。
明らかな解決策はキャッシュを無効にすることですが、これは訪問者にとって非常に失礼です。現在、一般的なアプローチは、広告をカウントするためのビーコンとして 1 ピクセルの GIF を使用することです。JS も機能しますが、JS を無効にするとヒットが失われます。
<div id="ad">
<img src="/real.gif?ad_id=3435">
<img src="/beacon.php?ad_id=3435&random=6354377">
</div>
ところで: カウントが広告プロバイダーによって行われる場合、彼らが嘘をついている可能性が常にあります. マーケティング担当者は一般的に、正直者でも原則主義者でもありません。
イメージが読み込まれると、IE のイメージ タグに "complete" プロパティが追加されます。画像の「ロード」および「エラー」イベントをリッスンすることもできます。
多くの場合、広告ブロッカーは「劇的なドロップ」の理由ではありません...
広告画像サーバーに "ping" を実行する JavaScript を追加するか、画像が読み込まれるかどうかを確認できます...どちらも実装は非常に簡単ですが、失敗すると正規のユーザーに迷惑がかかります。たとえば、誰かが statistics を収集し、onunload イベントでサーバーにリクエストを送信するため、ページが閉じるとハングするのが嫌いです...