# Why are opens and clicks not tracked?

> Open and click tracking needs a verified tracking CNAME and tracking turned on. Fix missing loaded and clicked events for API, SMTP and campaign mail.

This article helps when emails are delivered but never show **Loaded** or **Clicked**, or your analytics show zero opens and clicks.

## Symptoms

- Emails stay **Delivered** even though recipients opened them or clicked links.
- The **Loads** and **Clicks** tabs on the email page are empty.
- No `email.loaded` or `email.clicked` webhook events arrive.
- The links in received emails point straight to your site instead of `https://go.acme.com/…`.

## Cause

Emailit only tracks mail sent from a domain with a **verified tracking CNAME**. Without it, every email is sent untracked, whatever your settings say. The usual causes:

- **The tracking record is missing or wrong.** It's a CNAME from `go.acme.com` (or your custom tracking subdomain) to `go.emailitmail.com`.
- **The record is proxied on Cloudflare.** A proxied record doesn't return a CNAME, so verification fails. See [Why does my tracking CNAME fail on Cloudflare?](/docs/kb/cloudflare-proxy-breaks-tracking-cname/).
- **Tracking is turned off.** **Track loads** and **Track clicks** are off by default for each domain.
- **Your API request turns it off.** The `tracking` parameter overrides the domain defaults for that email.
- **The email has no HTML.** Open tracking adds a tiny image to the HTML part, and click tracking rewrites `http` and `https` links in it. Plain-text emails can't be tracked.
- **The recipient's mail app blocks images.** Opens are recorded only when the image loads, so some opens are never counted.

## Fix

1. **Check the tracking record.** Open **Email API → Domains**, select the domain and find the tracking CNAME in the DNS records. It must show **OK**.

2. **Publish or fix the CNAME.** Add it at your DNS provider, then select **Check DNS**:

```text
go.acme.com  CNAME  go.emailitmail.com
```

   If your DNS is on Cloudflare, set the record to **DNS only**. See [Custom tracking domain](/docs/tracking/custom-tracking-domain/).

3. **Turn on tracking for the domain.** Once the CNAME is **OK**, switch on **Track loads** and **Track clicks** on the domain page, or call [Update a domain](/docs/api-reference/domains/update/) with `track_loads` and `track_clicks`. These defaults apply to API and SMTP mail.

4. **Check your API requests.** If you pass `tracking`, set it to `true` or to `{"loads": true, "clicks": true}`. Leave it out to use the domain defaults. SMTP mail always follows the domain defaults.

5. **Send a new test email.** Tracking is decided when the email is sent, so earlier emails stay untracked. Send an HTML email to yourself, open it with images on and click a link. The status changes to **Loaded**, then **Clicked**.

Campaign emails are tracked automatically once the tracking CNAME is verified. Emailit re-checks the record every day. If it breaks, new mail goes out untracked until it passes again. Learn more in [Tracking](/docs/tracking/).

## Still stuck?

[Contact support](/contact/) or ask in [Discord](https://discord.emailit.com) with the domain name and the ID of an email that should have been tracked.

---
Source: https://emailit.com/docs/kb/opens-and-clicks-not-tracked/
