Open & Click Tracking
Track email opens and link clicks — off by default, switched on per send or for your whole organization. All tracking requests pass through EU infrastructure — no data is sent to US services.
eusend can track email opens and link clicks. All tracking requests pass through EU infrastructure — no data is sent to US services.
Why eusend has tracking at all
It is a fair question. A pixel that reports back when you read your mail is exactly the kind of thing an EU-native product is supposed to be sceptical of, and we don't pretend otherwise.
Two reasons it exists anyway. The first is that open and click data is how you find out whether your mail is actually landing — a domain whose delivery is quietly rotting usually shows up as engagement falling before it shows up as bounces. The second is that a provider without it doesn't remove tracking from the world; it just keeps people on US providers who serve the same pixel from US infrastructure. Building it here means the request terminates in the EU, and that the data stops at what we describe below.
So the design constraint was never whether to track but how little we could get away with recording. We could have collected far more than we do, and most of the industry does:
| Common elsewhere | eusend | |
|---|---|---|
| IP address of the reader | Stored | Never stored |
| Country / city / geolocation | Derived from IP | Never derived |
| Device, OS and mail client breakdown | Parsed from UA | Not parsed |
| Every repeat open, with timestamps | Full timeline | First open only |
| Per-recipient engagement scores | Profiles built | Not built |
| Reader data shared with third parties | Common | Never |
There is no profile of your recipients anywhere in eusend, and nothing survives the retention window on your plan. What is left is a count of opens and clicks per message — enough to answer "is this getting through", not enough to describe a person.
Tracking is off by default. One switch turns it on for your whole organization, including SMTP and broadcasts, or you can enable it per send.
Why it is off by default
Tracking costs deliverability. Click tracking rewrites every link in your message to point at eusend's tracking host instead of your own domain, and mailbox providers weigh a link domain that doesn't match the sender as a spam signal — on a sign-in link or a password reset, that is the last place you want one. The open pixel is a remote image that many filters and privacy-protecting clients treat with suspicion too.
For transactional mail, the signals that actually tell you whether mail is landing are delivery, bounce and complaint events, and those are always on. Turn tracking on where you need the engagement numbers — typically broadcasts — and leave your transactional mail clean.
Organizations created before 16 October 2026 kept the setting they had, which for most is on. Check Settings → General → Email tracking if you want to switch.
How a setting is resolved
Three levels, most specific first:
- The
track_opens/track_clicksflag on the send, when you pass one. - Your organization default, in the dashboard under Settings → General → Email tracking.
- Off, which is what the organization default ships as.
Omitting a flag is not the same as passing false. Omitting it defers to your
organization default; false turns tracking off for that send whatever the
default says.
The organization default is the only level that reaches every send path — SMTP messages have nowhere to carry a per-send flag, so for SMTP that setting is the control. Broadcasts resolve it once, when the broadcast is created, and keep that answer.
Open tracking
eusend injects a 1×1 transparent pixel into the HTML body, and when the
recipient's email client loads the image, eusend records an opened event.
Open tracking is inherently imprecise. Email clients that pre-fetch images (like Apple Mail with Mail Privacy Protection) may record false opens. Many clients also block remote images by default.
Click tracking
All href links in the HTML body are rewritten to pass through eusend's tracking
endpoint; when clicked, a clicked event is recorded and the recipient is
immediately redirected to the original URL. With click tracking off, your original
URLs are delivered untouched.
What we record
An open stores the requesting user agent, and only for the first open — repeat opens of the same message are discarded, so there is no read timeline. A click stores the destination URL and the id of the link. Neither stores the recipient's IP address, and we derive no location from it.
Events are deleted with the email log they belong to — 30 days on Free and the volumes up to 100,000, 90 days from 250,000 up. See plans.
Turning tracking on
For a single send, pass either flag as true:
{
"from": "hello@acme.com",
"to": "user@example.com",
"subject": "...",
"html": "...",
"track_opens": true,
"track_clicks": true
}For every send from your organization — API, SMTP and broadcasts alike — turn the
defaults on under Settings → General → Email tracking. A send that passes an
explicit flag still overrides it, so with the defaults on you can still pass false
on mail like sign-in links and password resets.
For one broadcast, use the Tracking checkboxes in the composer, or pass the flags when creating it through the API:
{
"name": "March newsletter",
"audience_id": "aud_...",
"from": "hello@acme.com",
"subject": "...",
"html": "...",
"track_opens": true,
"track_clicks": true
}Tracking has no effect on unsubscribe links, which broadcasts always carry.
Consent
You are the controller for the people you email, so whether you have a lawful basis to track them is your decision, not ours. In much of the EU a tracking pixel needs consent under the ePrivacy Directive (Article 5(3)), separately from whatever basis you rely on to send the message at all — a distinction that catches people out most often on marketing broadcasts. The settings above exist so that decision can live in one place rather than on every call.
Analytics dashboard
Aggregate open and click stats are visualised in the Analytics section of the dashboard, with charts broken down by time period, status, and domain.