Meta 픽셀 및 전환 API

:information_source: 요약 Discourse 포럼에 Conversions API(CAPI)와 함께 Meta Pixel 추적을 추가합니다.
:hammer_and_wrench: 리포지토리 링크 Discourse Meta Pixel & Conversions API 플러그인
:open_book: 설치 가이드 Discourse에서 플러그인 설치 방법

Discourse에 Meta Pixel을 추가하는 일반적인 방법은 기본 코드를 테마 컴포넌트에 붙여넣는 것입니다. 이는 문서 로드 시 fbq('track', 'PageView')를 한 번만 트리거하며, Discourse는 문서를 다시 로드하지 않으므로 사용자가 얼마나 많은 주제를 읽든 방문당 PageView가 하나만 기록됩니다. 이 플러그인은 내비게이션마다 이벤트를 발생시키고, 콘텐츠 및 전환 이벤트를 추가하며, 이벤트가 광고 차단기를 우회하도록 Conversions API를 통해 서버 측 사본을 전송합니다.

왜 단순히 테마 컴포넌트를 사용하지 않는가?

테마 컴포넌트는 브라우저에서만 실행되며, 이는 세 가지 결과를 낳습니다.

광고 차단기와 Safari의 ITP는 상당수의 브라우저 이벤트를 제거하며, 어떤 이벤트가 누락되었는지 알 수 없습니다. 액세스 토큰이 필요하고, 방문자가 읽을 수 없는 비밀 정보를 저장할 곳이 없기 때문에 Conversions API를 사용할 수도 없습니다. 또한, 개인 메시지, /admin 및 비밀번호 재설정 페이지를 포함하여 주입된 모든 곳에서 이벤트가 발생합니다.

리타겟팅 대상에 대한 PageView만 필요하다면, 테마 컴포넌트는 실제로 충분하며 2분이면 됩니다. 이 플러그인은 전환 품질 향상을 위해 설계되었습니다.

내 포럼에 이것이 필요한가?

아마도 그렇지 않을 것입니다. Pixel과 CAPI는 전환 추적 및 광고 대상 생성을 돕도록 설계되었습니다. 일부 분석 데이터를 제공할 수는 있지만, Discourse 관리자 패널에는 이미 강력한 분석 데이터가 있습니다. 이는 주로 전환을 추적하고, 사용자를 포럼 및 사이트로 유도하는 Meta 광고를 관리하려는 사용자를 위한 것입니다.

기능

  • 하나의 플러그인에 브라우저 Pixel과 서버 측 Conversions API를 통합하여 하나의 이벤트 ID를 공유함으로써 Meta가 이중 계수 대신 중복을 제거하도록 합니다
  • PageView, ViewContent, Search, TopicEngaged, CompleteRegistration, TopicCreated, ReplyCreated
  • 페이지 로드마다가 아닌 SPA 내비게이션마다 이벤트 발생
  • 브라우저 Pixel이 차단되어도 서버 측 전환은 계속 수신됨
  • 개인 메시지, 제한된 카테고리 및 관리자 라우트는 이벤트를 생성하지 않음
  • UGC 제목 및 검색 텍스트는 절대 전송되지 않음
  • 그룹별로 스태프 트래픽을 제외할 수 있으며, 서버 이벤트에도 적용됨
  • 재시도 분류, 속도 제한 백오프 및 내구성 멱등성 테이블을 갖춘 배치 전달
  • 최근 전달 내역 및 상태를 표시하는 진단 페이지

설정

1. 설치

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/multidimension-al/discourse-meta-pixel-capi.git

그 다음 ./launcher rebuild app을 실행합니다. 리빌드 과정에서 전달 테이블을 생성하는 마이그레이션이 실행됩니다.

2. Pixel. 관리자 → 설정 → Meta Pixel & Conversions API. Pixel ID를 meta pixel dataset id에 입력한 후 discourse meta pixel enabled를 켜십시오. 그러면 작동하는 Pixel 전용 설정이 됩니다.

(Meta는 Events Manager에서 이를 Pixel ID라고 하고, Conversions API 문서에서는 dataset ID라고 합니다. 동일한 숫자입니다.)

3. Conversions API (선택 사항). Events Manager → 해당 dataset → 설정 → Conversions API에서 토큰을 생성합니다. 토큰을 meta pixel capi access token에 입력한 후 meta pixel capi enabled를 켜십시오. 토큰과 dataset ID가 없으면 설정이 활성화되지 않습니다.

4. 검증. Events Manager → Test Events의 코드를 meta pixel test event code에 입력하고 포럼을 둘러보십시오. 각 이벤트는 두 번이 아닌 한 번만 도착해야 합니다. 이것이 중복 제거가 작동하고 있음을 의미합니다. 테스트 코드로 전송된 이벤트는 전환으로 집계되지 않으므로, 이후에 필드를 비워 두십시오.

5. 확인. 관리자 → 플러그인 → Meta Pixel → 진단에서 설정, 브라우저 상태, 전달 횟수 및 오류가 있는 마지막 25건의 전달 내역을 볼 수 있습니다.

설정 항목

이름 설명
discourse meta pixel enabled 플러그인 활성화. 기본적으로 꺼져 있습니다.
meta pixel pixel enabled 브라우저에서 Meta Pixel 로드.
meta pixel dataset id Meta Pixel ID (CAPI 문서에서는 dataset ID라고 함).
meta pixel capi enabled Conversions API를 통해 서버 측 사본 전송. 토큰 필요. 기본적으로 꺼져 있습니다.
meta pixel capi access token Events Manager의 Conversions API 토큰. 서버 측 비밀 정보이며, 브라우저에 절대 전송되지 않습니다.
meta pixel graph api version CAPI 요청에 사용할 Graph API 버전. 기본값 v26.0.
meta pixel test event code Test Events 코드. 전환으로 집계되지 않으므로 검증 중에만 설정하십시오.
meta pixel track page view 대상이 되는 페이지에 대해 PageView 전송.
meta pixel track view content 공개적으로 표시되는 주제가 열릴 때 ViewContent 전송.
meta pixel track search 전체 페이지 검색이 실행될 때 Search 전송. 검색 텍스트는 절대 전달되지 않습니다. 기본적으로 꺼져 있습니다.
meta pixel track topic engaged 의미 있는 독서 후 TopicEngaged 전송.
meta pixel topic engaged seconds TopicEngaged가 발생하기 전의 활성 독서 시간(초). 기본값 30.
meta pixel track complete registration 계정이 생성될 때 CompleteRegistration 전송.
meta pixel track topic created 새로운 공개 주제에 대해 TopicCreated 전송.
meta pixel track reply created 공개 주제에 대한 답변에 대해 ReplyCreated 전송.
meta pixel enhanced email matching 매칭 품질을 높이기 위해 멤버 이메일의 SHA-256 해시를 포함합니다. 기본적으로 꺼져 있습니다.
meta pixel external id matching 사용자 ID의 불투명 HMAC을 포함합니다. 사용자 이름이나 이메일은 절대 포함하지 않습니다.
meta pixel excluded groups 이 그룹의 멤버는 Meta 이벤트를 전혀 생성하지 않습니다. 기본값: 관리자, 모더레이터.
meta pixel respect do not track 브라우저에서 Do Not Track을 보고하는 방문자에 대해 아무것도 전송하지 않습니다.
meta pixel public content only 익명 방문자가 읽을 수 있는 주제에 대해서만 콘텐츠 이벤트를 전송합니다.
meta pixel batch size 요청당 전환 수. Meta는 최대 1000개를 허용합니다. 기본값 100.
meta pixel batch max wait seconds 일부 채워진 배치의 대기 시간. 기본값 300.
meta pixel delivery retention days 전달 기록을 보관할 일수. 최소 7일, 기본값 30일.
meta pixel debug mode 전송된 이벤트를 브라우저 콘솔에 기록합니다.

참고 사항

  • 이벤트의 브라우저 사본과 서버 사본은 하나의 ID를 공유합니다. Meta는 48시간 내에 이벤트 이름과 ID를 기준으로 중복을 제거하므로, 배치 대기 창이 시간 단위가 아닌 분 단위입니다.

  • 주제 및 답변 생성은 서버 전용입니다. 브라우저 사본은 식별 신호를 추가하지 않으며, "주제가 생성되었다"고 주장할 수 있는 클라이언트는 이를 거짓으로 주장할 수도 있습니다.

  • 등록은 서버에서 전송되지만 브라우저 이벤트와 짝을 이루어 전송됩니다. 계정 생성 시 IP, 사용자 에이전트 또는 _fbp를 가져올 수 있는 진행 중인 요청이 없기 때문입니다.

  • 제외된 그룹은 브라우저뿐만 아니라 모든 서버 배포 경로에서 적용됩니다. TopicCreated, ReplyCreated, CompleteRegistration은 브라우저가 전혀 관여하지 않습니다.

  • 브라우저가 POST 요청을 보내는 엔드포인트는 CAPI 프록시가 아닙니다. 네 가지 이벤트 이름, 이벤트 ID, 그리고 선택적으로 주제 ID와 경로를 받아들입니다. URL이나 임의의 user_data는 아닙니다.

  • 동일한 방식으로 구축된 Google Analytics 4 플러그인이 있습니다.

이 부분을 채워 넣는 것을 잊지 마세요! 저도 그랬거든요.

1개의 좋아요