Technical

Tracking pixel

Also called 1x1 pixel, beacon image.

Tracking pixel is a tiny image, often 1 by 1, whose request to a collector's URL records that a page or email was viewed. The data rides in the URL's query string and the request headers.

How it is measured

Find an `<img>` tag with `width='1'` and a `src` pointing at the collector with a query string. The server logs a GET with the query, IP, user-agent, and Referer, then returns a 43-byte GIF or a 204. No JavaScript is needed, so it works in email and with scripts off.

Email clients that preload images, such as Apple Mail Privacy Protection, fetch through a proxy, so opens are inflated and locations meaningless. Count requests, not people.

Worked example

A newsletter with a pixel shows 8,400 opens out of 12,000 sends, 70%. Of those, 6,100 requests come from Apple's proxy ranges within a minute of sending. Subtracting them leaves 2,300 opens, or 19%.

On the website, a `<noscript>` pixel records 140 loads a day from visitors with scripts off. Those are real, but they carry no screen size and no click data.

How it differs

A tracking pixel reports a view with one image request. A JavaScript tag can send many events with richer detail, but only when script runs. The pixel leaves out interaction data, and the tag leaves out visitors with script off.

Common errors

Treating email opens as reads. Counting prefetches. Placing a third-party pixel that leaks the page URL with personal data in it. Forgetting caching headers, so a repeat view never reaches the server. Assuming blockers cannot see it.

In practice

Use a pixel where script cannot run, such as email or a noscript fallback, and read the count as requests. Add `Cache-Control: no-store` and keep personal values out of its query string.

See also

JavaScript tag, Hit, Server-log analytics

Sources

Count this on a real site.

Watch my website