전환 추적

구현

요약

전환 추적 구현은 다음과 같은 세 가지 요소로 구성됩니다.

  • 방문 페이지 / 앱 진입점에서 rwg_tokenmerchant_id 수집
  • 적절한 기여 산정 기간의 rwg_tokenmerchant_id 유지
  • 전환 시 유지된 merchant_idmerchant_id를 비교합니다(예약 완료됨).
  • 전환 시점에 전환 이벤트 전송 (예약 완료)

Google 애널리틱스 또는 기타 서드 파티 자바스크립트를 사용하지 않아도 전환 추적을 구현할 수 있습니다.

전환 추적 구현 작업을 시작하기 전에 전환을 기기 수준에서 추적할지 아니면 사용자 수준에서 추적할지 결정해야 합니다.

  • 기기 수준에는 브라우저 쿠키, 로컬 저장소, 앱 로컬 저장소 또는 30일 기여 산정 기간 동안 토큰을 유지할 수 있는 기타 모든 방법이 포함됩니다. 토큰은 사용자 기기에 로컬로 저장되므로 사용자가 사용 중인 기기를 변경하거나 로컬 저장소 또는 쿠키를 삭제하거나 시크릿 브라우징 또는 시크릿 모드를 사용하는 경우 전환 이벤트에 대한 기여도가 제대로 부여되지 않을 수 있습니다. 기기 수준 전환 추적을 사용하는 경우 지원되는 모든 표시 경로 (모바일 포함)에서 이를 다시 구현해야 합니다.
  • 사용자 수준에는 서버 측 분석 시스템 또는 기타 서버 측 시스템을 통해 애플리케이션 데이터베이스에 데이터를 유지하는 것이 포함됩니다. 토큰은 서버 측에 저장되므로 사용자가 사용 중인 기기를 변경하거나 로컬 저장소 또는 쿠키를 지우거나 비공개 브라우징 또는 시크릿 모드를 사용하는 경우 사용자가 다시 로그인하면 전환 이벤트에 계속 기여도가 부여됩니다. 사용자 수준 전환 추적을 사용하는 경우 시스템 아키텍처에 따라 서버 측에서 이를 한 번 구현하여 지원되는 모든 표시 경로에서 재사용할 수 있습니다.

rwg_token 수집 중

피드를 통해 제공한 action_link가 Google에서 표시될 때마다 고유한 쿼리 매개변수인 rwg_token가 포함되도록 URL이 수정됩니다. rwg_token 값은 사용자가 클릭했지만 사용자 데이터가 없는 링크에 관한 일부 메타데이터가 포함된 인코딩된 문자열입니다. 이 토큰을 저장하고 전환 이벤트의 일부로 다시 전달해야 합니다.

각 방문 페이지 / 앱 진입점에서 rwg_token 쿼리 매개변수에 설정된 값을 파싱하여 저장해야 합니다. 이 매개변수를 저장하기 위한 요구사항은 rwg_token 유지 단계에서 설명되어 있습니다.

브라우저를 통해 기기 수준 추적을 위해 이 토큰을 파싱하는 방법의 예는 아래에 나와 있습니다. 또는 요청에 응답할 때 서버 측에서 이 토큰을 수집할 수 있습니다.

var query = location.search.substring(1);
var params = query.split('&');
var rwgToken = undefined;
for (var i = 0; i < params.length; ++i) {
  var pair = params[i].split('=');
  if (pair[0] == 'rwg_token') {
    rwgToken = decodeURIComponent(pair[1]);
    break;
  }
}

merchant_id 수집 중

프런트엔드의 방문 페이지에 전환 추적 로직을 구현하는 경우 merchant_id를 찾아서 캡처하는 맞춤 스크립트를 구현해야 합니다. 일반적으로 merchant_id는 방문 페이지 또는 URL에 이미 있을 수 있으므로 거기에서 캡처할 수 있습니다. 그렇지 않은 경우 백엔드 변경을 의미할 수 있는 캡처 가능하도록 어딘가에 노출시킬 방법을 찾아야 합니다.

백엔드에서 전환 추적 로직을 구현하면 프런트엔드 페이지를 생성하기 위해 내부 시스템에 쿼리하는 데이터와 함께 merchant_id를 찾을 수 있습니다.

merchant_id는 피드에서 Google과 공유한 것과 동일해야 합니다.

rwg_tokenmerchant_id 유지

총 30일 동안 제공된 모든 작업 링크에 추가되는 rwg_token URL 매개변수를 유지해야 합니다. rwg_token의 값은 수정하지 않고 저장하고 반환해야 합니다.

rwg_token와 함께 작업 링크와 연결된 merchant_id를 저장해야 합니다.

이전 방문에서 유지되는 기존 토큰이 있으면 이전 rwg_tokenmerchant_id를 교체하고 30일 저장 기간을 재설정해야 합니다.

위의 쌍을 유지할 때는 기기 수준이나 사용자 수준에서 값을 저장할 수 있습니다.

  • 기기 수준에는 브라우저 쿠키, 로컬 저장소, 앱 로컬 저장소 또는 30일 기여 산정 기간 동안 토큰을 유지할 수 있는 기타 모든 방법이 포함됩니다.
  • 사용자 수준에는 서버 측 분석 시스템 또는 기타 서버 측 시스템을 통해 애플리케이션 데이터베이스에 데이터를 유지하는 것이 포함됩니다.

다음은 퍼스트 파티 쿠키를 사용하여 웹브라우저에 이러한 값을 저장하는 기기 수준 전환 추적의 예입니다. 이 예시에서는 위의 예와 같이 토큰 값을 변수로 파싱했다고 가정합니다. 이 예시를 사용하려면 rootdomain.com을 도메인으로 업데이트해야 합니다.

if (typeof rwg_token !== 'undefined') {
  document.cookie =
  "_rwg_token=" + rwg_token + ";_merchant_id=" + merchantid + ";max-age=2592000;domain=rootdomain.com;path=/";
}

사용자 수준 전환 추적을 사용할 때는 rwg_token + merchant_id가 서버에 저장되고 사용자와 연결되어야 합니다.

전환 데이터 보내기

사용자가 Google Place Action 링크로 연결된 거래를 완료하면 전환 엔드포인트에 HTTP POST 요청을 전송해야 합니다. 엔드포인트는 두 개가 있습니다. 하나는 프로덕션 환경용이고 다른 하나는 샌드박스 환경용입니다.

  • 프로덕션: https://www.google.com/maps/conversion/collect
  • 샌드박스: https://www.google.com/maps/conversion/debug/collect

post 본문은 다음과 같은 형식의 JSON 인코딩된 객체여야 합니다.

{
  "conversion_partner_id": <partnerId>,
  "rwg_token": <rwg_token_val>,
  "merchant_changed": 1|2
}

예 (파트너 20123456에 대한 테스트 토큰이 있는 변경되지 않은 판매자):

{
  "conversion_partner_id": 20123456,
  "rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ",
  "merchant_changed": 2
}

판매자_변경 값은 판매자가 초기 리디렉션 판매자에서 변경되었는지 확인하는 데 사용됩니다. 두 가지 값을 전달할 수 있습니다.

판매자 변경 값 요구사항
1 이 값은 사용자가 원래 판매자의 웹사이트를 떠나 플랫폼을 통해 다른 판매자로부터 구매를 완료한 경우에 사용해야 합니다.
2 이 값은 고객이 원래 법인(판매자)을 통해 거래를 완료한 경우에 사용해야 합니다.

샌드박스 환경과 프로덕션 환경 모두 전환 이벤트를 전송할 때 유효한 rwg_token를 제공해야 합니다. 테스트를 위해서는 출시할 때까지 두 환경 모두에서 다음 테스트 토큰을 사용하세요.

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

기기 수준 전환 추적 (사용자 기기의 쿠키 사용)의 전체 예가 JavaScript로 이러한 게시 요청을 하는 방법을 보여줍니다.

const partnerId = XXXXXXXXXX;

const endpoint = `https://www.google.com/maps/conversion/collect`;

const rwgTokenCookie = document.cookie
  .split('; ')
  .find(row => row.startsWith('_rwg_token='));

if (typeof rwgTokenCookie !== 'undefined') {
  const rwgTokenVal = rwgTokenCookie.split('=')[1];
  fetch(endpoint, {
    method: "POST",
    body: JSON.stringify({
      conversion_partner_id: partnerId,
      rwg_token: rwgTokenVal,
      merchant_changed: merchantChanged
    })
  });
}

사용자 수준 전환 추적을 사용하는 경우 서버 측 저장 메커니즘에서 사용자와 연결된 토큰 (사용자가 노출되는 영역에 관계없이)을 가져와 동일한 프로덕션 또는 샌드박스 엔드포인트를 사용하여 토큰을 전송해야 합니다.

전환 기여 요건

Google의 전환 기여 분석 표준은 모든 매장에서 장소 링크와의 상호작용에 대한 30일 기여 산정 기간입니다.

이 기여 산정 기간은 Google에서 다음과 같은 시나리오에서 전환 이벤트가 전송될 것으로 예상함을 의미합니다.

  • 사용자가 작업 옵션 링크를 따라 동일한 세션에서 동일한 판매자에게 주문합니다. (판매자 변경 값 = 2)
  • 사용자가 작업 옵션 링크를 클릭한 다음 30일 이내에 다른 채널에서 돌아와서 동일한 판매자를 위해 주문합니다. (판매자 변경 값 = 2 )
  • 사용자가 작업 옵션 링크를 클릭한 후 30일 기간 내의 동일 세션 또는 다른 세션 내에서 다른 매장에서 주문합니다. ( 판매자 변경 값 = 1)

또한 Google은 사용자가 장소 작업 링크를 통해 방문할 수 있는 모든 표시 경로에서 전환 이벤트가 전송될 것으로 예상합니다. 다음을 포함합니다.

  • 데스크톱 또는 모바일 웹 애플리케이션
  • 앱 딥 링크 또는 도메인의 등록된 앱 인텐트를 통한 모바일 앱

토큰이 사용자 수준에서 저장되는 경우 (토큰 유지 참고) 교차 기기 기여 분석을 제공해야 합니다. 즉, 데스크톱에서 작업 링크를 따라 모바일에서 동일한 사용자 계정을 사용하여 거래를 완료하는 사용자가 전환 이벤트를 트리거해야 합니다.

토큰이 브라우저 쿠키와 같이 기기 수준에서만 저장되는 경우 교차 기기 기여 분석을 제공하지 않아도 됩니다. 이 경우 사용자가 기기에서 작업 링크를 따라갔다면 각 기기에는 별도의 토큰이 유지되며 각 기기는 별도로 기여 분석 규칙을 따릅니다.