콘텐츠로 이동

개인화 메시지 (Liquid)

Liquid는 Shopify에서 개발한 오픈소스 템플릿 언어입니다. 플레어레인은 Liquid 문법을 활용한 개인화 메시지를 지원합니다. Liquid를 사용하면 데이터를 원하는 형태로 조작할 수 있기 때문에 보다 풍부한 개인화 메시지 표현이 가능합니다.

메시지에 이름이나 회원등급 등 고객 데이터를 첨부하여 더욱 개인화된 메시지를 발송해보세요. 일반 메시지 발송 대비 높은 반응률을 기대할 수 있습니다.

개인화 메시지 예시:

  • {{ name | default: "고객" }}님 안녕하세요!
  • {{ tags.signup_date | date: "%Y-%m-%d", "Asia/Seoul" }} 일자로 가입이 완료되었습니다.
  • 주문하신 {{ entry_event.data.product_name | truncate: 20 }} 상품의 배송이 시작되었습니다.
  • 적립금 {{ tags.point | number_with_delimiter}} 원이 소멸 예정입니다.

개인화 변수는 직접 입력하지 않아도 몇 번의 클릭만으로 설정이 가능합니다.

Liquid 문법은 2개의 중괄호로 구성된 문자열 블록입니다.

예를 들어, 고객 이름을 활용한 개인화 메시지는 다음과 같이 구성할 수 있습니다.

{{ name | default: "고객" }}님 안녕하세요!

실제 발송 시점에 유저프로필 내 이름 데이터가 있으면 아래와 같이 메시지가 발송됩니다.

김민혁님 안녕하세요!

만약 이름 데이터가 없는 경우 기본값이 설정되어 아래와 같이 메시지가 발송됩니다.

고객님 안녕하세요!

  • default - 변수가 없는 경우 기본값으로 치환합니다.
  • truncate - 긴 변수를 특정 길이만큼 잘라냅니다.
  • truncatewords - 긴 변수를 단어 개수만큼 잘라냅니다.
  • replace - 변수 내 특정 문자열을 모두 치환합니다.
  • replace_first - 변수 내 첫 번째 특정 문자열을 치환합니다.
  • date - 날짜 문자열을 원하는 포맷으로 변경합니다. (포맷 확인)
  • upcase - 영문 문자열을 모두 대문자로 치환합니다.
  • downcase - 영문 문자열을 모두 소문자로 치환합니다.
  • capitalize - 영문 첫 단어를 대문자로 치환합니다.
  • url_encode - url safe 하도록 문자열을 인코딩합니다.
  • url_decode - url 인코딩된 문자열을 디코딩합니다.
  • strip_html - html 태그를 모두 제외합니다.
  • number_with_delimiter - 숫자를 세자리 구분 콤마를 포함한 문자열로 변환합니다.
  • plus - 숫자 변수에 특정 값을 더합니다.
  • minus - 숫자 변수에서 특정 값을 뺍니다.
  • times - 숫자 변수에 특정 값을 곱합니다.
  • divided_by - 숫자 변수를 특정 값으로 나눕니다.
  • round - 숫자 변수를 반올림합니다.
  • floor - 숫자 변수를 내림 처리 합니다.
  • ceil - 숫자 변수를 올림 처리 합니다.
  • first - 배열의 첫 번째 값을 출력합니다.
  • last - 배열의 마지막 값을 출력합니다.
  • size - 배열 내 개수를 출력합니다.
  • join - 배열의 모든 값을 묶어 하나의 문자열로 출력합니다.
{% assign user_name = tags.nickname %}
{% assign last_purchase = tags.last_purchase_category %}
{% if last_purchase == "스니커즈" %}
이번 한정으로 {{ user_name }}님이 좋아하시는 스니커즈 신상품을 10% 할인 중이에요! 놓치지 마세요 👟
{% elsif last_purchase == "아우터" %}
추운 날씨에 맞는 아우터 신상이 입고되었어요! {{ user_name }}님을 위한 특별 혜택도 준비되어 있답니다 🧥
{% else %}
{{ user_name }}님만을 위한 신규 상품과 할인 혜택이 준비되어 있어요. 지금 바로 확인해보세요!
{% endif %}

연동된 다양한 고객 데이터를 변수로 활용하실 수 있습니다.

  • 태그: tags.*
    • 해당 기기에 설정된 유저프로필 & 태그에서 일치하는 태그를 자동으로 매칭합니다.
    • {{ tags.grade }} 등급 쿠폰이 발급되었습니다.
      • 해당 기기의 태그 중 grade를 찾습니다.
  • 이벤트: entry_event.data.*
    • 고객 여정 자동화에서 시작 조건 이벤트에 함께 첨부된 data를 변수로 활용할 수 있습니다.
    • 고객님 장바구니에 담긴 {{ entry_event.data.product_name }} 상품이 기다리고 있어요!
      • 발생 이벤트의 서브데이터 중 product_name을 찾습니다.
  • userId
    • 발송 대상 기기에 유저ID가 있는 경우 유저ID 값을 전달합니다. 웹훅 등 유저ID를 전달해야할 일이 있을 때 주로 활용됩니다.
  • 데이터
    • 발송 당시 외부 값을 즉석으로 입력받아 맞춤형 개인 메시지를 발송할 수 있습니다.
    • {{ writerName }}님이 회원님의 글을 좋아합니다.
      • 발송 API를 통해 data 파라미터를 추가하거나 콘솔 내 데이터 필드를 직접 입력할 수 있습니다.
POST https://api.flarelane.com/v1/projects/<project-id>/notifications
{
targetType: userId,
targetIds: "USER_ID",
body: "{{ writerName }}님이 회원님의 글을 좋아합니다."
data: {
writerName: "민혁"
}
}