피드로 돌아가기
Dev.toBackend
원문 읽기
Token-based Indirection을 통한 Telegram 64자 페이로드 제약 극복 및 Meta CAPI 어트리뷰션 복구
Your Meta CAPI events from a Telegram bot are losing attribution. Here's the fix.
AI 요약
Context
Meta Ads에서 Telegram 봇으로 전환되는 퍼널에서 fbclid를 통한 이벤트 추적 시도. Telegram Deep Link의 start payload가 64자 및 특정 문자셋으로 제한되어, 평균 170자를 초과하는 실제 fbclid 전달 시 데이터 손실 및 Match Quality 저하가 발생하는 구조적 한계 직면.
Technical Solution
- Landing Page 내에서 고유한 Random Token을 생성하여 fbclid와 클릭 타임스탬프를 서버측 KV Store(Redis 등)에 매핑하여 저장
- Deep Link에 실제 값 대신 짧은 Token만 포함시켜 Telegram의 64자 길이 제약을 우회하는 Indirection 구조 설계
- 봇의 /start 핸들러에서 전달받은 Token으로 원본 fbclid와 타임스탬프를 조회하여 Meta 규격의 fbc(fb.1.timestamp.fbclid) 값 재구성
- Event 발생 시 action_source를 'chat'으로 지정하여 메시징 앱 기반의 실제 이벤트 경로를 정확히 반영
- Landing Page 진입 시점의 타임스탬프를 저장하여 사용자의 봇 진입 지연으로 인한 어트리뷰션 윈도우 불일치 문제 해결
- 메모리 효율화를 위해 미사용 Token에 대한 TTL(Time-To-Live) 설정 및 자동 만료 로직 적용
실천 포인트
1. 외부 플랫폼의 URL 파라미터나 Payload 길이 제한 확인
2. 데이터 크기 제약 발생 시 직접 전달 대신 Server-side Token-mapping 구조 검토
3. Third-party API 연동 시 이벤트 발생 시각이 아닌 원본 클릭 시각(Original Timestamp) 유지 여부 확인
4. API 명세에 따른 정확한 action_source 값 설정으로 데이터 오염 방지