Open and click tracking

Turn tracking on only
when the message needs it.

Keep the default quiet. Enable opens, clicks, or both per sending domain, then override either signal on one send, broadcast, batch item, or automation.

Tracking is off by default. Open and click signals are useful diagnostics—not proof that a person read or intentionally engaged with a message.

Email timelineYour workspace is readyClicks on
15:02:11Acceptedprovider
15:02:14Deliveredmailbox
15:04:05Clicked/account
Signed tracking token · original HTTPS destination
Offon new domains
2independent signals
Per sendoverride control
HTMLinstrumented only when enabled
A predictable control cascade

Set the baseline once. Make the exception explicit.

The closest explicit setting wins. That keeps a domain consistent without forcing the same tracking choice onto every kind of email.

01Default

Start at the sending domain

Every verified sender stores separate open and click defaults. New domains begin with both settings off.

02Override

Choose again for one message

tracking.opens and tracking.clicks can independently override the domain. An omitted field still inherits its domain default.

03Instrument

Change only the HTML that needs it

NoticeAPI appends a signed open pixel, wraps eligible HTTP links, or leaves the message unchanged when both signals resolve to false.

04Record

Add the signal to the email record

Valid pixel and redirect requests become opened or clicked recipient events on the stored email timeline and logs.

One message can disagree

A click can be on while the pixel stays out.

opens and clicks resolve independently. In this request, open tracking is explicitly off and click tracking is on—even if the domain uses a different baseline.

POST /api/v1/email/sendJSON
{
  "from": "Acme <[email protected]>",
  "to": "[email protected]",
  "subject": "Your workspace is ready",
  "tracking": {
    "opens": false,
    "clicks": true
  },
  "html": "<a href=\"https://acme.com/account\">Open workspace</a>"
}
Resolved trackingper-message
opensPixel omittedfalse
clicksEligible links wrappedtrue
Omit either field to inherit that setting from the sending domain.
The same switch across the product

Use the control at the scope you are already sending from.

Immediate sends, scheduled jobs, batches, broadcasts, and automations all resolve the same two tracking fields.

Immediate and scheduled sends

One tracking object overrides the sender-domain defaults for either an immediate message or a scheduled send.

Send API

Batch entries

Each item in a batch carries its own tracking override, so one array can mix tracked and untracked messages.

Batch API

Audience broadcasts

A broadcast-level override applies to the personalized HTML rendered for each contact in that send.

Broadcast API

Automation steps

An automation-level override follows every template step until the automation is updated or the override is cleared.

Automation API
What changes in the HTML

Two signals. Two different mechanics.

Both paths use signed tracking tokens tied to the stored email. Their interpretation—and their blind spots—are different.

Open tracking

A hidden 1×1 GIF records an image request.

When enabled on an HTML email, NoticeAPI appends a signed pixel URL. A valid request stores an opened event and returns a no-store GIF.

  • Plain-text-only messages cannot carry the pixel.
  • Image blocking can hide an open.
  • Mailbox proxies or prefetching can create one.
Click tracking

An eligible link records, then redirects.

Absolute HTTP and HTTPS links are replaced with signed NoticeAPI redirects. A valid request stores the original URL and returns a 302 to that destination.

  • Relative, mailto, and non-HTTP links stay untouched.
  • Tracking and unsubscribe URLs are not wrapped again.
  • Security scanners can request a link before a person.
Where the signal lands

Keep engagement beside the delivery record.

Opened and clicked entries use the same recipient-event store as delivery outcomes, so the email detail and logs stay in time order.

Email detail

Read opened and clicked events on the message timeline.

Project logs

Search the recent recipient-event stream in chronological order.

Broadcast counts

Broadcast detail includes opened and clicked totals when tracking is enabled.

GET /api/v1/emails/:idevent
{
  "type": "clicked",
  "recipient": "[email protected]",
  "detail": "Tracked by NoticeAPI link redirect.",
  "link": "https://acme.com/account",
  "at": "2026-07-03T15:04:05.000Z"
}
Tracking tokens are signed; a tracking webhook is not promised here.The current first-party pixel and redirect endpoints persist opened and clicked recipient events. They do not forward a customer webhook from those endpoints.
Interpret with context

A useful signal is not human certainty.

Use tracking to debug journeys and compare patterns. Do not treat one open or click as proof of intent, identity, or a completed product action.

01

Use your product event as the source of truth for completed actions.

02

Send one recipient per message when you need clean person-level attribution.

03

Keep tracking off for sensitive messages when the extra signal adds no value.

Start quiet

Send first. Add only the signal you need.

Create a sender, leave the defaults off, and enable a click or open override on the message where it will answer a real question.