전환 추적

사용자가 사이트에서 전환할 때 포스트백을 발송하는 방법 - CPA 캠페인이 올바르게 귀속하고 청구하는 데 필수입니다.

CPA 캠페인에서 당사가 사용자의 전환을 알 수 있는 유일한 순간은 you 여러분이 알려줄 때입니다. 그 메커니즘이 postback입니다: 사용자가 사이트에서 원하는 행동을 하면, 여러분의 서버가 당사 서버로 짧은 요청을 보내고, 당사는 원래 클릭에 대해 전환을 기록합니다. 이 연결이 없으면 CPA 캠페인은 클릭만 게재하고 청구는 절대 하지 않습니다 - 그중 어떤 것이 고객이 되었는지 알 방법이 없기 때문입니다.

이 페이지가 그 연결을 안내합니다. 약 15분의 개발 작업이며 SDK는 필요 없습니다.

info
이것이 필요한 것은 CPA 캠페인뿐입니다. CPC 캠페인은 클릭에서 청구됩니다. CPM은 노출에서 청구됩니다. 공동등록은 예/아니오 옵트인에서 청구됩니다(스니펫 안에서 처리 - 포스트백 불필요).

흐름

  1. 사용자가 퍼블리셔 사이트에서 광고를 클릭합니다.
  2. 당사 애드 서버가 다음을 추가합니다: ?efaid=<click_id> 를 도착 URL에 붙이고 사용자를 그곳으로 리디렉션합니다. 클릭 ID는 이 클릭에 고유한 24자 16진수 문자열입니다.
  3. 랜딩 페이지가 다음 값을 캡처합니다: efaid (URL 파라미터) 값을 저장합니다 - 보통 페이지 이동에도 살아남는 세션 쿠키에 넣습니다.
  4. 사용자가 전환에 해당하는 행동(가입, 구매, 설치)을 완료하면, 서버가 다음으로 포스트백을 발송합니다: https://ads.efind.com/serve/postback.php?efaid=<click_id>.
  5. 당사는 클릭을 조회해 전환을 기록하고, 클릭 발생 시점에 유효했던 입찰가로 청구합니다.

1단계: 캡처하기 efaid 랜딩 페이지에서

사용자가 사이트에 도착했을 때 브라우저의 URL은 다음과 같은 모습입니다:

https://example.com/landing?efaid=ee40d35706798218cce42929

다음 파라미터를 가져옵니다: efaid 그리고 저장하세요. 다단계 퍼널에서도 살아남기 때문에 쿠키가 가장 흔한 선택입니다. JavaScript 예시:

const url = new URL(window.location); const efaid = url.searchParams.get('efaid'); if (efaid) { document.cookie = `efaid=${efaid}; path=/; max-age=${30*24*60*60}; SameSite=Lax`; }

또는 랜딩 페이지를 서버에서 제어한다면 PHP로:

<?php if (!empty($_GET['efaid']) && preg_match('/^[a-f0-9]{24}$/', $_GET['efaid'])) { setcookie('efaid', $_GET['efaid'], time() + 30*24*60*60, '/', '', true, true); }
warning
이 efaid 는 저장이 유지되는 동안만 살아남습니다. 도착과 전환 사이에 쿠키를 지운 사용자는 귀속할 수 없습니다. 대부분의 플랫폼은 이로 인해 약 5~10%의 누수를 봅니다 - 오픈 웹에서 사업하는 비용입니다.

2단계: 전환 시 포스트백 발송

서버 측에서 전환이 발생하는 즉시, 저장한 값과 함께 당사 포스트백 URL로 GET을 한 번 발송하세요: efaid:

PHP

$efaid = $_COOKIE['efaid'] ?? ''; if ($efaid !== '') { $url = 'https://ads.efind.com/serve/postback.php?efaid=' . urlencode($efaid); // Fire and forget - don't block the user's request on this. @file_get_contents($url, false, stream_context_create([ 'http' => ['timeout' => 2, 'ignore_errors' => true] ])); }

Node.js

const efaid = req.cookies.efaid; if (efaid) { fetch(`https://ads.efind.com/serve/postback.php?efaid=${encodeURIComponent(efaid)}`) .catch(() => {}); // fire-and-forget }

Python

import requests efaid = request.COOKIES.get('efaid') if efaid: try: requests.get(f'https://ads.efind.com/serve/postback.php?efaid={efaid}', timeout=2) except requests.RequestException: pass

cURL(테스트 또는 셸 기반 스택용)

curl -s "https://ads.efind.com/serve/postback.php?efaid=$EFAID"

대안: 픽셀 방식(서버 접근 불필요)

서버 사이드 포스트백을 발송할 수 없다면 - SaaS 랜딩 페이지나 단순한 감사 페이지에서 흔합니다 - 1×1 이미지 픽셀을 대신 사용할 수 있습니다. 전환 확인 페이지(Shopify "감사합니다" 페이지, Wix 주문 확인 등)의 HTML에 이것을 넣으세요:

<img src="https://ads.efind.com/serve/pixel.php?efaid=YOUR_EFAID_HERE" width="1" height="1" alt="" style="display:none">

다음을 템플릿으로 치환해야 합니다: YOUR_EFAID_HERE 를 저장된 값으로 - 대부분의 이커머스 플랫폼에는 주문 메타데이터와 함께 커스텀 HTML을 삽입하는 방법이 있습니다. 픽셀은 서버 포스트백보다 약간 덜 안정적이지만(광고 차단기, 제3자 요청을 차단하는 브라우저) 설정이 더 쉽습니다.

응답 형식

postback.php 은 JSON을 반환합니다. pixel.php 는 이미지를 반환하되 헤더에 디버그 정보를 추가합니다 - 브라우저 개발자 도구로 연동을 확인할 때 유용합니다.

JSON 형태

{ "ok": true, "recorded": true, "reason": null } ← conversion logged ✓ { "ok": true, "recorded": false, "reason": "already_recorded" } ← duplicate fire (no harm) { "ok": true, "recorded": false, "reason": "not_found" } ← efaid doesn't match a click { "ok": true, "recorded": false, "reason": "bad_click_id" } ← malformed efaid { "ok": true, "recorded": false, "reason": "window_expired" } ← click was over 30 days old

HTTP 상태는 결과와 무관하게 항상 200입니다. 성공 여부 신호는 다음에 있습니다: recorded. 연동에서는 다음을 성공으로 처리하세요: recorded: true 그 외 상태는 "발송했지만 기록되지 않음"으로 처리하면 됩니다 - 보통은 괜찮습니다("아니오"인 이유 대부분은 운영상 정상입니다).

연동 테스트

  1. 대시보드에서 테스트 캠페인을 설정하세요(입찰가는 아무거나 - 초안 캠페인의 테스트 전환에는 실제로 청구되지 않습니다).
  2. 퍼블리셔 사이트에서 또는 당사 애드 서버 URL을 통해 직접 광고를 클릭하고 다음을 적어 두세요: efaid 랜딩 URL에 붙은 값.
  3. 포스트백이 발송되는 방식으로 전환 플로를 실행하세요.
  4. 대시보드의 캠페인 상세 페이지를 확인하세요 - 전환 수치가 1분 안에 올라가야 합니다.
  5. 같은 값으로 같은 포스트백을 다시 발송하세요: efaid - 수치가 두 번째로 올라가면 안 됩니다(멱등성).

중요한 동작

다음
보고서 읽기
arrow_forward