그래서, 캠페인을 운영하고 일부 제휴 네트워크나 제품 판매로부터 전환을 얻고 있지만, FunnelFlux에서는 전환이 표시되지 않고 있습니다.
여기서 문제를 해결하기 위한 몇 가지 단계를 설명해 드리겠습니다 -- 따라야 할 사고 과정입니다.
먼저, 어떻게 전환을 트리거하고 있나요?
두 가지 옵션이 있습니다 - 포스트백 URL(서버 대 서버)을 사용하거나 JavaScript를 사용하는 것입니다. 두 가지 전환 흐름을 살펴보겠습니다.
포스트백 URL을 통한 전환
포스트백 URL을 통해 전환을 추적하는 경우, 이것이 성공적으로 작동하려면 여러 단계가 필요합니다:
- 사용자를 리디렉션을 통해 오퍼 페이지로 보내야 합니다 -- 즉, FunnelFlux에서 생성한 추적 링크나 액션 클릭스루 링크를 사용해야 합니다
- 해당 오퍼 페이지는 URL에 우리의 히트 ID를 전달해야 하며,
{hit}
토큰을 사용합니다. 이는 대개 오퍼 소스의 데이터 전달 섹션에서 구성합니다 - 네트워크/오퍼 플랫폼은 해당 히트 ID 값을 캡처하고 저장해야 합니다
- 나중에 네트워크/오퍼 플랫폼은 저장된 값을 전달하는 포스트백을 FunnelFlux로 보내야 합니다
포스트백이 전환을 트리거하려면 이 모든 것들이 올바르게 작동해야 합니다.
각 단계에서 흔히 발생하는 문제들을 살펴보겠습니다.
사용자를 오퍼 페이지로 보내기
FunnelFlux에 오퍼를 추가했고, 이는 사용자를 일부 네트워크/광고주 또는 심지어 귀하가 제어하는 오퍼 페이지로 보냅니다.
고려해야 할 사항들:
- 랜더 대신 오퍼를 사용하고 있나요? 랜더는 직접 전환될 수 있는 히트를 생성하지 않습니다
- 퍼널에서 오퍼로 연결되는 랜더를 사용하는 경우, 클릭스루를 위해 페이지에서 액션 URL을 사용하고 있나요? 이것 없이는 트래커를 통해 리디렉션되지 않아 히트 ID가 전달되지 않습니다
- 광고 > 오퍼로 우리의 리디렉션 링크를 사용하여 연결하는 경우, 전체 경로를 리디렉션하게 됩니다 -- 그래서 거기까지는 문제 없습니다
- 하지만 확실하게 하기 위해... 광고에 오퍼 URL 자체가 아닌 FunnelFlux URL을 사용하고 있나요?
다음으로, 오퍼/광고주에게 데이터 전달하기
이제 오퍼 자체에 데이터를 전달하는 것을 고려해 봅시다.
데이터 전달 섹션(이상적으로)에서 어떤 매개변수 = 우리의 추적 ID를 전달하고 있으며, 이는 {hit}
토큰을 가집니다
데이터 전달이 예상대로 이루어지고 있는지 오퍼 편집 --> 데이터 전달 탭에서 확인할 수 있습니다. 여기서 오퍼 소스에서 상속된 데이터 전달, 오퍼에 직접 적용된 데이터 전달, 그리고 우리 시스템이 리디렉션할 최종 결과 URL을 볼 수 있습니다:
- 실제로 네트워크/광고주에게 {hit}를 전달하고 있나요? 이는 데이터 전달 섹션 아래에 있어야 합니다. 리디렉션 시 생성되는 이 오퍼의 히트 ID를 다음 시스템에 전달해야 합니다(오퍼 자체를 로드하려고 할 때까지는 존재하지 않습니다)
- 그 히트가 네트워크 플랫폼이 사용하고 데이터를 캡처하는 clickid, s5, aff_sub3 등과 같은 매개변수 이름으로 전달되고 있나요?
- 네트워크 플랫폼의 클릭 보고서로 가서 해당 매개변수로 보고할 수 있고 FunnelFlux에서 오는 히트 ID를 볼 수 있나요? 오퍼 히트라면 항상 "h"로 끝납니다
- 때로는 네트워크가 클릭 ID로 보고하는 것을 허용하지 않습니다. 하지만 이 매개변수로 보고할 수 있다면 우리의 히트 ID가 들어오는 것을 볼 수 있어야 합니다. 볼 수 없다면 네트워크가 ID를 가지고 있지 않은 것이고, FunnelFlux로 전환을 보낼 방법이 없습니다 -- 그리고 수정해야 할 데이터 전달 문제가 있습니다.
FunnelFlux로의 포스트백
데이터 전달이 잘 작동하고 있다고 가정해 봅시다. 하지만 여전히 FunnelFlux에 전환이 나타나지 않습니다. 다음 사항들을 고려해보세요:
- 네트워크로 전달된 히트 ID -- "h"로 끝나는지 확인하세요. 이는 랜더 히트가 아닌 오퍼 히트임을 나타냅니다
- 글로벌 포스트백 URL은 시스템 설정에서 찾을 수 있습니다. 다음과 같은 형식입니다:
https://DOMAIN/pb/?hit=HIT_ID&rev=REVENUE&tx=OPTIONAL_TXID
- 이것을 사용하고 있나요? HIT_ID 자리 표시자가 네트워크가 해당 사용자의 전달된 히트 ID로 동적으로 대체할 {click_id}와 같은 토큰으로 대체되었는지 확인하세요
REVENUE
가 어떤 숫자 값이나 네트워크가 실제 전환 값으로 대체할 #payout#과 같은 토큰으로 대체되었는지 확인하세요- 포스트백 URL에 오타가 있나요? 누락된
?
또는&
가 잘못된 구문을 유발하고 URL이 전혀 작동하지 않을 수 있습니다 - 의심스러운 경우, 우리에게 들어오는 포스트백 로그를 확인하여 우리가 무엇을 받고 있고 왜 작동하지 않는지 볼 수 있도록 요청할 수 있습니다
포스트백 기반 추적 문제 해결은 여기까지입니다. 이는 모두 한 시스템에서 다른 시스템으로의 데이터 전달과 토큰의 올바른 사용에 의존합니다.
이 과정에서 깨진 URL, ID를 전달하지 않음, 또는 포스트백 URL을 잘못 설정하는 등 무언가가 잘못되면 전환이 나타나지 않을 것입니다.
이 시스템들은 프로그래밍적이고 명시적이므로 당신의 실수를 해석하고 수정할 수 없으며, 단순히 당신이 기대하는 대로 작동하지 않을 것입니다.
JavaScript를 통한 전환
JavaScript를 통한 전환 추적은 시스템 A에서 B로의 명시적인 데이터 전달이 필요 없고, 중요하게도 클라이언트 측에서 일어난다는 점에서 매우 다릅니다.
포스트백 URL은 "서버 측" 추적으로, 전환 요청을 보내는 것이 전환하는 사용자가 아닙니다. 하지만 JavaScript를 사용하면 사용자의 브라우저에서 로드되며 해당 브라우저의 컨텍스트에 의존하게 됩니다.
이 때문에 본질적으로 덜 신뢰할 수 있습니다 -- 사용자의 브라우저 환경은 매우 다양하며 브라우저 표준, 개인정보 보호 제한, 광고 차단 플러그인, 그리고 물론 -- 사용자들의 이상한 행동 등 추적을 방해하는 많은 요소들이 있습니다.
일반적으로 JavaScript로 추적하는 방법은 다음과 같습니다:
- 관련된 모든 페이지에 우리의 글로벌 헤더 JS를 넣습니다
- 모든 페이지에 뷰 추적 JS를 넣습니다. 뷰를 추적하고 싶고 일반적으로 추적을 개선하는 헬퍼 함수가 있기 때문입니다(중요!)
- 특정 오퍼를 전환하고 싶을 때, 해당 오퍼 편집 > 전환 추적 > 전환 추적 코드를 가져옵니다
- 전환을 트리거하고 싶은 곳에 해당 코드를 배치합니다 -- 이는 보통 실제 오퍼 이후에 오는 감사 페이지가 될 것이며, 기술적 능력이 있다면 수동으로 스크립트를 실행할 수도 있습니다
꽤 일반적입니다 -- 하지만 이것이 작동하지 않을 수 있는 많은 이유가 있으며, 대부분은 브라우저의 특성과 문제로 인한 것입니다. 이 추적이 실패하는 주요 이유들을 살펴보겠습니다.
문제 1: JavaScript가 실제로 제대로 로드되지 않음
전환 코드가 로드되려면 전환 스크립트 이전에 페이지에 우리의 글로벌 헤더 JS가 있어야 합니다.
없다면 반드시 추가하세요. 모든 페이지에 한 번만 있어야 합니다.
페이지에 하나의 코드 블록만 배치할 수 있다면, 전환 코드 앞에 두세요. <head>에 있는 것이 이상적이지만 중요하지는 않습니다. 단지 먼저 와야 합니다.
더 구체적으로 테스트하고 싶다면, 브라우저의 웹 개발자 도구 > 네트워크 탭을 열고, 모든 것을 지운 다음 페이지를 새로고침하고 우리의 요청을 살펴보세요. 가장 쉬운 방법은 트래커의 도메인으로 필터링하는 것입니다.
lumetric.js가 로드되는 것을 볼 수 있어야 하며, 가능한 뷰 이벤트와 전환 이벤트도 볼 수 있습니다.
funnelflux.com 홈페이지의 예시입니다:
또한 "funnel" 요청을 클릭하면 응답을 검사할 수 있습니다:
팁: Chrome에서 이 패널 왼쪽 하단의 " { } " 버튼을 클릭하여 형식을 지정하세요.
여기서 우리 트래커가 어떻게 응답했는지 볼 수 있습니다. 방문자 ID를 해결했으므로 추적이 정상적으로 작동했다는 뜻입니다. 그렇지 않다면 오류 메시지가 있어야 하며, 이는 무언가가 제대로 작동하지 않는다는 의미입니다.
문제 2: 올바른 전환 코드를 사용하지 않음
오퍼 설정 > 전환 추적으로 가면 해당 오퍼에 특정한 JavaScript 코드가 있습니다. 즉, "p" 값 아래에 오퍼의 ID가 코드에 포함되어 있습니다.
이 코드를 특별히 사용하지 않았다면, 전환 이벤트가 "이 정확한 오퍼를 전환하고 싶다"고 말하지 않는 것입니다.
다른 값을 보내고 혼란을 일으키거나 값이 없을 수 있습니다. 이 경우 FunnelFlux는 사용자를 식별하고 가장 최근에 방문한 오퍼를 전환하려고 시도할 것입니다.
문제 3: 코드는 로드되지만 사용자를 식별할 수 없음
이것도 충분히 가능하며, 위의 콘솔/도구에서 전환 코드 응답을 검사하면 명확해질 것입니다.
퍼널/방문자를 찾을 수 없다고 하면 사용자의 세션을 추적하지 못했을 가능성이 높습니다.
이는 클라이언트 측 추적의 과제로 인한 것입니다... 여기에 도달하기 위해 여러 페이지를 거쳤고 일부 제3자 웹사이트에 있다면, 쿠키에 의존해야 할 가능성이 높습니다(뷰 추적 코드에서 쿠키가 활성화되어 있나요?).
이 제한을 극복할 쉬운 방법은 없습니다 -- 이는 Facebook과 Google Analytics와 같은 모든 JavaScript 추적에 영향을 미칩니다. 이것이 서버 측 추적이 종종 더 신뢰할 수 있는 이유입니다.
이것이 귀하가 제어하는 페이지라면, 페이지 간에 "vid"를 전달하도록 노력해야 합니다. 이는 우리의 리디렉션으로 항상 일어나며, 우리의 JS는 자동으로 이 방문자/세션 ID를 액션 URL에 추가하려고 시도합니다. 기본적으로 URL을 통해 수동으로 쿠키 값을 추적하려고 하는 것입니다.
VID가 현재 URL이나 리퍼러에 있다면 우리의 JavaScript가 이를 찾으려고 시도할 것이지만, 이것은 항상 귀하의 통제 하에 있지는 않습니다.
이와 관련하여, 페이지는 제어하지만 페이지 간에 직접 링크를 사용하고 있다면 (트래커를 통해 리디렉션하는 액션 URL이 아님), 다음을 확인하세요:
- 모든 페이지에 우리의 뷰 추적 JS를 사용하세요
- 클릭스루 링크에
data-lum="action"
속성을 추가하세요
후자의 경우, 우리의 JS도 이러한 링크를 보고 추적을 개선하기 위해 데이터를 추가할 것입니다. 따라서 다음과 같이 변경할 수 있습니다:
<a href="/somepage">Some Link</a>
다음과 같이:
<a href="/somepage" data-lum="action">Some Link</a>
이렇게 하면 우리의 JS가 이 링크에 데이터를 추가하여 다음 페이지에서 JS가 더 많은 컨텍스트를 가지고 더 신뢰할 수 있게 됩니다.
funnelflux.com의 홈페이지에서 이를 볼 수 있습니다 -- 페이지를 검사하면 우리의 링크에 이 모든 데이터가 추가된 것을 볼 수 있습니다. 하지만 페이지 소스를 검사하면 이 값들이 존재하지 않습니다!
페이지 소스:
로드 시 브라우저에서 일어나는 일:
이 모든 추가 내용이 어떻게 추가되었나요? 이것이 우리의 JS가 작동하는 방식입니다. 그 링크를 클릭할 때 다음 페이지가 이 페이지에서 생성한 모든 컨텍스트를 가지도록 하는 것입니다.
이것이 전체 경로에 리디렉션 링크를 사용하고 있더라도 필요하지 않은 경우에도 모든 페이지에 우리의 JS를 두는 것이 매우 유용한 이유입니다!