Transactional email

You can send real-time transactional emails using our communications functionality in the API.

Features include:

  • The content of the transactional email can be HTML and/or plain text based
  • Use triggered templates to send transactional email
  • Data merge using data passed in the API call
  • Bulk methods for high volume sending
  • Attachment support
  • Feedback via webhooks

Ways of sending transactional email

We offer a range of ways to send transactional emails from built in functions in our integrations and a variety of API and protocol based methods, such as:

API based

Use our Transactional Email API to send transactional email individually or in bulk using explicit content or triggered templates with data merge. Check out the following methods to learn more, Transactional Email API

SMTP based

Use SMTP to send transaction email using your favourite email tools and or libraries; the full process is explained in our guide here


Send limits

Calls to the Transactional Email API do not count towards your API call rate limits, however by default you are limited to 50,000 per UTC calendar day. Contact your Customer Success representative if you need more capacity per day.

Receiving status updates

If you wish to receive status updates on your transactional email sends you can do via our Webhooks is near real-time. You can optionally subscribe to the following event types:

  • message.sent - Sent whenever you successfully send a transactional email
  • message.delivered - Sent when we know a message is delivered, and is inferred from when the email is read
  • - Sent when a message is read / opened
  • message.failed - Sent if there is a terminal problem processing your email send
  • complaint.received - Sent if a recipient of your transactional email complains about the email. We recommend reacting to these and ensuring you do not send further emails to this recipient.
  • - Sent whenever a recipient clicks on a tracked link within your emails. Use a triggered campaign based Transactional Email to add tracked links to your emails.


Use individual email sends if you want granular tracking

Due to the nature of email we can only track events such as sent, delivered, read and clicked down to the transactional email request, therefore if you want these events for each recipient then please only send to a single email address per transactional email request. You can use our batch transactional email API methods to send large collections of emails efficiently.


Keep your email recipients up to date

When using transactional email it is important to ensure your recipients are maintained to ensure email is not sent to recipients who are not expecting or wanting it, to old invalid email addresses, or to recipients who have complained. Failure to keep your recipients maintained causes deliverability issues for your email and may require you to use your own dedicated IPs in order to continue to use the service.

To help maintain your recipients automatically we strongly recommend implementing our webhooks and sending to individuals. If you receive a webhook event for the following you should remove the recipient from any future sends:

  • A message.failed event with a status of "Hard bounce", as this indicates the email address is no longer valid.
  • A complaint.received event, as this indicates that the recipient has made a complaint about receiving the email and therefore should be opted out of future sends.

Making events easier to correlate and process

When sending your transactional email messages using the Transactional Email API you can optionally

We include this metadata and any tags in the webhook events related to the transactional email. By including your own keys and data you can make it far easier to process the received webhook events by avoiding the need to perform a lookup prior to processing potentially.

Template based transactional email

Users of Dotdigital can create a transactional email template as a triggered campaign in EasyEditor.

It then needs to be sent either via SMTP, or via our API; see:

The numeric campaign ID is used in the call to identify the triggered campaign to send as a transactional email.

Personalisation can also be used in the transactional email template by adding placeholders such as @FIRSTNAME@ in the triggered campaign in Dotdigital.

The personalisation values are then supplied either in the SMTP headers or in the API call's parameters. These take the form of key-value pairs.

Unsupported EasyEditor building blocks and links

Transactional email templates don't support the following EasyEditor building blocks and link types:

  • RSS feed
  • Sharing
  • Social links
  • Dynamic content
  • External dynamic content
  • Advanced personalisation blocks
  • Unsubscribe link - but you must include one in order to save your template in EasyEditor; read 'About unsubscribe links' in our 'Creating and designing a transactional email template' support article.
  • View in browser link
  • Double opt-in link


A note on HTML compatibility for personalisation content

When making use of transactional email personalisation, the type of personalised content needs to be compatible with the HTML element it's being put into in EasyEditor. For example, if your code contains a personalised table, it must go into a table element in the template, not a paragraph.

Check with your campaign designers to ensure that their campaign's elements are suitable for the personalisation content being used.

Monitoring transactional email

You can monitor and analyse the usage of the transactional email system in the Analytics area of Dotdigital. In-app, you can also:

  • Download messages
  • View complaints
  • Configure usable from addresses, and request new ones
  • Configure link tracking
  • Set up SMTP credentials
The transactional email dashboard

The transactional email dashboard

Avoiding deliverability issues

It is important that only transactional style emails and not marketing are sent using the Transactional Email API, and the recipient is expecting to receive the email, as opt out checks are not automatically applied. We recommend if you receive a complaint.received webhook event that you stop sending email to this recipient immediately, as the complaints damage the reputation and therefore deliverability of emails of the domain and IP address the email was sent from.

You can also view received complaints with regards to transactional email in Dotdigital.

To do this:

  1. Expand the User menu in the bottom left and select Settings.
  2. Go to Transactional email > Complaints.
Viewing your transactional email complaints

Viewing your transactional email complaints


Do not ignore complaints

If you are receiving complaints you must ensure that you stop emailing these recipients, and if you receive many complaints please review your emails contents to see if it:

  • Is transactional in nature i.e. informative, an update on a service or purchase the recipient has used/done
  • Is expected, you informed the recipient that you would be sending the emails

If too many complaints are received then we may withdraw your use of the Transactional Email API, and complaints are continually monitored by our deliverability team.


Learn more about transactional email

For an overview on transactional email, check out our Help centre article .