Skip to content

기본값 설정

메시지에서 사용하는 모든 개인화 속성에 대해 기본 대체 값을 설정할 수 있습니다. 이 문서에서는 기본값의 작동 방식, 설정 방법 및 메시지에서 기본값을 사용하는 방법에 대해 설명합니다.

작동 방식

기본값은 “default”라는 이름의 Liquid 필터(그림과 같이 필터를 인라인으로 구분하려면 | 사용)를 지정하여 추가할 수 있습니다.

1
| default: 'Insert Your Desired Default Here'

기본값이 제공되지 않고 필드가 누락되었거나 사용자에게 설정되지 않은 경우 메시지에서 필드가 비워집니다.

다음 예는 기본값을 추가하는 올바른 구문을 보여줍니다. 이 경우 사용자의 first_name 필드가 비어 있거나 사용할 수 없는 경우 “Valued User”라는 단어가 {{ ${first_name} }} 속성을 대체합니다.

1
Hi {{ ${first_name} | default: 'Valued User' }}, thanks for using the App!

신원 미상이라는 사용자에게는 이 메시지가 다음과 같이 표시됩니다.

1
Hi Janet, thanks for using the App!

또는

1
Hi Valued User, thanks for using the App!

다양한 데이터 유형에 대한 기본값 설정

위의 예는 문자열의 기본값을 설정하는 방법을 보여줍니다. 문자열, 부울, 배열, 객체, 숫자 등 empty, nil (정의되지 않음) 또는 false 값이 있는 모든 Liquid 데이터 유형에 대해 기본값을 설정할 수 있습니다.

사용 사례: 부울

premium_user 이라는 부울 사용자 지정 속성이 있고 사용자의 프리미엄 상태에 따라 개인화된 메시지를 보내려고 한다고 가정해 보겠습니다. 일부 사용자는 프리미엄 상태가 설정되어 있지 않으므로 이러한 사용자를 캡처하려면 기본값을 설정해야 합니다.

  1. 기본값이 falsepremium_user 속성에 is_premium_user 라는 변수를 할당합니다 . 즉, premium_usernil 인 경우 is_premium_user 의 값은 false 으로 기본 설정됩니다.
1
{% assign is_premium_user = {{custom_attribute.${premium_user}}} | default: false %}

2. 그런 다음 조건부 논리를 사용하여 is_premium_usertrue 일 경우 보낼 메시지를 지정합니다. 즉, premium_usertrue 인 경우 전송할 내용입니다. 또한 사용자 이름이 없는 경우를 대비하여 사용자 이름에 기본값을 할당합니다.

1
2
{% if is_premium_user %}
Hi {{${first_name} | default: 'premium user'}}, thank you for being a premium user!

3. 마지막으로 is_premium_userfalse (즉, premium_userfalse 또는 nil)인 경우 전송할 메시지를 지정합니다. 그런 다음 조건부 논리를 닫습니다.

1
2
3
{% else %}
Hi {{${first_name} | default: 'valued user'}}, consider upgrading to premium for more benefits!
{% endif %}
전체 리퀴드 코드
1
2
3
4
5
6
{% assign is_premium_user = {{custom_attribute.${premium_user}}} | default: false %}
{% if is_premium_user %}
Hi {{${first_name} | default: 'premium user'}}, thank you for being a premium user!
{% else %}
Hi {{${first_name} | default: 'valued user'}}, consider upgrading to premium for more benefits!
{% endif %}

사용 사례: 숫자

reward_points 이라는 숫자 사용자 지정 속성이 있고 사용자의 보상 포인트가 포함된 메시지를 보내려고 한다고 가정해 보겠습니다. 일부 사용자는 보상 포인트가 설정되어 있지 않으므로 이러한 사용자를 고려한 기본값을 설정해야 합니다.

  1. 사용자의 이름 또는 사용자의 이름이 없는 경우 기본값인 Valued User 으로 메시지를 시작합니다.
1
Hi {{${first_name} | default: 'valued user'}},

2. reward_points 이라는 사용자 지정 속성을 사용하고 기본값 0 을 사용하여 사용자가 보유한 보상 포인트 수로 메시지를 끝냅니다. reward_points 값이 nil 인 모든 사용자는 메시지에서 0 보상 포인트를 받게 됩니다.

1
Hi {{${first_name} | default: 'valued user'}}, you have {{custom_attribute.${reward_points} | default: 0}} reward points.

사용 사례: 개체

citystate 속성을 포함하는 location 라는 중첩된 사용자 지정 속성 개체가 있다고 가정해 보겠습니다. 이러한 속성이 설정되어 있지 않은 경우 사용자에게 속성을 제공하도록 권장할 수 있습니다.

  1. 사용자의 이름으로 호칭하고 이름을 모르는 경우를 대비하여 기본값을 입력합니다.
1
Hi {{${first_name} | default: 'valued user'}},

2. 사용자의 위치를 확인하겠다는 메시지를 작성합니다.

1
We'd like to confirm the location associated with your account. We use this location to send you promotions and offers for stores nearest you. You can update your location in your profile settings.

3. 메시지에 사용자의 위치를 삽입하고 주소 속성이 설정되지 않은 경우에 대한 기본값을 지정합니다.

1
2
3
Your location:
City: {{custom_attribute.${address.city} | default: 'Unknown'}}
State: {{custom_attribute.${address.state} | default: 'Unknown'}}
전체 리퀴드 코드
1
2
3
4
5
6
7
Hi {{${first_name} | default: 'valued user'}}

We'd like to confirm the location associated with your account. We use this location to send you promotions and offers for stores nearest you. You can update your location in your profile settings.

Your location:
City: {{custom_attribute.${address.city} | default: 'Unknown'}}
State: {{custom_attribute.${address.state} | default: 'Unknown'}}

사용 사례: 배열

destinationdeparture_date 속성을 가진 트립을 포함하는 upcoming_trips 이라는 배열 사용자 지정 속성이 있다고 가정해 보겠습니다. 사용자에게 예약된 여행이 있는지 여부에 따라 개인화된 메시지를 보내려고 합니다.

  1. upcoming_tripsempty 인 경우 메시지를 보내지 않도록 지정하는 조건부 논리를 작성합니다.
1
2
{% if {{custom_attribute.${upcoming_trips}}} == empty %}
{% abort_message('No upcoming trips scheduled') %}

2. upcoming_trips 콘텐츠가 있는 경우 전송할 메시지를 지정합니다:

2a. 사용자 이름을 지정하고 이름을 모르는 경우 기본값을 입력합니다.
2b. for 태그를 사용하여 upcoming_trips 에 포함된 각 여행에 대한 속성(또는 정보)을 가져오도록 지정합니다.
2c. 메시지에 속성을 나열하고 departure_date 이 설정되지 않은 경우의 기본값을 포함합니다. (예를 들어 여행을 생성하려면 destination 주소가 필요하므로 기본값을 설정할 필요가 없습니다.)
2d. for 태그를 닫은 다음 조건부 로직을 닫습니다.

1
2
3
4
5
6
7
8
9
10
11
12
{% else %}
Hello {{${first_name} | default: 'fellow traveler'}},
  Here are your upcoming trips:
  <ul>
  {% for trip in {{custom_attribute.${upcoming_trips}}} %}
    <li>
      Destination: {{trip.destination}}
      Departure Date: {{trip.departure_date | default: 'Date not set'}}
    </li>
  {% endfor %}
  </ul>
{% endif %}
전체 리퀴드 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{% if {{custom_attribute.${upcoming_trips}}} == blank %}
{% abort_message('No upcoming trips scheduled') %}
{% else %}
Hello {{${first_name} | default: 'fellow traveler'}},
  Here are your upcoming trips:
  <ul>
  {% for trip in {{custom_attribute.${upcoming_trips}}} %}
    <li>
      Destination: {{trip.destination}}
      Departure Date: {{trip.departure_date | default: 'Date not set'}}
    </li>
  {% endfor %}
  </ul>
{% endif %}
이 페이지가 얼마나 도움이 되었나요?
New Stuff!