우리의 자바스크립트에는 추적을 더 신뢰할 수 있게 만드는 여러 유용한 함수들이 포함되어 있습니다.
아래에서 이들에 대해 설명하겠습니다. 이러한 헬퍼 함수들 중 어느 것이라도 끄려면 여기에 설명된 대로 페이지에 다른 fluxOptions
를 임베드할 수 있습니다.
URL 재작성
페이지가 로드되고 조회가 추적될 때, 우리의 JS는 방문자 ID와 현재 노드 ID를 해결합니다.
이 정보는 방문자가 누구이고 정확히 어떤 노드에 있는지를 알려주므로 추적에 매우 중요합니다.
우리의 헬퍼 함수 중 하나는 현재 URL을 재작성하여 ...&vid=VISITOR_ID&n=CURRENT_NODE_ID
를 추가합니다.
이제 페이지를 새로고침하면 기존 세션이 JS에 명확히 표시됩니다.
새 페이지로 이동하기 위해 링크를 클릭하면, 해당 요청에서 전송되는 리퍼러에는 이제 방문자 ID와 사용자가 온 노드가 포함됩니다.
URL 재작성이 귀찮거나 문제/충돌을 일으키면 fluxOptions
에서 urlRewrite: false
를 설정할 수 있습니다.
링크 재작성
URL 재작성과 마찬가지로, 우리는 페이지에서 링크 - <a>
요소 - 를 스캔하고 그들의 href
속성을 업데이트합니다.
이 검색은 모든 <a>
요소를 통과하며 다음을 업데이트합니다:
href
속성에/action/
이 있는 경우<a>
요소에data-lum="action"
속성이 추가된 경우
이 재작성은 추적에 가장 중요합니다. 클릭할 때 방문자 ID와 참조 노드 ID를 추적기에 직접 알려주어 쿠키/리퍼러에 대한 의존도를 완전히 없애기 때문입니다.
이것이 없으면 추적기는 현재 세션을 추적하기 위해 덜 신뢰할 수 있는 방법에 의존해야 합니다.
다른 함수들과 마찬가지로, fluxOptions
에서 actionLinkRewrite: false
를 설정하여 이를 비활성화할 수 있습니다.
메타 태그 업데이트
마지막으로, 페이지 로딩 시 <meta name="referrer">
태그의 존재를 스캔하고 확인합니다.
존재하면 그 내용을 no-referrer-when-downgrade로 업데이트합니다.
존재하지 않으면 <meta name="referrer" content="no-referrer-when-downgrade">
를 추가합니다.
이 태그는 브라우저에게 나가는 요청에 리퍼러를 전달할 때 어떤 정책을 사용할지 알려줍니다. 우리는 클릭이 어디서 왔는지 이해하는 데 도움이 되도록 추적기에 전체 리퍼러를 전달하고 싶습니다.
기본적으로 Chrome과 대부분의 브라우저는 이제 리퍼러를 축소하여 반복 클릭을 추적하기 어렵게 만듭니다.
또한, 위의 링크 재작성기에서 우리는 링크에 직접 referrerpolicy
속성도 추가하여 추적기 액션 링크에 전체 리퍼러를 전달하려고 여러 곳에서 시도합니다.
이 헬퍼 함수는 매우 파괴적이지 않으며 현재로서는 fluxOptions
에서 비활성화할 수 없습니다.