> For the complete documentation index, see [llms.txt](https://help.smartico.ai/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.smartico.ai/welcome/products/crm-automation/communication-channels/opt-out-and-communication-statuses.md).

# Opt-out & Communication Statuses

> This document is describing different statuses of emails, phone numbers and account statuses and their impact on the possibility to send email and SMS communication.
>
> It's important to properly segment users when building marketing campaigns, so the users in the statuses that are not allowing communication will not enter such campaigns.

### Opt-out Status

Operators can review the opt-out status for emails and SMS of the player from the user profile page in the BO. Within the **Communication channels** section, you can find details about the following opt-out statuses:

* **PAM Opt-out** - indicates the opt-out status of players who have used the Player Account Management System unsubscription flow (managed by the operator). It cannot be updated from the Smartico BO. This is represented by properties - **core\_is\_email\_disabled\_by\_platform, core\_is\_sms\_disabled\_by\_platform**, **core\_is\_push\_disabled\_by\_platform**
* **Smartico Opt-out** - indicates the opt-out status of players who have used the Smartico unsubscription flow or manual Back-Office updates. It can be updated directly from the Smartico BO for Email (**core\_is\_email\_disabled**), SMS (**core\_is\_sms\_disabled**), Push (**core\_is\_push\_disabled**), and IVR (**core\_is\_ivr\_disabled**).

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2FT5kTZtG9LCouLVaTlykb%2Fr2-025-crop-1-99c329a1-d632bb.png?alt=media" alt=""><figcaption><p>Communication statuses inside the BO</p></figcaption></figure></div>

{% hint style="info" %}
**If you want to bring PAM optout flags to Smartico, you will need to extend the integration**

* If your integration is API based, you can just update needed flags using REST API with 'update\_profile' event. Please refer to the REST API documentation available in the Smartico BackOffice of your account

* If your integration is DB replica based, please expose new fields that present information about PAM statuses and create a ticket for the Smartico team to map these fields to the user profile.

* If your integration is Kafka/RabbitMQ based, please extend the relevant events/topics with PAM fields and create a ticket for the Smartico team to map these fields to the user profile.
  {% endhint %}

* **Opt-out by vertical properties** - This additional configuration is available to help you manage vertical-specific opt-out preferences such as sending promotional communications only for casino but not for sport, or excluding users flagged as bonus abusers. In Marketing Automation, you’ll now see label settings for each message channel: **Mail opt-out properties for "Send only if"** for Email, **SMS opt-out properties for "Send only if"** for SMS and other Instant Messages, and **Push opt-out properties for "Send only if"** for Push. In them you can list user properties that control eligibility per channel.

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note</strong>: Only Boolean-type properties are supported, and you can list multiple values in the field to cover different verticals</p></div>

  <div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2FOPfYt6HeW1uIHp4k0aBE%2Fr2-027-shot-2-7c43cddb-096165.png?alt=media" alt=""><figcaption><p>Label settings, Mails: 1 — Mail opt-out properties for "Send only if"; 2 — the list of properties, separated by semicolons</p></figcaption></figure></div>

  Once set up, these properties appear in the flow builder in a dropdown called “**Send only if**”, allowing you to conditionally send communications based on whether a user has opted in to a specific vertical. This gives you more flexibility when handling consent logic and helps align with regulatory requirements like those in the UK.

  <div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2FsJg3DIyEffNxWLX73GqG%2Fr2-026-crop-3-a240a638-7a300b.png?alt=media" alt=""><figcaption><p>BO: "Send only if" condition for Email activity in Flow builder</p></figcaption></figure></div>

### **Opt-out Flow managed by Smartico**

Operators can use the Smartico unsubscription flow for emails and SMS communications.

This flow is managing the properties - core\_is\_email\_disabled and core\_is\_sms\_disabled.

For emails, you need to add the unsubscribe link (dp:unsubscribe) in the email asset. When the user clicks it, they will be redirected to an opt-out page where they can opt-out or snooze the communication for 30 days.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-f7c0e9fae978794db1f20d047025aeba01c5107d%2Fimage-20250730-113126.png?alt=media" alt=""><figcaption><p>Smartico Unsubscribe page</p></figcaption></figure></div>

The design of this page is customizable, allowing you to create them in a way that will match perfectly your brand identity. If you haven't created a custom page, we will automatically display our default unsubscribe page.

{% hint style="info" %}
Contact your Success Manager to enable the customized unsubscribe page
{% endhint %}

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-1d9aa953866baa89fe7194375cbe1566861b3afa%2FScreenshot_6.png?alt=media" alt=""><figcaption><p>Example of customized unsubscribe page</p></figcaption></figure></div>

If the player chooses to 'Snooze' the communication, they will not receive emails or SMSs for 30 days. The Smartico opt-out status is changed to TRUE (meaning that the player has opted out) and after this period is over, the Smartico opt-out status is changed back to FALSE - the player will receive again emails/SMSs.

Players can opt out using either the PAM flow, the Smartico opt-out flow, or both. However, once they have opted out from either PAM or Smartico, their emails will be blocked, regardless of their mail address status, and they will not receive any further communications.

This is the default. The **Opt-out status impact** option of the Email, SMS, and Push activities in the flow builder can change it: the activity can ignore the PAM opt-out, the Smartico opt-out, or both.

**How to opt-out of SMS communication:**

* Include in the SMS message tag {{optout}}. When an SMS is sent, the tag will be replaced automatically with a unique link that will lead the user to the opt-out page. In Data Studio, you can measure the opt-out rate per campaign or SMS template.

### Custom Unsubscribe Page Setup

To build a branded custom unsubscribe page, create an HTML document as a Mail Resource in the Back-Office and ensure it includes:

1. The JavaScript script block in the HTML header to load Smartico opt-out actions.
2. Action buttons calling the unsubscribe function for permanent unsubscription or temporary 30-day snooze.

Once created, provide the Mail Resource ID to your Success Manager or configure it in Label Settings in the **Mail unsubscribe page (mail asset ID)** and **SMS unsubscribe page (mail asset ID)** settings.

### **Account Status**

Status of account in the Smartico system, stored under property core\_account\_status.

If the account is not **ACTIVE**, the Smartico system **will not execute any marketing activities** for such an account. The default value for a newly created account is Active. Other possible statuses are: Blocked, Suspended, Banned, Self\_excluded, Deactivated, Pending, Locked, and Visitor.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-2ab02676059be592b3c104d9e9906797b7eb7eeb%2FScreenshot_3.png?alt=media" alt=""><figcaption></figcaption></figure></div>

The **Send messages also to players with these statuses** setting in **Label settings** allows communication to statuses other than **ACTIVE** (see Communication Rules for Campaigns below).

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-991320bee00d6ac870c32fa5fef86e6c431689dd%2FLabel%2C%20settings%20-%20smartico.ai%20%40%20EU2%202025-06-06%2013-07-32.png?alt=media" alt=""><figcaption><p>Configuration to allow communication to statuses other than Active. An older look: the setting is now called **Send messages also to players with these statuses**</p></figcaption></figure></div>

### Email Status

In the Communication Channels section within the user profile page, operators can find **Mail address / Status** and **Mail status final**. The **mail final status** considers the PAM opt-out (**core\_is\_email\_disabled\_by\_platform**), Smartico opt-out (**core\_is\_email\_disabled**), and the mail address status (**user\_email\_status**), meaning that emails will be blocked if, for example, the player did not opt-out but has a mail address status - BROKEN.

The status in '**Mail address / Status**' is an internal Smartico email status; each provider has its own statuses, and we map them to our internal ones.

The internal Smartico status (user\_email\_status) is configured based on the provider and the operator’s preferences. The mapping is set in the **Mail bounce rules** setting in **Label settings**. Here is an example of a default mapping for BLOCKED and BOUNCED internal Smartico statuses:

```json
{
    "reason_email_status_mapping": {
        "spamreport": "BLOCKED",
        "complained": "BLOCKED",
        "suppress-bounce": "BOUNCED",
        "bounce": "BOUNCED"
    }
}
```

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2F6yFGfvP0CbE1om4hTgM4%2Fimage.png?alt=media&amp;token=af3a3b73-f2e7-495d-8740-3719c76ecde4" alt=""><figcaption><p>An older look of the **Mail bounce rules** setting (it was called Mail bounce strategy)</p></figcaption></figure></div>

If an email is marked as 'spamreport' or 'complained' on the provider side it's mapped to the Smartico internal status 'BLOCKED'. Similarly, if an email is marked as 'suppress-bounce' or 'bounce' it's mapped to the status 'BOUNCED'. Based on operator preferences, we can set up a configuration that allows end users to continue receiving emails even if those emails were marked as 'spam' upon receiving a 'spamreport' status from the provider.

In the Smartico system, we have the following statuses:

* **NEW** - Email address is valid, emails will be delivered to the end user if the user hasn’t opted out. In some cases, an email has a NEW status because the player has successfully updated their email address.
* **VERIFIED** - The email address has passed all verification steps and was verified by clicking on a specific link; emails will be delivered to the end user if the user hasn’t opted out.
* **BLOCKED -** The email was marked as spam, emails will not be delivered to the user even if the user hasn’t opted out (by default).
* **SPAM REPORTED** - The user reported the email as spam; emails will not be delivered to the user even if the user hasn’t opted out (by default).
* **BOUNCED** - The server cannot or will not deliver a message, which could be caused by an outdated email; emails will not be delivered to the user even if the user hasn’t opted out.
* **SOFT BOUNCED** - The server cannot or will not deliver the message, which could be caused by an outdated email; emails will not be delivered to the user even if the user hasn’t opted out.
  * E.G. You can target Soft\_Bounce users in a specific campaign and move them back to NEW status after a certain period. This automates a re-check of their deliverability and active mailboxes will successfully receive the mail, while others will return to Soft\_Bounce status.
* **BROKEN** - Email address did not pass validation; emails will not be delivered to the user even if the user hasn’t opted out.
* **NONE** - Emails will not be delivered to the user even if the user hasn’t opted out.
* **UNKNOWN** - Emails will not be delivered to the user even if the user hasn’t opted out.

{% hint style="info" %}
The statuses in Smartico BO will be reset if they are changed on the provider side, for example, if the user had a status BROKEN and then successfully updates their email, the status in Smartico BO will be changed to NEW.
{% endhint %}

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-3bde1d4623008252602173938d167a5911d1494b%2FScreenshot_4.png?alt=media" alt=""><figcaption></figcaption></figure></div>

While we provide default behavior for each status, you have the flexibility to adjust this with the **Also send mails to these mail statuses** setting in **Label settings** (ask your Success manager to change it). This override capability allows you to send emails to users who fall outside the standard NEW and VERIFIED statuses, such as those currently flagged as Soft\_Bounce or Blocked.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fi5hnZQTTn420BvKG1SHG%2Fimage.png?alt=media&amp;token=56b10156-c7b7-4ff9-b1b9-75e6b99cd625" alt=""><figcaption><p>An older look of the **Also send mails to these mail statuses** setting</p></figcaption></figure></div>

### SMS/Phone Status

The SMS final status considers the PAM opt-out (**core\_is\_sms\_disabled\_by\_platform**), Smartico opt-out (**core\_is\_sms\_disabled**), and phone number status, meaning that SMS messages will be blocked if, for example, the player did not opt-out but has phone number status - NOT MOBILE.

The mechanism behind the **phone number status (user\_phone\_status)** also depends on the SMS provider. In the Smartico system, we have the following statuses:

* **NEW** - The phone passed Google verification. SMS will be delivered to the end user if the user hasn’t opted out
* **VERIFIED** - The phone was verified by clicking on a specific link or other method. SMS will be delivered to the end user if the user hasn’t opted out
* **NONE/BROKEN** - The phone did not pass phone validation. SMS will not be delivered to the user even if the user hasn’t opted out
* **FAILED TO DELIVER** - The gateway returns an error. SMS will not be delivered to the user even if the user hasn’t opted out
* **NOT MOBILE** - Google has recognized that the number is not mobile. SMS will not be delivered to the user even if the user hasn’t opted out

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-489839816ec15c0673f1908f7def4dc2df8ce09e%2FScreenshot_5.png?alt=media" alt=""><figcaption></figcaption></figure></div>

If the SMS provider rejects a message because the player opted out on the provider side, the message fails and Smartico sets the player's Smartico opt-out status to TRUE. For SMS sent in batches, this happens only when the **Opt out the player when the SMS provider reports an opt-out** setting in **Label settings** is on (it is on by default); ask your Success manager to change it.

### Communication Rules for Campaigns

You can manage which user statuses are eligible to receive communications from Operational and Marketing campaigns. Only users with the specified statuses will receive messages — all others will be excluded. This is controlled through the following Label Settings:

1. **Send messages also to players with these statuses** – This setting defines which user statuses are allowed to receive communications from both Marketing and Operational campaigns.
2. **Also send 'Operational' campaign messages to these statuses** – This setting adds more statuses for Operational campaigns only. It does not replace the setting above. In this case:
   1. Marketing campaigns will follow the statuses defined in **Send messages also to players with these statuses**
   2. Operational campaigns will follow the statuses defined in both settings

{% hint style="success" %}
Users with the status 'Active' are always eligible to receive communications, regardless of these settings.
{% endhint %}

This setup gives you separate control over who receives communications from **Marketing** and **Operational** campaigns. If you want both campaign types to target the same user statuses, simply configure the **Send messages also to players with these statuses** setting — no need to populate the operational-specific one.

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2F6VkZoJdeXmds2Oaz10Ov%2Ffcd4eba643-optout-12-e2bcc2b2-b1b8ab.png?alt=media" alt=""><figcaption><p>BO: Label settings, General (channels). An older look: the settings are now called **Send messages also to players with these statuses** and **Also send 'Operational' campaign messages to these statuses**</p></figcaption></figure></div>

### Additional channel specific properties

We are also supporting additional attributes that can be populated from the Platform, but they don't have any semantic on Smartico side and should be used with segmentation conditions by operator according to needs.

* **core\_email\_confirmed** - logical flag indicating that email is confirmed / verified on PAM side
* **core\_phone\_confirmed** - logical flag indicating that phone number is confirmed / verified on PAM side
* **core\_pam\_email\_verified\_dt** - the date when platform verified email of user
* **core\_pam\_phone\_verified\_dt** - the date when Platform verified phone number of user
* **core\_mail\_domain** - while email sent from the Platform is automatically encrypted, the Platform can still populate the core\_mail\_domain property to use it for segmentation.

For dedicated channel configuration and delivery provider settings, see [Email](/welcome/products/crm-automation/communication-channels/email.md) and [SMS, Viber, and WhatsApp](/welcome/products/crm-automation/communication-channels/sms-viber-and-whatsapp.md).

### Activity Hours (DnD periods)

All communication channels can be restricted in time and days when they can be used.

For example, you can define that SMS can be sent only during daytime hours, e.g. from 08:00 till 22:00.

Or not to allow any IMs (SMS, WhatsApp, Viber) over the weekend.

Or to restrict specific days, as it could be required by some regulations not to send marketing communication on the official holidays.

These settings are available in Label settings and are split by:

* Mails
* IMs (SMS, WhatsApp, Viber)
* IVR
* Push notifications (the **Push sending hours** setting)

<div data-with-frame="true"><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2FG7t2HZVkDAfuoOXRqtkn%2F4addee17ff-optout-13-b3602cc4-c920d3.png?alt=media" alt=""><figcaption><p>An older look of the sending hours settings, now called **Mail sending hours**, **Instant message sending hours (SMS, WhatsApp, Viber)** and **Push sending hours**</p></figcaption></figure></div>

The setting itself is a JSON structure in the following format.

```json
{
    "from": "08:30",
    "till": "22:00",
    "skip_days": [
        "SUNDAY",
        "SATURDAY"
    ],
    "skip_dates": ["15.10.2025", "16.10.2025"]
}
```

Important to note:

* The setting defines the active sending window during which communication is allowed to be sent.
* the time is taking into account user timezone (taken from the last online session from the browser of the user and preserved in the user state property core\_user\_last\_session\_tzoffset)
* setting both, "from" and "till", values to "00:00" will allow communication at any point in time ("skip\_days" and "skip\_dates" are then not used either)

What happens to a communication outside the active hours depends on the **Allowed communication hours** option of the activity in the flow builder:

* **Send only in activity period** (the default for new Email, SMS, Push, and IVR activities) - the communication is skipped and recorded as failed.
* **Send if possible and if not - in next available activity period** - the communication is delayed to the next active period.
* **Send always, disregarding activity period** - the active hours are not used.

### FAQ

**Q: Why was a user's Email Status not updated to BOUNCED or BLOCKED after a failed campaign delivery?**

**A:** Email status updates depend on the **Mail bounce rules** setting of your label. If the email provider returns a bounce error code (e.g., 'Bounced Address') that is not mapped to an internal status in this setting, the user's status will remain unchanged. Check the delivery log fail details and ensure all provider bounce codes are mapped in **Mail bounce rules**.

**Q: Can non-boolean properties (like email deliverability status or numeric VIP tiers) be used in Vertical Opt-out Properties?**

**A:** No. Vertical opt-out label settings only support Boolean properties (true/false). To filter users based on enum or numeric values like email status or tier, use audience segmentation filters or conditional Flow rules instead.

**Q: How does the 30-day Snooze option work?**

**A:** When a user selects Snooze on the Smartico unsubscribe page, their Smartico opt-out status is set to TRUE immediately, suppressing messages. A background task automatically resets the opt-out status back to FALSE after 30 days. Permanent unsubscription does not set an expiry timer.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.smartico.ai/welcome/products/crm-automation/communication-channels/opt-out-and-communication-statuses.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
