비즈니스 메시지 이벤트 API를 사용한 이벤트 로깅

메시지 이벤트 API 사용 중단

  • 메시지 이벤트 API는 2025년 9월에 사용 중단됩니다. 이 사용 중단에 대비하기 위해 메시지 이벤트 API는 2024년 9월 24일 기준으로 버전 21.0부터 시작하여 향후 출시되는 그래프 API에서 더 이상 지원되지 않습니다.
  • 최신 그래프 API로 업데이트하지 않기로 선택하는 파트너는 2025년 9월에 있을 공식 제품 사용 중단 시점까지 그래프 API 20.0을 호출하여 메시지 이벤트 API에 계속 액세스할 수 있습니다.
  • 최신 그래프 API로 업데이트하지 않는 파트너의 경우, 새로운 통합에 전환 API를 사용하시는 것이 좋습니다. 전환 API에 대해 자세히 알아보세요.

이 가이드에서는 앱 이벤트와 Facebook 페이지 이벤트를 로깅하여 사용자가 Messenger 경험과 어떻게 상호작용하는지를 분석하는 방법을 설명합니다.

시작하기 전에

다음 항목을 준비해야 합니다.

  • page_events 권한
    • 앱에 pages_messaging 권한에 대해 이미 Advanced Access가 부여되어 있고 앱이 최근 90일 내에 정책을 위반한 적이 없을 경우 앱 검수를 위해 앱을 제출했을 때 이 권한에 대해 Advanced Access가 자동으로 부여됩니다.
  • 쿼리되는 페이지에서 ANALYZE 작업을 수행할 수 있는 사용자가 요청한 페이지 액세스 토큰

제한 사항

현재 유럽 또는 일본에 기반을 둔 비즈니스나 고객은 이 API를 이용할 수 없습니다.

정책 및 약관

이벤트 로깅

이벤트를 로깅하려면 POST 요청을 앱의 page_activities 에지에 제출합니다.

https://graph.facebook.com/

요청 예시:

curl -X POST -H "Content-Type: application/json" -d '{
  "custom_events": [
    {
      "_eventName": "fb_mobile_purchase",
      "_valueToSum": 57.23,
      "fb_currency": "USD"
    }
  ],
  "advertiser_tracking_enabled": 1,
  "application_tracking_enabled": 1,
  "page_id": <PAGE_ID>,
  "page_scoped_user_id": <PSID>,
  "logging_source": "messenger_bot",
  "logging_target": "page"
}' https://graph.facebook.com/v21.0/<APP_ID>/page_activities?access_token=<PAGE_ACCESS_TOKEN>

_eventName 필드에는 표준 이벤트를 사용하는 것이 좋습니다. 표준 이벤트만 광고 관리자에 보고되며, 광고 타게팅과 최적화에 사용 가능합니다(해당되는 경우).

예를 들어 광고 관리자에서 기여 분석을 위해 구매 이벤트를 로깅하려면 이벤트 이름 fb_mobile_purchase를 사용하세요.

표준 이벤트 이름과 매개변수가 나와 있는 전체 리스트를 보려면 앱 이벤트 API 가이드(앱 이벤트 스키마 섹션)를 참조하세요.

다음 표에서는 Messenger 이벤트를 로깅하기 위해 엔드포인트에 제공해야 하는 속성과 값을 설명합니다.

속성설명

custom_events

로깅하고자 하는 이벤트의 배열입니다. 표준 이벤트 및 해당 매개변수의 리스트는 앱 이벤트 API 가이드를 참조하세요. 자체 앱 이벤트도 사용할 수 있습니다. 배열에 여러 이벤트를 지정할 수 있습니다.

JSON 인코딩 배열을 사용하여 맞춤 이벤트 상세 정보를 지정합니다.

page_id

이벤트와 연결된 페이지 ID를 지정합니다.

봇과 연결된 페이지의 Facebook 페이지 ID를 사용합니다.

page_scoped_user_id

이벤트를 로깅하는 Messenger 봇과 연결된 페이지 범위 사용자 ID를 지정합니다.

Webhooks에 제공된 페이지 범위 사용자 ID를 사용합니다.

advertiser_tracking_enabled

광고 추적을 활성화할지 여부를 지정합니다.

0을 사용하면 비활성화되고 1을 사용하면 활성화됩니다.

application_tracking_enabled

앱 수준에서 광고 추적을 활성화할지 여부를 지정합니다.

0을 사용하면 비활성화되고 1을 사용하면 활성화됩니다.

logging_source

이벤트 소스를 지정합니다.

이 이벤트가 Messenger 봇에서 발생한다는 사실을 나타내려면 messenger_bot 문자열을 사용합니다.

logging_target

이벤트를 로깅할 타겟 엔터티를 지정합니다.

해당 이벤트를 수신할 엔터티를 지정하려면 app, page 또는 app_and_page 문자열을 사용합니다. 자세한 내용은 앱 이벤트 FAQ를 참조하세요.

메시지 이벤트 API를 사용하여 잠재 고객 보고

이제 앱이 스레드에서 잠재 고객 제출을 보고할 수 있습니다. lead_submitted 이벤트는 앱에서 판매 잠재 고객(예: 연락처 정보를 공유하고 판매와 관련하여 연락을 요청한 사용자)으로 간주되는 스레드를 자동으로 보고할 수 있도록 합니다.

이 이벤트는 특정 사용자를 잠재 고객으로 구분하는 데 사용하는 것이 가장 좋습니다. 이는 비즈니스가 해당 스레드를 우선적으로 처리하는 데 도움이 됩니다. 예를 들어 비즈니스는 사용자를 잠재 고객으로 선별하는 자동화된 플로를 설정하고 사용자가 해당 플로를 완료할 때 이 이벤트를 트리거하여 실시간 상담원에게 잠재력이 큰 스레드로 플래그할 수 있습니다.

현재 이 기능은 오픈 베타로 제공되고 있고 광고 관리자의 보고 기능이 통합되었으므로 잠재 고객 데이터는 광고 관리자 UI에서 보고됩니다.

스레드에서 발생하는 잠재 고객 이벤트를 보고하기 위한 API 호출의 예시는 다음과 같습니다.

curl -X POST -H "Content-Type: application/json" -d '{
  "custom_events": [
    {
      "_eventName": "lead_submitted"
    }
  ],
  "advertiser_tracking_enabled": 1,
  "application_tracking_enabled": 1,
  "page_id": <PAGE_ID>,
  "page_scoped_user_id": <PSID>,
  "logging_source": "messenger_bot",
  "logging_target": "page"
}' https://graph.facebook.com/v21.0/<APP_ID>/page_activities?access_token=<PAGE_ACCESS_TOKEN>

광고 인사이트 API를 사용하여 잠재 고객 보고

보고된 잠재 고객 이벤트는 광고 인사이트 API를 사용하여 시각화할 수 있습니다. 이 API를 사용하면 고급 분석 대시보드를 만들어서 CTX 캠페인에서 발생하는 잠재 고객을 시각화하는 데 도움을 받을 수 있습니다.

필수 조건

이 API를 사용하기 전에 앱이 ads_read 권한에 대해 앱 검수 과정을 거쳤는지 확인하고 고급 액세스 권한을 확보하세요.

실행

광고 캠페인 수준의 인사이트 호출 샘플은 다음과 같습니다.

curl -G \
-d "date_preset=last_7d" \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<AD_CAMPAIGN_ID>/insights"
    

인사이트 API는 원하는 세분화 수준에 따라 광고 계정, 캠페인, 광고 세트 수준에서 호출될 수 있습니다.

잠재 고객을 가져오기 위한 호출은 다음과 같습니다.

  • 잠재 고객(기여 분석됨)
    • /<OBJECT_ID>/insights?fields=actions
    • (결과) action_type=onsite_converstion.lead_grouped

위의 행동 유형에 대한 자세한 정의는 광고 행동 통계 참고 자료를 참조하세요.

잠재 고객 분류를 위한 모범 사례

  1. 광고주는 기존 잠재 고객 확보 업종(자동차, 전문 서비스, 금융 서비스, B2B, 교육, 건강) 중 하나에 속합니다.
  2. 광고주는 전화번호나 이메일 주소와 같은 연락처 정보를 요청하고 사용자는 해당 정보를 제공합니다.
  3. 전화번호 또는 이메일 주소와 관련된 질문에 앞서 몇 가지 선별 질문(예: 추가적인 질문 1~2개)을 합니다.
  4. 앱에서 잠재 고객 확보 템플릿을 제공하는 경우 기본적으로 잠재 고객 확보 플로 끝에 이 신호를 더하세요.

참고: 전화번호 또는 이메일 주소가 포함된 모든 대화를 전부 잠재 고객으로 자동 표시하지 않는 것이 좋습니다. 특히, 결제/이커머스를 위해 전화번호를 공유하는 시장에서는 이 유의 사항을 따르는 것이 중요합니다.

이벤트 로깅 확인

앱 또는 페이지 관리자인 경우, 광고 관리자에서 이벤트를 조회하여 설정이 올바른지 여부를 확인할 수 있습니다.

Messenger용 분석에 관한 특별 고려사항

  • 단일 앱에서 여러 페이지에 대한 상호작용을 로깅할 수 있습니다. 이 경우 모든 페이지와의 상호작용에서 발생하는 이벤트가 같은 앱에 표시됩니다.
  • 여러 앱을 하나의 페이지에 링크할 수 있습니다. 이 경우 해당 페이지가 차단되면 그 페이지에 링크된 모든 앱이 fb_messenger_bot_stopped 이벤트를 수신합니다.
  • 삭제된 Messenger 봇 대화 수가 새로운 사용자 활동 수보다 많을 수 있습니다. 삭제된 Messenger 봇 대화는 사용자가 스레드를 삭제한 횟수입니다. 사용자가 스레드를 삭제한 후 페이지에서 추가적인 대화를 시작할 수 있습니다. 사용자는 스레드를 추가로 삭제할 수 있으며, 이 경우 삭제된 Messenger 봇 대화 수가 증가합니다.

플랫폼 공급업체의 사용법

로깅 타겟

사용자로 하여금 시각적 인터페이스를 통해 Messenger 경험을 빌드하도록 지원하는 플랫폼은 일반적으로 하나의 중앙 앱을 사용하여 모든 연결된 페이지를 운영합니다. 고객이 자신의 이벤트를 볼 수 있도록 하려면 logging_targetpage 또는 app_and_page로 설정하여 고객의 페이지로 해당 이벤트를 로깅해야 합니다.

사용자 인터페이스

시각적 편집기를 통해 드래그 가능한 블록을 제공할 수 있습니다. 이 블록을 사용하면 사용자가 이벤트를 선택하고 매개변수를 추가로 정의할 수 있습니다. 그러면 페이지 관리자는 적절한 이벤트로 Messenger 플로를 계획할 수 있습니다. 표준 이벤트만 광고 관리자에 보고되고 광고 타게팅과 최적화에 사용 가능(해당되는 경우)하므로, 사용자가 드롭다운 리스트에서 표준 이벤트 이름을 선택할 수 있는 것이 이상적입니다. 사용자 행동과 일치하는 표준 이벤트 이름이 없고 광고 보고서가 필요하지 않은 경우, 사용자가 맞춤 이벤트 이름과 매개변수를 입력할 수 있는 자유형 필드를 제공하는 것이 좋습니다.

권한

필수 page_events 권한은 앱의 Facebook 로그인 플로를 진행하는 과정에서 얻어야 합니다. 이 가이드에 나와 있는 대로 로그인 버튼, Facebook JavaScript SDK 호출 또는 수동으로 빌드한 로그인 플로에서 요청하는 권한 범위에 이 권한을 추가해야 합니다.

추가 리소스