Skip to main content
Contact confirmation lets you verify that a phone number or email address actually belongs to the customer who provided it.
Don’t confuse contact confirmation with subscription confirmation (double opt-in / DOI). DOI captures a customer’s consent to receive campaigns and is tied to subscriptions. Contact confirmation just verifies ownership of the contact itself.

How to enable contact confirmation

Email and mobile phone confirmation is configured at the integration level under Contact confirmation settings. Once enabled, any contact that comes in through that integration will carry a confirmation flag, and Maestra will take that flag into account when processing requests. Turning the setting on does not affect contacts that are already in your database — only new and updated contacts coming through the integration.

After you turn it on

How contacts appear

Email addresses and mobile numbers get icons in the customer profile:
  • Pending confirmation
  • Confirmed
Contacts with no confirmation data are shown without any icon.

Primary vs. non-primary contacts

On projects with confirmation enabled, contacts are split into primary and non-primary (pending confirmation). Primary contact. Can be either confirmed or pending confirmation. It behaves like a standard contact: it must be unique within the project, you can send standard campaigns to it, and you can use its value in filters and queries. Non-primary contact — always pending confirmation. Its use is heavily restricted: you can only send campaigns to it with specific settings. It does not need to be unique, so it can duplicate someone else’s primary contact or be shared by multiple customers.

Why does a customer have two email addresses or phone numbers?

When someone tries to change a confirmed contact, the old confirmed contact stays primary until the new one is confirmed. You can only send a message with a confirmation code or link to the pending email or number — it isn’t a second full-featured contact.

Why is a customer’s pending contact not primary?

A primary contact, whether confirmed or not, must be unique within the project. So if one customer confirms a given email, that same contact becomes non-primary and pending confirmation on every other customer profile that has it.

Why do two customers have the same contact?

Non-primary contacts don’t have to be unique. If several customers entered the same contact, it can sit as non-primary on all of their profiles. Even after one customer confirms that email or phone, the contact still stays on the other customers’ profiles with the option for them to confirm it as well.

How confirmation status gets written to a contact

On projects with confirmation enabled, a contact can be in one of three states:
  • Pending confirmation
  • Confirmed
  • No confirmation data
Which state it lands in depends on how the contact entered the database.

Integration point with email or mobile confirmation

ScenarioResulting status
Contact filled inPending confirmation
Pending-confirmation contact editedPending confirmation
Unconfirmed contact (no data) editedPending confirmation
Unconfirmed contact not edited but passed in an import or callPending confirmation
Confirmed contact editedOld contact stays primary; new contact is pending confirmation
Exception: the Create and subscribe step in an operation ignores integration settings — the contact arrives with no confirmation data.

Integration point without confirmation

ScenarioResulting status
Contact filled inNo confirmation data
Any contact editedNo confirmation data
Contact with confirmation not edited but passed in an import or callExisting status is preserved

Adding a customer or contact manually

ScenarioResulting status
Contact added while creating a new customerPending confirmation
Contact filled in on an existing customerNo confirmation data
Unconfirmed contact editedNo confirmation data
Pending-confirmation contact editedPending confirmation
Confirmed contact editedOld contact stays primary; new contact is pending confirmation

Which contacts you can send campaigns to

You can send campaigns to a primary contact — confirmed or pending — just like any other contact. The only thing that matters is whether the contact is valid. To a non-primary, unconfirmed contact, you can only send transactional campaigns through a flow or an operation, with the appropriate contact type specified.

How to confirm a customer’s contact

Confirming an email

From a campaign

Add the Ticket.EmailConfirmationLinkTicket ticket to the confirmation link. Clicking the link confirms the contact and, if DOI is enabled on the project, the subscription as well. Example link with a ticket:
https://mysite/?direct-crm-ticket=${Ticket.EmailConfirmationLinkTicket}

Through a flow

Use the Confirm email step in your flow.

Through an import

In your import or edit job, add the IsEmailConfirmed field with any positive value (1 / true / yes).
Make sure to use the integration that has the confirmation flag set for the corresponding contact type.

Confirming a mobile phone

From an operation

Call an operation that uses one of these steps:
  • Confirm mobile phone and SMS subscription
  • Confirm mobile phone on the customer side

Through an import

In your import or edit job, add the IsMobilePhoneConfirmed field with any positive value (1 / true / yes).
Make sure to use the integration that has the confirmation flag set for the corresponding contact type.

When multiple customers confirm the same contact

The customer profiles get merged. Contacts that grant account access have some specifics during deduplication.

After confirmation

The confirmation is recorded in the change history. You can trigger a flow off this event for both email and mobile phone confirmations.