DocumentationOpen and click tracking

Open and click tracking

Tracking pixel and link redirect endpoints for engagement metrics.

When tracking is enabled on a send, MailingCore rewrites links and injects a transparent pixel. Recipients hit public track endpoints; no API key is required (the logId token is opaque).

Endpoints

TypeMethodEndpointBehavior
OpenGET/track/o/:logIdReturns 1×1 GIF; records open event
ClickGET/track/c/:logIdRecords click; 302 redirect to original URL

:logId identifies the send log row. The API generates tracked URLs when building the message body.

How it works

  1. You send with tracking on (the default).
  2. HTML links become redirect URLs through /track/c/....
  3. A pixel <img src=".../track/o/..."> is appended for opens.
  4. Events feed analytics and optional webhooks.
Recipient opens email  →  GET /track/o/clk_abc  →  open recorded
Recipient clicks link  →  GET /track/c/clk_abc  →  click recorded  →  redirect to destination

Disabling tracking

Set trackingDisabled: true in POST /emails/send to skip the open pixel and click rewriting for that send. Tracking is per-send — there is no per-template flag. List-Unsubscribe and the unsubscribe link are still added, and the message delivers without any rewrite.

See Analytics for aggregated open and click rates.