guide · privacy
How Email Tracking Works: Pixels, Wrapped Links and IDs
Updated November 2, 2026 · 9 min read
direct answer
Every email tracker uses one mechanism: the message asks your mail client to fetch something from a server the sender controls. Usually that is an invisible 1 by 1 image; often a second reporter is a link whose address has been rewritten to pass through the tracker first. The fetch itself is the report — it arrives with a timestamp, your IP address, your device signature and, nearly always, a code that maps back to your exact address. Nothing runs inside your mailbox, so nothing has to look suspicious for you to be measured.
Open tracking, click tracking and recipient identification are three separate tricks that ship together in one message. Here is each one at the byte level, and how to read them out of an email you already have.
The one mechanism: your client makes a request the sender logs
An email is a text file with instructions in it. When your client renders those instructions it goes and collects the parts the message refers to — the logo, the product photo, the signature image. Each of those collections is an ordinary HTTP request to whoever owns the hostname written in the HTML. That is the whole trick. A server that receives a request has no idea whether a human read anything, but it does know that the address that was promised a particular image just asked for it.
The request the sender cares about looks like this, and it is usually the only line in the message that is not visible when rendered:
alt="" width="1" height="1" border="0"
style="display:none;max-height:0;line-height:0">
one invisible tag → one logged open, with a recipient attached
Nothing about that tag harms your machine. It downloads a few bytes, the server writes a line in a log, and the campaign dashboard turns the line into a green dot beside your name. The damage is informational, not technical — which is precisely why it is worth understanding rather than just resent.
Anatomy of a tracking pixel
Pixel URLs are formulaic once you know what each slot is for. Read one left to right and you can usually tell the vendor, the campaign and whether your address travels in the clear.
| Part | Example | What it decides |
|---|---|---|
| Host | t.tracker.example | Which vendor logs the open, and who learns your IP address |
| Path | /tt/, /trace/, /email_trackers/ | Which product the vendor files the event under — the path is often how a detector names the service |
| Message ID | ?id=8f3c2a1b | Distinguishes this send from the vendor’s other tens of thousands |
| Recipient ID | &c=4417 or &e=you%40corp.com | Maps the request to one row in the list — this is what makes it personal rather than aggregate |
| Signature | &s=9b2f | Lets the vendor reject forged requests from anyone guessing at IDs |
| Geometry | width="1" height="1", alt="", display:none | Whether you notice it. None of it affects the logging |
The detector matches the host and path against 170 named services — 246 distinct URL fragments adapted from the open-source MailTrackerBlocker list plus vendor-documented endpoints — and treats an unlabelled tiny or hidden image as a beacon anyway.
Why the image is 1 by 1 and invisible
Trackers have no reason to be seen, and mail clients give them four reliable ways to hide. Any one of these, combined with a remote host, is what the detector is looking for:
- One pixel square.
width="1" height="1"renders as a speck, and at that size it is indistinguishable from a layout spacer. - No alternative text. A blocked image with
alt=""leaves nothing in the layout, so the message looks complete without it. - Zero-height styling.
display:none,max-height:0,line-height:0orvisibility:hiddenmean the element is never painted. Some clients still fetch the URL anyway. - A transparent GIF. The payload is four bytes of nothing. The 1 by 1 transparent GIF is 43 bytes and is the same file in every tracker:
R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
That base64 string decodes to a GIF header, one pixel, and a terminator. Because the file is identical everywhere, it tells you nothing about who is watching — only the host does. The useful inverse also holds: an image embedded as a data: URI contains its own bytes and makes no network request, so it cannot be a tracker no matter how small it is.
Click tracking: the second reporter is the link
Open tracking is a guess about attention. Click tracking is a fact about action, and it does not need images at all. The sender replaces every destination in the message with a URL on their tracking host, which logs the hit and then sends your browser onward:
↓ HTTP 302
https://real-site.example/pricing?utm_campaign=q1-launch
Three families of URL tell you this is happening, and they are the three checks the detector runs on links:
- Wrappers. The host in the anchor is not the host you will end up on. Hover before clicking and the status bar shows the redirect.
- Campaign parameters.
utm_source,utm_medium,utm_campaign,utm_content, plus vendor-specific ones likemc_eidorhsCtaTracking. These do not require a redirect — they travel with you to the destination and are read by analytics on arrival. - Recipient identifiers. A per-contact token in the query string, and in the worst case your address itself, percent-encoded:
e=you%40corp.com.
A wrapped link and a bare utm_ parameter are different exposures. The wrapper reports to the tracker at click time; the parameter reports to whatever analytics the destination runs. Both identify you, and neither one disappears if you only block images.
What identifies you, in order of precision
Not all tracking knows who you are. The three identification mechanisms rank cleanly by how little inference they need.
| Tier | Signal | Precision | What defeats it |
|---|---|---|---|
| 1. Named in the URL | Recipient ID or your address in the query string | Exact row in the sender’s list | Never loading that URL, and never clicking that link |
| 2. Cookie on arrival | The wrapper or landing page sets a browser cookie | Your browser, across that vendor’s whole customer base | Private-mode tabs, or stripping parameters before clicking |
| 3. Fingerprint | IP address plus user agent plus timing | A device at a location, usually good enough to guess a person | Image blocking, a proxy that fetches on your behalf, an alias |
Most commercial email uses tier 1 because the vendor already has your address in a database and needs a cheap way to point at it. Tier 3 alone is why a pixel still tells a sender something useful even when the recipient ID is missing: the same mailbox at the same office IP at 8:40 each weekday morning is recognisable without a name on it.
Requests that are not tracking
A remote image is only a tracker if it exists to be measured. Four common things look like pixels and are not, and a detector that flags them is not worth trusting:
- The sender’s own logo served from their own domain, referenced without identifiers. Same family as the
Fromaddress means the report goes to the brand, not to a third party — still a request, still an open signal, but not a new surveillance counterparty. - An
cid:reference to an attachment already inside the message. Nothing leaves your device. - A
data:URI that carries its own bytes. - Layout spacers that are inline or absolute paths into the client’s own resources.
The distinction that matters in practice is whose server and what identifiers. A foreign host plus a per-recipient token is the profile signature; a same-domain logo is a brand being a brand.
Why some recorded opens were never read
The mechanism has a flaw senders hate and recipients should know about: a request is not a reader. Two deliberate proxies generate opens that correspond to nobody reading anything.
- Gmail rewrites image URLs to its own proxy hosts, so the pixel is fetched by Google and then served to you from
mail-*.googleusercontent.com. The tracker still learns that an open happened, but the IP it logs is Google’s. - Apple Mail Privacy Protection, shipped with iOS 15 and macOS Monterey in September 2021, prefetches remote images and hides your IP behind a proxy. It fetches images whether or not you look, which means a message can be marked read on delivery. Measurement vendors have warned publicly that open reporting became unreliable for Apple-mailbox recipients.
That asymmetry is why this guide keeps saying request rather than read. The tracker’s number is a count of fetches; your actual attention is not in that database.
How to see the tracking in a message you already have
Everything above is plain text in the message, which means you can check your own inbox in a couple of minutes. Thunderbird is the most direct: open a message and press Ctrl+U for the full source, or turn on all header rows in the message view. Gmail on the web and in its mobile apps hides the source one click deeper: open the message, click the three-dot menu on the message itself, then Show original, which opens the raw source in a new tab.
Outlook on the web and the desktop app do not expose a raw-source view in the reading pane. The universal workaround works in every client: save or forward the message as an attachment, keep it as an .eml file, and open that file in a text editor. Header block, HTML part, and every tracking URL are in it as written.
Reading it by eye is slow, though, because you are looking for one tag among thousands. Paste the same text into the email tracker detector and it separates the four things you care about: which pixels fire, which links report, which identifiers name you, and whether the sender is even authenticated. Nothing is uploaded — the parsing runs in that tab.
A whole message, read end to end
Here is what a typical outbound sales message yields when the source is parsed, which is the sample the detector labels Sales prospecting:
| Signal found | Where it lives | What the sender learns |
|---|---|---|
| Open pixel from a named service | HTML body, hidden img | That you opened, when, how many times, from what IP |
| Two wrapped links | a href on the calendar and the pricing URL | Which of the two you acted on, and when |
| Per-recipient token | Query string on every link | That the activity is yours specifically, not a colleague’s |
| Reply-tracking pixel | A comment or invisible image near the signature | Whether you answered, which is the lead-scoring trigger |
List-Unsubscribe header | Header block | Nothing directly — it tells you there is a route out |
| SPF, DKIM, DMARC all pass | Authentication-Results | Confirms the tracking is really from the company it claims |
Six findings from one message, and every one of them was already in the file. The tracker did not have to guess; it only had to be readable.
try it on your own mail
Email Tracker Detector
Paste the raw source of any message, or drop in an .eml file, and see every pixel, wrapped link and recipient identifier in it. 170 named services checked, zero upload, nothing stored.
faq
Frequently Asked Questions
The mechanism questions people ask the first time they see their own tracking code.
How do senders know if you opened an email?
They do not receive a notice from your mail provider. The message contains a reference to a file on their server, usually an invisible image, and when your client downloads that file the server records the request. The download is the open event. If your client never fetches remote files, no request reaches the server and no open is recorded.
What is a tracking pixel?
A tracking pixel is a tiny remote image, typically 1 by 1 pixels, placed in the HTML of an email. It is invisible because of its size and styling, but your client still retrieves it from the sender's server. The request URL carries identifiers for the message and for you, so the server logs exactly which recipient opened which message and when.
Can email tracking work without images?
Yes, and most campaigns use it. Links in the message can be rewritten to point at the tracking service instead of the real destination. Clicking one of those links reports the click even if you never loaded a single image, because the report is the HTTP request to the wrapper rather than a request to an image host.
Does blocking images stop all tracking?
It stops open tracking by pixel and nothing else. Link tracking, campaign identifiers written into URLs, and any identifier carried in the address of a reply all continue to work. Blocking images is the single highest-value change you can make, but it is a partial defence, which is why the detector on this site checks links and identifiers as well as images.
Do tracking pixels know who I am?
They know which address the vendor has attached to the identifier in the URL, which is usually your address as it appears in the sender's list. Many trackers also embed the address itself, plainly or percent-encoded. The pixel does not know your name, your employer or your other mail; it knows the row you are in.