# Email Tracking Pixel Detector

Paste raw email source or HTML to find 1x1 tracking pixels, hidden remote images, known tracker domains, CSS beacons, prefetch assets, and optional click trackers.

## Run it

- **CLI:** `gizza tool email-tracker-pixel-detector 'Paste raw .eml source or HTML email markup, e.g. <img src="https://track.example/open.gif?u=abc" width="1" height="1">'`
- **Web:** https://gizza.ai/tools/email-tracker-pixel-detector/
- **Agents:** machine-readable descriptor (parameters JSON Schema) at https://gizza.ai/tools/email-tracker-pixel-detector/tool.json

## Inputs

- `text` — Email source or HTML _(field)_
- `format` — Input type _(field)_
- `report` — Report _(field)_
- `include_links` — Also inspect links for click tracking _(field)_
- `vendors` — Extra tracker domains _(field)_

## Output

- Tracking report (text)

## Query parameters

Open the tool pre-filled and auto-run via URL:

- `text` — Email source or HTML
- `format` — Input type
- `report` — Report
- `include_links` — Also inspect links for click tracking
- `vendors` — Extra tracker domains

Example: `https://gizza.ai/tools/email-tracker-pixel-detector/?text=Paste%20raw%20.eml%20source%20or%20HTML%20email%20markup%2C%20e.g.%20%3Cimg%20src%3D%22https%3A%2F%2Ftrack.example%2Fopen.gif%3Fu%3Dabc%22%20width%3D%221%22%20height%3D%221%22%3E&format=auto&report=summary&include_links=true&vendors=track.example.com%2C%20email.your-esp.test`

---

## About this tool

Email Tracking Pixel Detector inspects raw email source or HTML markup for the remote assets that can report when a message is opened. It looks for tiny `1×1` or `0×0` images, CSS-hidden images, known email-service and sales-tool tracking hosts, open/pixel/beacon URL paths, unique recipient IDs in query strings, CSS `background-image` beacons, and prefetch/preload links.

Everything runs locally in your browser. The detector never fetches the image, follows a redirect, resolves DNS, opens a mailbox, or uploads your email. A `TRACKED` result means the pasted markup declares at least one high-confidence open tracker. `LIKELY_TRACKED` means a remote asset has structural tracking signals but no known vendor match. `REMOTE_CONTENT` means the email would contact a remote host even though no tracker-specific signal was found.

### Worked example

Paste this HTML:

```html
<img src="https://track.hubspot.com/open.gif?email=a@example.com&id=abc123456789abcdef" width="1" height="1" style="display:none">
```

The summary reports `TRACKED`, lists `track.hubspot.com` as a host contacted on open, and explains the signals: known tracker domain, tiny pixel, hidden CSS, tracking path, and unique ID query.

Set **Report** to **Hosts only** when you want a paste-ready list for a mail rule, firewall, or content blocker. Add private ESP or CDN hosts in **Extra tracker domains** when your organization rewrites tracking links through a custom domain.

### Limits and edge cases

- The vendor table is a curated snapshot. Unknown hosts are still flagged when their markup looks like a tracker, and you can add custom hosts with the `vendors` field.
- Raw `.eml` input is scanned as pasted source. Encoded MIME parts that do not expose their HTML after export may need to be decoded by your mail client first.
- The tool does not perform network I/O, so it cannot inspect HTTP headers, ETags, cookies, redirects, or live reputation feeds.
- A `CLEAN` result only means no remote image/prefetch/link tracker was declared in the pasted markup. It cannot see content that your mail client would fetch or rewrite later.

## FAQ

<details>
<summary>What counts as a tracking pixel?</summary>

A high-confidence tracking pixel is usually a remote image that is tiny, hidden, hosted on a known email-tracking domain, or loaded from a URL containing open, pixel, beacon, tracking, or recipient-ID parameters. The tool reports every signal it used so you can verify the finding instead of trusting a black-box badge.

</details>

<details>
<summary>Does this block the tracker?</summary>

No. This is a detector, not a mail-client extension. It does not load or rewrite the email. Use the **Hosts only** report to copy remote hosts into a blocker or mail rule, or disable remote images in your mail client before opening suspicious messages.

</details>

<details>
<summary>Why are normal remote images reported?</summary>

Any remote image can reveal your IP address, rough location, mail client, and open time to the server that hosts it. If the image has no tracker-specific signal, the verdict is `REMOTE_CONTENT` instead of `TRACKED`, but it is still listed so you can decide whether loading it is acceptable.

</details>

<details>
<summary>Should I turn on link inspection?</summary>

Turn on **Also inspect links** when you want click-tracking hosts too. It is off by default because open tracking and click tracking answer different questions: an image can fire when you merely open a message, while a link only reports if you click it.

</details>

## Related tools

- [Parse a Postal Address](https://gizza.ai/tools/address-parse/): Parse a freeform postal address into street, unit, city, region, postcode, and country fields. Local, rule-based, and browser-only.
- [Authorization Header Decoder](https://gizza.ai/tools/authorization-header-decode/): Decode an HTTP Authorization header: Basic to username and password, Bearer token structure, Digest and AWS SigV4 params. Free, in your browser.
- [Basic Auth Header Generator](https://gizza.ai/tools/basic-auth-header-generator/): Generate an HTTP Basic Authorization header from a username and password — base64(user:pass) per RFC 7617. Runs in your browser, nothing is sent, free.
- [Calendar Free/Busy Overlap](https://gizza.ai/tools/calendar-freebusy-overlap/): Paste two .ics calendars and list the time slots where both are free — working hours, minimum meeting length, timezones and DST handled. Free and in-browser.
- [CIDR Calculator](https://gizza.ai/tools/cidr-calculator/): CIDR calculator: get network address, broadcast, netmask, wildcard, usable host range and host count for any IPv4 or IPv6 prefix. Free, private, in-browser.
