# CRM Properties

## What are CRM Properties?

CRM Properties is a feature that manages per-user CRM information required for message sending and targeting.\
Hackle manages CRM Properties separately from general user properties.

Based on these values, marketers can determine whether a user can receive messages for each channel and target them more accurately.

### Manageable Information

Currently, two CRM Properties can be managed.

* [Phone Number](/en/crm-marketing/crm-properties/collect-phone-number.md)
* Marketing Message Subscription Consent

### Why It Matters

CRM Properties must be organized to stably operate the following tasks.

* Securing send targets for Kakao Messages and Text Messages
* Distinguishing eligible recipients of Promotional Messages
* Operating Informational Messages and Promotional Messages separately
* Designing campaigns that match each channel's consent status

For example, even the same user may have consented to push notifications but opted out of text messages.

### How is Marketing Subscription Consent Managed?

Subscription consent is managed as a combination of **Message Type x Channel**.

#### Message Type

* Promotional
* Informational

#### Channel

* Push Message
* Kakao Message
* Text Message

In other words, for a single user, the following can be managed separately.

* Promotional Push Subscription Consent
* Informational Push Subscription Consent
* Promotional Kakao Message Subscription Consent
* Informational Text Message Subscription Consent

This structure enables precise sending that matches each channel and purpose.

### Subscription Consent Status

Subscription consent status is managed in the following 3 states.

{% hint style="warning" %}
New users have a subscription consent status of **Unknown**.

Make sure to configure send targets for Promotional Messages in accordance with internal policies and legal requirements.
{% endhint %}

<table><thead><tr><th width="173.828125">Subscription Consent Status</th><th width="166.92578125" data-type="checkbox">Message Receivable</th><th>Description</th></tr></thead><tbody><tr><td><strong>Unknown</strong></td><td>true</td><td>No consent or rejection has been received yet.</td></tr><tr><td><strong>Opted In</strong></td><td>true</td><td>The user has explicitly consented.</td></tr><tr><td><strong>Opted Out</strong></td><td>false</td><td>The user has explicitly rejected.</td></tr></tbody></table>

### Operational Standards Marketers Must Know

#### 1. Phone Number is the Default for Kakao and Text Sending

Without a phone number, users may be excluded from Kakao Message or Text Message send targets.\
For how to collect phone numbers, refer to the [Phone Number Collection](/en/crm-marketing/crm-properties/collect-phone-number.md) document.

#### 2. Always Operate Promotional and Informational Separately

Coupons, discounts, and promotion announcements are typically Promotional.

Payment notifications, subscription expiration notifications, and service announcements are typically Informational.\
Examples of Informational Messages can be found in the [Service Notice Campaign](/en/crm-marketing/push-message-guide/recommended-templates/service-notice-template.md).

#### 3. Manage Consent Status Separately by Channel

A user may want to receive push notifications but not text messages.\
Separating consent status by channel reduces unnecessary sending and protects the customer experience.

#### 4. Operate So That Opt-out Changes Are Reflected Immediately

When consent status changes through app settings, member info screens, or customer service requests, it must be updated immediately.\
Delayed reflection can lead to incorrect sending.

### Recommended Operation

{% stepper %}
{% step %}

#### 1. Define the Timing for Registration or Consent Acquisition

First, organize when and which channel's consent to obtain.

Typical examples include member registration, first app launch, My Page, and after payment completion.
{% endstep %}

{% step %}

#### 2. Align Collection Items With the Development Team

Clearly agree on the following items with the development team.

* User Identifier
* Whether to collect phone numbers
* Subscription consent items for each channel
* Criteria for distinguishing Promotional/Informational
* Update timing when consent changes
  {% endstep %}

{% step %}

#### 3. Check Target Conditions Before Sending

Before creating a campaign, check the following.

* Whether the required channel information has been collected
* Whether the send purpose is Promotional or Informational
* Whether users who have opted out are not included in the target conditions
  {% endstep %}

{% step %}

#### 4. Regularly Check Missing Data

Periodically check phone number omission, the proportion of undetermined consent status, and the collection rate by channel.

If these values are high, the estimated send count may differ significantly from the actual send count.
{% endstep %}
{% endstepper %}

### Common Examples

#### Example 1. Discount Coupon Push Send

* Message Type: Promotional
* Channel: Push Message
* Required Condition: Promotional Push Subscription Consent

#### Example 2. Subscription Expiration Notification

* Message Type: Informational
* Channel: Push Message or Kakao Message
* Required Condition: Status that allows receiving Informational Messages through the respective channel

#### Example 3. Cart Reminder Text Send

* Message Type: Promotional
* Channel: Text Message
* Required Condition: Phone Number Collection + Promotional Text Subscription Consent


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hackle.io/en/crm-marketing/crm-properties.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
