본문으로 건너뛰기

기본 사용법

노티플라이에서는 Liquid 템플릿 언어를 기반으로 메시지 개인화를 지원합니다.

Liquid는 동적인 내용을 삽입하기 위해 사용되는 템플릿 언어입니다. 템플릿 언어란, 사전에 정의된 형식에 따라 데이터를 표시하는 방법을 제공하는 언어입니다. 예를 들어, 온라인 상점에서 각 사용자에게 이름으로 개인화된 인사말을 표시하고 싶다면, Liquid를 사용하여 "안녕하세요, [사용자 이름]님!"이라는 표현을 만들 수 있습니다. 여기서 "[사용자 이름]" 부분은 방문자의 실제 이름으로 자동으로 바뀝니다. 이처럼 Liquid는 데이터를 기반으로 동적인 내용을 삽입하는 데 매우 유용합니다.

기본 문법

  • 노티플라이에서 발송 메시지를 개인화하는 문법은 기본적으로 {{ 카테고리["변수명"] | default: "기본값" }} 포맷입니다.
    • 좌측 : 어떤 카테고리의 어떤 데이터를 끌어올 것인지 지정하는 위치
    • 우측 : 만약 소수 유저에게 특정 프로퍼티의 값이 없다면 보여질 기본값을 의미
  • "기본값"은 해당 카테고리에 속성이 존재하지 않을 때에, 대체되어 발송될 값입니다. 만약 기본값이 존재하지 않고, 카테고리에도 속성이 존재하지 않는다면 해당 부분이 빈 값으로 치환되어 메시지가 발송되니 주의해주세요.
  • 변수명에 사용할 수 있는 카테고리는 아래 카테고리 섹션을 참고하세요. 캠페인에 사용할 발송 대상 타입과 발송 시점 타입에 따라 사용할 수 있는 카테고리가 달라지니 유의해주세요.
  • 캠페인 생성 페이지에서는 해당 문법이 어렵게 느껴지실 분들을 위하여 개인화 문구 추가 UI를 지원합니다.

카테고리

노티플라이에서 어떤 카테고리의 정보를 끌어와 개인화 메시지 작성에 활용할 수 있는지 알아봅시다.

카테고리의 목록은 다음과 같습니다. 발송 대상 타입과 발송 시점 타입 따라 사용할 수 있는 카테고리가 달라지니, 꼭 유의해주세요. 발송 대상 타입에 대한 자세한 내용은 발송 대상 설정에서, 발송 시점 타입에 대한 자세한 내용은 캠페인 시작하기 - 발송 시점에서 확인할 수 있습니다.

  1. 노티플라이 데이터베이스에 등록된 유저의 속성

    • 카테고리의 이름은 user입니다.
    • 해당 카테고리는 유저 그룹 설정 을 사용하는 캠페인에 대해서만 사용 가능하며, 모든 발송 시점 타입 에서 사용할 수 있습니다.
    • 예) 유저 개개인의 나이를 메시지에 반영하고 싶다면 나이 정보가 들어가는 위치에 user["age"]라고 적어주세요. user 정보 중 age열의 정보를 끌어와 개인화 메시지를 구현할 수 있습니다. 이때, '유저의 나이'가 age라는 속성명으로 노티플라이 데이터베이스에 등록되어 있어야 정상적으로 치환되어 메시지가 발송되니, 꼭 유의해주세요.
    • 서비스에서 추가한 사용자 속성 이외의 기본 속성인 유저 ID, 이메일, 전화번호는 다음 형태로 사용하실 수 있습니다.
      • 유저 ID: user["$user_id"]
      • 이메일: user["$email"]
      • 전화번호: user["$phone_number"]
      • 사용자 속성의 이름으로 $user_id, $email, $phone_number와 동일한 이름을 사용하실 경우 기본 속성 값이 우선적으로 적용 됩니다.
  2. 노티플라이 데이터베이스에 등록된 유저 디바이스 정보

    • 카테고리 이름은 device입니다.
    • 해당 카테고리는 유저 그룹 설정, 유저 ID 기반 CSV 발송, 또는 Notifly AI 세그먼트 를 사용하는 캠페인에 대해서 사용 가능하며, 모든 발송 시점 타입 에서 사용할 수 있습니다.
    • 웹훅 채널에서는 사용하실 수 없습니다.
    • device 카테고리는 특정 속성명만 지원합니다. 현재 지원되는 디바이스 속성 명은 다음과 같습니다.
      • external_user_id: 서비스 유저 ID입니다.
      • platform: 디바이스의 플랫폼(ios 또는 android) 입니다.
      • os_version: 디바이스의 OS 버전입니다.
      • app_version: 앱 버전입니다.
  3. 이벤트 파라미터

    • 카테고리 이름은 event입니다.
    • 해당 카테고리는 유저 그룹 설정 를 사용하는 캠페인에 대해서만 사용 가능하며, 이벤트 기반 발송 및 API 기반 발송 에서만 사용할 수 있습니다.
      • 이벤트 기반 발송의 경우 파라미터가 포함된 이벤트가 발생했을 시, 해당 이벤트 파라미터를 메시지에 사용할 수 있습니다. 이벤트 파라미터를 담아 이벤트를 발송하는 방법은 이벤트 섹션의 설명을 참고해주세요.
      • API 기반 발송의 경우, API 호출 시 Request Body로 전달한 이벤트 파라미터(eventParams 필드)를 메시지에 사용할 수 있습니다. API 기반 발송의 경우 API 기반 발송 섹션의 설명을 참고해주세요.
    • 예) 이벤트가 name이라는 파라미터를 포함하고 있을 때, event["name"]을 이용하여 접근이 가능합니다. 이 때, 발생한 이벤트에 name 이라는 필드가 존재하지 않을 경우, 정상적으로 치환되지 않으니 유의해주세요.
  4. CSV 데이터 (CSV 기반 발송 대상일 경우)

    • 카테고리 이름은 user입니다.
    • 해당 카테고리는 CSV 업로드 를 사용하는 캠페인에 대해서만 사용 가능하며, 예약 발송 에서만 사용할 수 있습니다 (CSV 기반 발송 대상의 경우 이벤트 기반 발송을 지원하지 않습니다).
    • 업로드된 CSV 파일 내에 존재하는 필드의 이름만 접근 가능합니다.
    • 예) CSV 파일 내에 budget이라는 필드가 존재할 경우, user["budget"]으로 접근할 수 있습니다. 만약 존재하지 않는 필드에 접근하였을 경우 캠페인을 생성할 수 없으니 유의해주세요.

지원 범위

개인화가 지원되지 않는 채널

아래 채널은 현재 메시지 개인화가 지원되지 않습니다. 빠르게 지원할 수 있도록 노력하겠습니다.

  • 인앱 메시지
  • 인웹 메시지

메시지 개인화 문구 추가 UI 이용법

  1. 메시지 입력란 우측 상단의 '메시지 개인화' 버튼을 클릭해주세요. (현재 개인화가 지원되지 않는 채널은 해당 버튼이 보이지 않을 수 있습니다.)
  2. 캠페인 발송 시점 타입과 발송 대상 타입에 따라 자동으로 지원되는 변수의 종류(카테고리)가 드랍다운 리스트로 제공됩니다.
    • Message Personalization UI - Build Segment
    • Message Personalization UI - CSV Upload Segment
  3. 변수명에 치환하고 싶은 변수의 필드명을 입력해주세요. 해당 입력란은 필수입니다.
  4. 기본값을 입력해주세요. 기본값은 해당 필드명이 존재하지 않을 때, 빈 값 대신 기본적으로 치환될 문구입니다.

모든 과정을 완료하셨다면 메시지 입력란 속에 Liquid 구문이 잘 들어간 것을 확인할 수 있습니다.

Message Personalization UI - Result