> ## Documentation Index
> Fetch the complete documentation index at: https://docs.digifist.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Consent & Opt-outs

> How marketing consent is tracked per customer in Galantis, how opt-outs are processed, and what re-subscription requires.

Marketing consent is tracked individually for every customer in Galantis through the `marketing_state` field. This field controls whether a customer can receive campaign messages, automation messages, and Back-in-Stock notifications. It is updated automatically through Shopify webhooks and platform events — and it is enforced automatically before any message is dispatched.

This page covers consent from the audience management perspective — how it is set, how it changes, and how to manage it across your contact base. For the broader compliance context and WhatsApp policy requirements, see [Compliance — Opt-in & Consent](/whatsapp/compliance/opt-in-consent).

## What this covers

* All consent states and their meaning
* How consent state changes over time
* Opt-out processing and the STOP flow
* Re-subscription requirements
* Reviewing and filtering contacts by consent state

## Consent states

Every customer in Galantis has one of the following `marketing_state` values:

| State            | Meaning                                  | Can receive messages |
| ---------------- | ---------------------------------------- | -------------------- |
| `SUBSCRIBED`     | Explicitly opted in                      | Yes                  |
| `PENDING`        | Consent collected, awaiting confirmation | No                   |
| `NOT_SUBSCRIBED` | Has not opted in                         | No                   |
| `UNSUBSCRIBED`   | Previously opted in, now opted out       | No                   |
| `UNKNOWN`        | No consent information available         | No                   |
| `INVALID`        | Bad or unverifiable data                 | No                   |
| `REDACTED`       | GDPR/compliance data deletion applied    | No                   |

Only `SUBSCRIBED` customers are eligible for campaign sends and automation message actions. All other states result in the customer being excluded from or skipped in any outbound send.

## How consent state is set

Consent state originates from Shopify and is kept current via the `customers/marketing_consent_updated` webhook. When a customer's consent changes in Shopify — through a checkout opt-in, a form submission, or an admin update — the change propagates to Galantis automatically.

The following events set or change a customer's `marketing_state`:

| Event                                                  | Resulting state               | Mechanism                                      |
| ------------------------------------------------------ | ----------------------------- | ---------------------------------------------- |
| Customer checks the opt-in box at Shopify checkout     | `SUBSCRIBED`                  | `customers/marketing_consent_updated` webhook  |
| Customer submits their number via Back-in-Stock widget | `SUBSCRIBED`                  | Galantis records consent at submission         |
| Customer initiates contact via storefront chat widget  | `SUBSCRIBED`                  | Customer-initiated contact establishes consent |
| Manual import with consent confirmation                | `SUBSCRIBED`                  | Set at import time                             |
| Customer replies **STOP** to any WhatsApp message      | `UNSUBSCRIBED`                | Galantis processes inbound STOP reply          |
| Customer never opted in                                | `NOT_SUBSCRIBED` or `UNKNOWN` | Synced from Shopify consent data               |
| GDPR deletion request received                         | `REDACTED`                    | `customers/redact` webhook                     |

## Opt-out processing

When a customer replies **STOP** to any WhatsApp message — whether from a campaign, an automation, or an Inbox agent — Galantis processes the reply and moves the customer's `marketing_state` to `UNSUBSCRIBED` immediately.

From that moment:

* The customer is excluded from all future campaign audience calculations
* The customer is skipped in all automation message actions — the skip is recorded as `SKIPPED` in the activity log
* The customer does not receive Back-in-Stock notifications, even if they have an `ACTIVE` subscription record
* The customer remains in any lists or segments they belong to — opt-out affects messaging eligibility, not list or segment membership

<Warning>
  Opt-out is processed at the platform level, not just per channel. A customer who replies STOP to a campaign message is opted out of all Galantis messaging — automations, Inbox-initiated messages, and Back-in-Stock notifications — not only the specific campaign they replied to.
</Warning>

## Re-subscription

An `UNSUBSCRIBED` customer cannot be re-added to messaging through any admin action within Galantis. Re-subscription requires explicit new opt-in from the customer through an approved collection method:

* Re-submitting their number via the Back-in-Stock widget
* Checking the opt-in box at the Shopify checkout on a subsequent order
* Any other explicit opt-in mechanism that generates a `customers/marketing_consent_updated` webhook with a subscribed state

When a re-subscription event occurs, Shopify sends the consent update webhook and Galantis moves the customer's `marketing_state` back to `SUBSCRIBED`. From that point, they are eligible to receive messages again.

<Note>
  Do not attempt to manually override `UNSUBSCRIBED` status in Galantis. Doing so would bypass WhatsApp's consent requirements and could result in policy violations and quality degradation on your phone number. The re-subscription path must originate from the customer.
</Note>

## REDACTED state

`REDACTED` is distinct from `UNSUBSCRIBED`. It is applied when a GDPR or compliance data deletion request is received via Shopify's `customers/redact` webhook. Unlike `UNSUBSCRIBED`, `REDACTED` is not reversible through re-subscription — it signals that the customer's data has been subject to a deletion request and must not be used for any messaging purpose.

See [Compliance — GDPR & Data Privacy](/whatsapp/compliance/gdpr-data-privacy) for full details on how deletion requests are processed.

## Reviewing contacts by consent state

To review your contact base by consent state:

1. Go to **Audience → Contacts**
2. Filter by `marketing_state` to view all customers in a specific state
3. For individual customers, open the contact profile — the current `marketing_state` is visible at the top of the profile alongside other key fields

Filtering by `UNSUBSCRIBED` gives you visibility into how many customers have opted out and when. Filtering by `NOT_SUBSCRIBED` or `UNKNOWN` shows customers who are in your Shopify store but have not opted into WhatsApp marketing — these are contacts you cannot message through Galantis until they provide explicit consent.

## Using consent state in segments

The `Consent status` segment rule lets you build segments that only contain `SUBSCRIBED` customers:

```
Consent status = Yes
```

Adding this rule to any segment used as a campaign audience ensures the segment never contains non-eligible customers — which prevents the consent filter from silently reducing your actual send count below your estimated reach at send time.

See [Segments](./segments) for how to configure this rule alongside other targeting conditions.

## Best practices

* **Never manually import customers as `SUBSCRIBED` without verifiable proof of opt-in.** An import that marks customers as consented without a valid opt-in record is a WhatsApp policy violation.
* **Add `Consent status = Yes` to campaign-facing segments.** This surfaces only messageable customers in reach estimates and prevents confusion when estimated reach differs significantly from actual sends.
* **Monitor opt-out rates after campaigns.** A high volume of STOP replies following a campaign is a signal that the message was not well-targeted or was perceived as unwanted. Review audience quality and message relevance before the next send.
* **Do not re-import `UNSUBSCRIBED` customers as consented.** Re-importing and marking an opted-out customer as subscribed without a genuine new opt-in is a compliance violation that puts your phone number quality at risk.

## Related guides

* [Compliance — Opt-in & Consent](/whatsapp/compliance/opt-in-consent) — WhatsApp policy requirements and collection methods
* [Compliance — GDPR & Data Privacy](/whatsapp/compliance/gdpr-data-privacy) — REDACTED state and deletion request handling
* [Segments](./segments) — Using `Consent status` as a segment rule condition
* [Contacts](./contacts) — Where `marketing_state` appears on the contact profile
