코드 시작하기

예상 6 읽은 시간(분)
|
업데이트 2024년 11월 22일 오후 12:55 EST
학습 내용

학습 내용

코드와 클라비요가 직접 실행하는 사용자 지정 함수를 만드는 방법에 대해 알아보세요.

코드에는 사용자 지정 개발이 필요하며 클라비요의 지원팀은 실무적인 지원을 제공할 수 없습니다. 팀에 개발자가 없고 직접 코드를 작성하는 데 익숙하지 않다면 클라비요 파트너에게 도움을 요청하세요.

시작하기 전 안내 사항

시작하기 전 안내 사항

코드는 클라비요의 고객 데이터 플랫폼(CDP)의 일부입니다. 

클라비요 CDP는 클라비요의 표준 마케팅 애플리케이션에 포함되어 있지 않으며, 관련 기능에 액세스하려면 CDP 구독이 필요합니다. 요금제에 이 기능을 추가하는 방법에 대해 자세히 알아보거나 신규 고객인 경우 시작하려면 청구 가이드로 이동하세요.

코드란 무엇인가요?

코드란 무엇인가요?

코드를 사용하면 클라비요에서 캡처한 이벤트에 대한 응답으로 사용자 지정 함수를 실행할 수 있습니다. 코드 에디터에서 직접 Javascript 또는 Python 함수를 작성하면 플랫폼에서 바로 실행할 수 있습니다.

코드를 사용하면 웹후크를 수신하기 위해 공개 HTTP 엔드포인트를 설정하지 않고도 외부 시스템으로 데이터를 전송하고 이벤트 발생에 응답하여 트리거되는 사용자 지정 기능을 생성할 수 있습니다. 또한 많이 사용되는 여러 사전 작성된 모듈에 액세스하여 사용자 지정 솔루션을 쉽게 만들 수도 있습니다.

주제

주제

코드를 사용하면 이벤트 가져오기 API를 통해 쿼리할 수 있는 모든 이벤트에 대한 응답으로 사용자 지정 함수를 실행할 수 있습니다.

이는 다음을 포함합니다.

  • 이메일 이벤트(예: 클릭한 이메일, 스팸으로 표시된 이메일 )
  • SMS 이벤트(예: 보낸 SMS, 받은 SMS)
  • 푸시 알림 이벤트(예: 푸시 수신, 푸시 반송)
  • 연동 이벤트(즉, 클라비요에서 생성한 퍼스트 파티 연동 이벤트)
  • API 이벤트(즉, KlaviyoAPI를 통해 동기화된 이벤트)

클라비요 코드는 다음 이벤트를 토픽으로 지원하지 않습니다:

  1. 이메일 열기
  2. 이메일 수신
코드 인터페이스

코드 인터페이스

코드에 액세스하려면 고객 데이터 플랫폼 > 데이터 관리 > 코드아래의 코드 탭으로 이동합니다. 

code.jpg

사용자 지정 함수를 만들려면 함수 만들기 버튼을 선택합니다:

기능 버튼 만들기

레시피 페이지로 이동하여 실행할 미리 빌드된 솔루션을 선택하거나 빈 Python 또는 Node.js 함수를 선택할 수 있습니다.

image (9).jpg

기존 레시피를 선택하면 기능에 대한 설명과 함께 솔루션의 코드가 포함된 코드 편집기가 표시됩니다. 

image (10).jpg

나만의 사용자 지정 솔루션을 만들 수 있도록 빈 기능을 선택하면 세부 정보 모달이 표시됩니다:

  • 함수 이름 지정
    함수를 식별할 이름입니다.
  • 함수에 대한 주제를 선택합니다.
    코드 실행을 트리거할 이벤트를 선택합니다.
  • 런타임 선택
    코드가 실행되는 런타임 환경(예: Python 또는 Node.js)입니다.

3.11.jpg

필요한 항목을 선택하고 만들기 기능 버튼을 선택하면 다음 탭이 있는 인터페이스로 이동합니다: 

  • 편집기 
  • 테스트 출력 
  • 로그
편집기

편집기

코드의 편집기 페이지에서 페이지가 3개의 탭으로 나뉩니다:

  • 코드
    코드 탭에는 파이썬 또는 자바스크립트 함수를 작성할 수 있는 편집기가 있습니다.
  • 모듈
    모듈은 기능에 기능을 추가하는 타사 패키지입니다.
  • 환경 변수
    환경 변수는 함수가 실행될 때 액세스하는 키-값 쌍입니다. 
코드

코드

코드 탭에는 선택한 주제에 대한 응답으로 실행되는 파이썬 또는 자바스크립트 함수를 작성하는 데 사용할 수 있는 편집기가 표시됩니다.

3.11(2).jpgjs.jpg

핸들러 함수 매개변수

핸들러 함수 매개변수

다음은 핸들러 함수에 전달되는 이벤트 및 컨텍스트 매개변수의 예시입니다.

이벤트 형식 예시

{
    {
  "데이터": {
   "type": "event",
   "id": "7S2q9haejYG",
   "attributes": {
     "timestamp": 1694435729,
     "event_properties": {
        "MfaEnabled": false,
        "IpAddress": "000.00.0.0",
        "UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
        "UserRole": "Owner",
        "SessionId": "34sh0a9nh8ngnk2nfacjxmt592yx40ib",
        "LoginType": "Username_password",
        "current_company_id": "XXXXX",
        "$event_id": "1694435729"
      },
     "datetime": "2023-09-11 12:35:29+00:00",
     "UUID": "b0b8fe80-509f-11ee-8001-278cc529fcd3"
    },
   "관계": {
     "profile": {
       "데이터": {
          "type": "profile",
          "id": "123456"
        },
       "링크": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/profile/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/profile/"
        }
      },
      metric": {
       "data": {
          "type": "metric",
          "id": "4Tdup6"
        },
       "링크": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/metric/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/metric/"
        }
      }
    },
   "링크": {
      "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/"
    }
  }
}

컨텍스트 형식 예시 

{
   "company_id": "XXXXX",
   "트리거": {"type": "event", "uid": "123456"},
   "function_id": "123456",
}
모듈

모듈

모듈 탭에서 가장 인기 있는 사전 구축된 모듈(즉, 기능에 기능을 추가하는 타사 패키지)을 선택할 수 있습니다. 

코드에 사용할 외부 모듈을 추가하려면 모듈 추가 버튼을 선택합니다:

모듈 추가 버튼

표시되는 모달에서 추가하려는 모듈을 검색하고 선택할 수 있습니다: 

모듈 모달 추가

모듈이 추가되면 클라비요에서 작성한 코드와 함께 모듈을 사용할 수 있습니다.

사용 방법에 대한 자세한 내용은 외부 모듈의 기본 설명서를 참조하세요.

추가된 모듈

환경 변수 

환경 변수 

환경 변수 탭에서는 클라비요의 코드가 실행될 때 참조할 수 있는 키-값 쌍을 설정할 수 있습니다. 자격 증명 및 비밀 키와 같은 정보를 저장하여 함수가 실행될 때 액세스할 수 있도록 하는 데 사용할 수 있습니다. 

환경 변수를 추가하려면 변수 추가 버튼을 선택합니다: 

환경 변수 추가 버튼

표시되는 모달에서 환경 변수에 대한 키-값 쌍을 설정할 수 있습니다. 

환경 변수에 대한 키-값 쌍 설정

환경 변수가 생성되면 페이지에 나열되며 코드에서 사용할 수 있습니다. 

코드에서 환경 변수에 액세스하려면 os.getenv("키")를 사용하거나 Python의 경우 process.env("키")를 사용하세요. 의 경우

생성된 환경 변수

기존 환경 변수의 값을 업데이트하려면 값을 업데이트하려는 키와 동일한 키를 사용하여 새 변수를 만들어야 합니다.

테스트 출력

테스트 출력

코드의 출력 테스트 탭에서는 최근 이벤트로 코드를 테스트하여 출력이 예상대로 작동하는지 확인할 수 있습니다. 

기능을 테스트합니다:

  1. 테스트 실행 버튼을 선택합니다:
    테스트 실행 버튼
  2. 표시되는 모달에서 테스트할 이벤트를 선택합니다. 클라비요에서 가장 최근에 캡처한 10개의 이벤트 중에서 선택할 수 있습니다.
    테스트할 최근 이벤트
  3. 테스트할 이벤트를 선택하면 테스트 출력이 표시됩니다:테스트 출력
로그

로그

로그 탭에는 진행 중인 코드 함수의 상태가 표시됩니다. 곧 알게 되실 겁니다:

  • 상태
    함수 실행의 진행 상황입니다. 
  • 응답 시간
    이벤트에 대한 응답으로 코드가 실행되는 데 걸리는 시간입니다.
  • 날짜
    함수가 실행된 시점의 타임스탬프입니다. 
코드 배포 

코드 배포 

편집기에서 작성한 코드를 배포하려면 상태 드롭다운을 라이브 상태로 전환합니다. 

코드 배포 토글

라이브 설정이 완료되면 작성하는 코드는 클라비요에서 토픽 이벤트가 캡처될 때마다 실행됩니다.

기능을 라이브로 설정하면 이벤트가 트리거되기 전까지 최대 15분까지 지연될 수 있습니다.

솔루션 예시

솔루션 예시

아래는 코드로 구현된 사용자 지정 솔루션의 예시입니다.

이 예에서는 이벤트 데이터를 프로필 속성으로 설정하여 타겟팅 이메일과 세분화에 사용할 수 있도록 했습니다. 고객이 브랜드와 촬영을 예약하면 예약된 촬영 맞춤 이벤트가 클라비요에 캡처되고, 예약 도시 및 관련 URL에 대한 데이터가 각 프로필의 프로필 속성으로 설정됩니다.

최근 예약 이라는 속성도 생성되어 가장 최근에 예약된 5개 촬영 이벤트의 데이터를 저장하여 이메일 템플릿에서 반복하여 액세스할 수 있습니다.

코드

코드

이 솔루션의 Python 코드는 코드 에디터에서 작성되며 클라비요가 직접 실행합니다.

예제 솔루션이 포함된 코드 편집기

코드 예시

코드 예시

모듈

모듈

이 예에서는 미리 빌드된 메소드를 통해 사용자가 Klaviyo API를 보다 쉽게 사용할 수 있도록 klaviyo-api 모듈을 사용했습니다.

클라비요 API 모듈

환경 변수

환경 변수

환경 변수를 사용하여 자격 증명 및 비밀 키와 같은 정보를 저장하여 함수가 실행될 때 액세스할 수 있도록 할 수 있습니다. 이 예제에서는 다음과 같은 키-값 쌍이 설정되어 있습니다:

  • 클라비요_개인키
    API 요청을 하는 클라비요 계정과 관련된 개인 키를 저장하는 환경 변수입니다.
  • MAX_PROPERTIES_TO_STORE
    예제 함수에 저장할 최대 프로퍼티 수를 정의하는 데 사용되는 환경 변수입니다.

환경 변수.jpg

테스트

테스트

이벤트 데이터를 프로필 속성으로 설정하는 함수를 만드는 동안 테스트 출력 탭을 사용하여 예상 출력을 확인합니다.

test_output.jpg

로그

로그

함수가 생성되고 테스트되면 로그 탭에 예약된 촬영 이벤트에 대한 응답으로 실행되는 함수의 상태 상태가 표시됩니다. 

Logs.jpg

결과

결과

이 코드 기능을 사용하면 고객이 촬영을 신청하고 사용자 지정 촬영 예약 이벤트를 트리거하면 이벤트 데이터가 고객 프로필에 저장되어 세분화 및 타겟팅 캠페인에 사용할 수 있습니다. 

레시피 구현하기  

레시피 구현하기  

코드의 레시피를 사용하면 사용자 지정 개발 없이도 미리 빌드된 솔루션을 구현할 수 있습니다.

클라비요 계정에서 레시피를 구현하려면 다음과 같이 하세요:

  1. 코드 페이지에서 함수 만들기 버튼을 선택합니다.
  2. 계정에서 구현하려는 레시피를 선택합니다. 선택한 레시피의 코드와 해당 기능에 대한 설명을 볼 수 있는 편집기로 이동합니다.
  3. 계속하려면 선택 버튼을 클릭합니다.
    클라비요의 환율 계산기 레시피
  4. 함수의 이름과 함수를 실행할 트리거를 선택합니다. 런타임은 레시피의 코드에 따라 자동으로 설정됩니다.
  5. 기능 만들기 버튼을 선택합니다.
  6. 함수가 생성되면 함수가 실행하는 데 필요한 데이터를 갖도록 관련 환경 변수를 설정합니다.
  7. 이제 레시피를 테스트하고 라이브로 설정할 수 있습니다.

레시피를 사용하려면 원하는 이름 지정 기본 설정과 이벤트의 데이터에 맞게 특정 필드를 업데이트해야 할 수 있습니다. 이름을 변경하고 편집할 수 있는 필드를 보려면 레시피의 지침을 참조하세요.

추가 자료 

추가 자료 

클라비요 CDP 시작하기
클라비요에서 사용할 수 있는 다양한 웹훅 이해하기

이 도움말 문서가 유용했나요?
이 형식은 도움말 문서 피드백 용도로만 사용하세요. 지원 팀에 문의하는 방법.

Klaviyo에서 자세히 살펴보기

커뮤니티
동료, 파트너, Klaviyo 전문가와 연결되어 영감을 받고 인사이트를 공유하며, 모든 궁금한 사항에 대해 답을 얻으세요.
라이브 교육
Klaviyo 전문가와 함께하는 라이브 세션에 참여하여 모범 사례, 주요 기능 설정 방법 등에 대해 알아보세요.
지원

계정을 통해 지원에 액세스하세요.

이메일 지원 (무료 체험 및 유료 계정) 연중무휴 24시간 사용 가능

채팅/가상 비서
사용 가능 여부는 위치 및 요금제 유형에 따라 다름