Appearance
Email Open & Click Tracking
SendAPI automatically tracks email opens and link clicks for all outbound emails. Tracking data is surfaced in the dashboard and delivered via webhook events.
How It Works
Open Tracking
When enabled (default), a 1×1 transparent tracking pixel is injected into each outbound HTML email. When the recipient's email client loads the email, the pixel fires a request to SendAPI which logs the open event.
Privacy Note
Many email clients (especially Apple Mail with MPP) pre-fetch images, which can inflate open rates. Consider using click tracking as a more reliable engagement signal.
Click Tracking
When enabled (default), links in your HTML emails are rewritten to pass through SendAPI's redirect service. When a recipient clicks a link:
- The click event is logged with the URL, timestamp, and user agent
- The recipient is redirected to the original URL
The redirect is transparent and typically completes in under 100ms.
Tracking is provided by the underlying email infrastructure; if you bypass it (e.g., by passing track_opens: false), the redirect/pixel rewriting is skipped and you'll receive no email.opened / email.clicked events for that send.
Disabling Tracking
You can disable open or click tracking per email by passing track_opens: false and/or track_clicks: false in your send request:
json
{
"to": "alice@example.com",
"subject": "Your Invoice",
"html": "...",
"track_opens": false,
"track_clicks": false
}Both default to true.
Tracking Events
| Event | Trigger |
|---|---|
email.opened | Tracking pixel loaded by recipient's email client |
email.clicked | Recipient clicked a tracked link |
email.bounced | Email bounced (hard or soft) |
email.complained | Recipient marked the email as spam |
Webhook Payloads
email.opened
json
{
"event": "email.opened",
"timestamp": "2026-03-09T14:45:00Z",
"data": {
"email_id": 185,
"to": "alice@example.com",
"opened_at": "2026-03-09T14:45:00Z",
"user_agent": "Apple Mail",
"ip": "93.184.216.34"
}
}email.clicked
json
{
"event": "email.clicked",
"timestamp": "2026-03-09T14:46:00Z",
"data": {
"email_id": 185,
"to": "alice@example.com",
"url": "https://myapp.com/dashboard",
"clicked_at": "2026-03-09T14:46:00Z"
}
}Viewing Tracking Data
Track email engagement in real time from your dashboard. Each email in the history table shows its open/click status and the full event timeline.