Kraiter
Guides

Tracking

Monitor email engagement with open tracking, click tracking, and per-contact metrics.

Kraiter provides built-in tracking for email opens and link clicks. Tracking data is recorded automatically for every email sent through the platform, giving you visibility into how contacts engage with your emails.

Open tracking

Open tracking works by embedding a tiny invisible image (a tracking pixel) in the HTML body of each email. When the recipient's email client loads the image, Kraiter records an open event.

How it works

  1. Kraiter inserts a 1x1 transparent pixel into the email HTML during rendering
  2. The pixel URL is unique to each send, encoding the send ID and contact
  3. When the email client loads the pixel, Kraiter logs an email.opened event
  4. The event includes a timestamp, the send ID, and the contact's email

Limitations

Open tracking is not 100% accurate:

  • Image blocking — Some email clients block images by default (notably Outlook). If the recipient does not load images, the open is not recorded.
  • Pre-fetching — Some clients (Apple Mail Privacy Protection) pre-fetch images automatically, which can register an open even if the recipient has not viewed the email.
  • Plain text — If a recipient views the plain text version of the email, no open is recorded.

Open tracking provides a useful signal for engagement trends, but should not be treated as exact metrics.

Click tracking

Click tracking works by wrapping links in your email with a Kraiter redirect URL. When the recipient clicks a link, the request passes through Kraiter's tracking server, which records the click and redirects the user to the original destination.

How it works

  1. During rendering, Kraiter replaces each link in the email body with a tracking URL
  2. The tracking URL encodes the original destination, send ID, and contact
  3. When the recipient clicks the link, Kraiter logs an email.clicked event
  4. The recipient is immediately redirected to the original URL

What gets tracked

  • The original URL that was clicked
  • The timestamp of the click
  • The send ID and contact email
  • Multiple clicks on the same link are recorded individually

Kraiter does not wrap certain links:

  • Unsubscribe links (these use the platform's built-in unsubscribe mechanism)
  • mailto: links
  • Links explicitly marked as no-track in the template

Per-contact engagement metrics

Kraiter maintains engagement metrics for each contact based on tracking data. These are available as derived properties on the contact:

MetricDescription
emailsSentCountTotal emails sent to this contact
emailsOpenedCountTotal recorded opens
emailsClickedCountTotal recorded clicks
lastEmailSentAtTimestamp of the last email sent
lastEmailOpenedAtTimestamp of the last recorded open
lastEmailClickedAtTimestamp of the last recorded click

Access these via the contact:

SDK
const contact = await kraiter.contacts.get('alice@example.com');

console.log(`Sent: ${contact.emailsSentCount}`);
console.log(`Opened: ${contact.emailsOpenedCount}`);
console.log(`Clicked: ${contact.emailsClickedCount}`);
console.log(`Last opened: ${contact.lastEmailOpenedAt}`);

These metrics can also be used in segment rules and sequence conditions:

Segment rule
conditions:
  - property: contact.emailsOpenedCount
    operator: greaterThan
    value: 5

Per-send tracking data

Each individual send has its own tracking record. Retrieve it using the send ID:

SDK
const send = await kraiter.sends.get('snd_abc123def456');

console.log(send.status);      // 'delivered', 'bounced', etc.
console.log(send.openedAt);    // First open timestamp (if opened)
console.log(send.clickedAt);   // First click timestamp (if clicked)
console.log(send.clicks);      // Array of all click events
cURL
curl https://api.kraiter.com/sends/snd_abc123def456 \
  -H "Authorization: Bearer YOUR_API_KEY"

Privacy considerations

Email tracking involves recording recipient behaviour. Keep these points in mind:

  • Compliance — Ensure your tracking practices comply with applicable regulations (GDPR, CAN-SPAM, PECR). Your privacy policy should disclose that you track email engagement.
  • Unsubscribe — Always include a clear unsubscribe mechanism. Kraiter handles this automatically with one-click unsubscribe headers.
  • Data retention — Tracking data is retained according to your tenant's data retention settings. Consider how long you need to keep engagement data.
  • Apple Mail Privacy Protection — Since iOS 15, Apple Mail pre-fetches tracking pixels, which inflates open rates. Consider this when analysing engagement data.
  • Transparency — Be straightforward with your recipients about what you track and why. Trust builds better engagement than surveillance.