# Dotdigital Destination

> \[!IMPORTANT]
>
> This feature is in active development and may change before general availability.

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Alias](/docs/segment/connections/spec/alias), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Dotdigital** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)
* This integration is **partner owned.** Please reach out to the partner's support for any issues.
* This destination is **Beta.**

[Dotdigital](https://dotdigital.com/?utm_source=segmentio\&utm_medium=docs\&utm_campaign=partners) is an all-in-one customer experience and data platform (CXDP) that empowers marketing teams to exceed customer expectations with highly personalized cross-channel journeys.

This destination is maintained by Dotdigital. For any issues with the destination, [contact the Dotdigital Support team](mailto:support@dotdigital.com).

## Getting started

1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog) search for "Dotdigital".
2. Select Dotdigital and click **Add Destination**.
3. Select an existing Source to connect to Dotdigital (Actions).
4. Log in to your [Dotdigital account](https://login.dotdigital.com/). Expand the User menu in the bottom left and go to Settings > Access > API users.
5. Note your API region (r1, r2 or r3) for step 7.
6. Create a [new API user](https://developer.dotdigital.com/docs/setting-up-an-api-user).
7. In Segment, select your Dotdigital account region and paste the **API user** and **API password** in the Dotdigital destination settings.

## Destination Settings

| Field    | Description                   | Required | Type     |
| -------- | ----------------------------- | -------- | -------- |
| Region   | The region your account is in | Yes      | select   |
| Password | Your Dotdigital password.     | Yes      | password |
| Username | Your Dotdigital username      | Yes      | string   |

## Available Actions

Build your own Mappings. Combine supported [triggers](/docs/segment/connections/destinations/actions/#components-of-a-destination-action) with the following Dotdigital-supported actions:

> \[!NOTE]
>
> Individual destination instances have support a maximum of 50 mappings.

* [Enrol Contact to Program](#enrol-contact-to-program)
* [Remove Contact from List](#remove-contact-from-list)
* [Add Contact to List](#add-contact-to-list)
* [Send Transactional SMS](#send-transactional-sms)
* [Send Email Campaign](#send-email-campaign)
* [Send Transactional Email](#send-transactional-email)
* [Send SMS](#send-sms)

### Enrol Contact to Program

Creates a program enrolment.

Enrol Contact to Program is a **Cloud** action. The default Trigger is `type = "track" and event = "Enrol Contact to Program"`

| Field                   | Description                            | Required | Type   |
| ----------------------- | -------------------------------------- | -------- | ------ |
| Contact Identifier type | Select the field to identify contacts. | Yes      | STRING |
| Email Address           | The Contact's email address.           | No       | STRING |
| Mobile Number           | The Contact's mobile number.           | No       | STRING |
| Program                 | List of active programs                | Yes      | STRING |

### Remove Contact from List

Removes a Contact from a List.

Remove Contact from List is a **Cloud** action. The default Trigger is `type = "track" and event = "Remove Contact from List"`

| Field                   | Description                            | Required | Type   |
| ----------------------- | -------------------------------------- | -------- | ------ |
| Contact Identifier type | Select the field to identify contacts. | Yes      | STRING |
| Email Address           | The Contact's email address.           | No       | STRING |
| Mobile Number           | The Contact's mobile number.           | No       | STRING |
| List                    | The List to remove the Contact from.   | Yes      | NUMBER |

### Add Contact to List

Adds a contact to a list.

Add Contact to List is a **Cloud** action. The default Trigger is `type = "track" and event = "Add Contact to List"`

| Field                   | Description                                                                                                                              | Required | Type   |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------ |
| Contact Identifier type | Select the field to identify contacts.                                                                                                   | Yes      | STRING |
| Email Address           | The Contact's email address.                                                                                                             | No       | STRING |
| Mobile Number           | The Contact's mobile number.                                                                                                             | No       | STRING |
| List                    | The list to add the contact to.                                                                                                          | Yes      | NUMBER |
| Data Fields             | An object containing key/value pairs for data fields assigned to this Contact. Custom Data Fields must already be defined in Dotdigital. | No       | OBJECT |

### Send Transactional SMS

Sends a transactional SMS.

Send Transactional SMS is a **Cloud** action. The default Trigger is `type = "track" and event = "Send Transactional SMS"`

| Field                    | Description                                                                                                                                                                                                                                                                                                   | Required | Type    |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- |
| To                       | Only valid mobile numbers with an international dialling prefix will be accepted (e.g. 447777123123).                                                                                                                                                                                                         | Yes      | STRING  |
| From                     | Enter a custom From name, or leave blank to use a random number. From name format varies by region. \[Learn more]\(https://support.dotdigital.com/en/articles/8199187-sender-ids-and-originators)                                                                                                             | No       | STRING  |
| Message                  | The content of the SMS, up to 160 non-encoded characters per message.                                                                                                                                                                                                                                         | Yes      | TEXT    |
| Link Shortening          | \[Link shortening]\(https://developer.dotdigital.com/v2/reference/additional-options#link-shortening) will automatically shorten your links to save character count and track who clicked on them for better reporting. Defaults to No.                                                                       | No       | BOOLEAN |
| Allow Unicode Characters | If Yes, Unicode characters will be allowed in the message body. If No, any messages containing Unicode will not be sent. Please \[read why Unicode]\(https://developer.dotdigital.com/reference/channel-sms#section-why-is-unicode-important-with-sms) is important before switching this on. Defaults to No. | No       | BOOLEAN |

### Send Email Campaign

Sends a marketing email to a contact.

Send Email Campaign is a **Cloud** action. The default Trigger is `type = "track" and event = "Send Email Campaign"`

| Field               | Description                                                                                                                           | Required | Type     |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------- |
| Email               | A single email address to send the campaign to. If the contact does not exist in your Dotdigital account, the campaign won't be sent. | Yes      | STRING   |
| Campaign            | The campaign to email to a contact.                                                                                                   | Yes      | NUMBER   |
| Send Date           | The campaign will be sent immediately if the send date is left blank.                                                                 | No       | DATETIME |
| Send Time Optimised | Send the campaign at the most appropriate time based upon their previous opens.                                                       | No       | BOOLEAN  |

### Send Transactional Email

Sends a transactional email.

Send Transactional Email is a **Cloud** action. The default Trigger is `type = "track" and event = "Send Transactional Email"`

| Field              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Required | Type   |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------ |
| From Address       | Use either your default transactional email from address, or another custom from address you have added to your account. If you set a from address that is not listed in your available from addresses, Dotdigital will replace it with your default from address. You may set a from name as well as an email address, for example "My Company \<\`Dotmailer123@r1.dotdigital-email.com\`>". \[Read more about using transactional email]\(https://support.dotdigital.com/en/articles/8199068-use-transactional-email). | Yes      | STRING |
| To Address         | The email address(es) to send to.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Yes      | STRING |
| Subject            | The subject line for your email.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Yes      | STRING |
| HTML Content       | The HTML content for your email.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Yes      | TEXT   |
| Plain Text Content | The plain text content for your email.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | No       | TEXT   |
| CC Addresses       | The CC email address(es) to send to. Separate email addresses with a comma. Maximum: 100.                                                                                                                                                                                                                                                                                                                                                                                                                                | No       | STRING |
| BCC Addresses      | The BCC email address(es) to send to. Separate email addresses with a comma. Maximum: 100.                                                                                                                                                                                                                                                                                                                                                                                                                               | No       | STRING |

### Send SMS

Sends a marketing SMS to a contact.

Send SMS is a **Cloud** action. The default Trigger is `type = "track" and event = "Send SMS"`

| Field   | Description                                                          | Required | Type   |
| ------- | -------------------------------------------------------------------- | -------- | ------ |
| To      | The mobile number of the contact in E.164 format (e.g. 14155552671). | Yes      | STRING |
| Message | The message to send in the SMS.                                      | Yes      | TEXT   |

## Additional context

### Add Contact to List

Before using the Add Context to List Action, complete the following prerequisites:

* **Lists**: [Create a contact list in Dotdigital](https://support.dotdigital.com/en/articles/8198769-create-a-contact-list). After you've created a list in Dotdigital, return to the Segment app and select your list from the dropdown in the Segment event mapping.
* **Data Fields**: [Create or edit your data fields in Dotdigital](https://support.dotdigital.com/en/articles/8198833-create-delete-and-edit-custom-data-fields), then return to the Segment app, open the event mapping, and map Segment properties to Dotdigital data fields.

### Enroll Contact to Program

When you use the Enroll Contact to Program action, Dotdigital creates a contact for the identifier you provide, if the contact doesn't already exist.

### Send SMS

Only valid mobile numbers with an international dialing prefix in E.164 format will be accepted. This format is a combination of `+[country code][phone number]`. For example: `+12133734253`.

### Send Transactional SMS

* Only valid mobile numbers with an international dialing prefix in E.164 format will be accepted. This format is a combination of `+[country code][phone number]`. For example: `+12133734253`.
* You must have SMS pay-as-you-go enabled to use this action. Learn more about how to enable SMS pay-as-you-go in [Dotdigital's documentation](https://support.dotdigital.com/en/articles/8199154-understand-sms-pay-as-you-go-and-spend-limit).

## Engage

You can send computed traits and audiences generated using [Engage](/docs/segment/engage) to this destination as a **user property**. To learn more about Engage, schedule a [demo](https://segment.com/contact/demo).

For user-property destinations, an [identify](/docs/segment/connections/spec/identify/) call is sent to the destination for each user being added and removed. The property name is the snake\_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property `order_completed_last_30days: true`. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to `false`.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

> \[!NOTE]
>
> Real-time audience syncs to Dotdigital  may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

## Settings

Segment lets you change these destination settings from the Segment app without having to touch any code.

| Field    | Description                   | Required | Type     |
| -------- | ----------------------------- | -------- | -------- |
| Region   | The region your account is in | Yes      | select   |
| Password | Your Dotdigital password.     | Yes      | password |
| Username | Your Dotdigital username      | Yes      | string   |
