Attribution Reporting의 집계 키 이해

집계 키의 정의, Attribution Reporting API에서 사용되는 방식, 목표를 키로 변환하는 방법

다양한 제품 카테고리의 여러 위치에서 캠페인을 운영하는 애드테크 회사로서, 광고주는 다음과 같은 질문에 답할 수 있도록 도움을 드리고 싶습니다.

  1. 각 지역에서 내 캠페인을 통해 발생한 각 제품 카테고리의 구매 횟수
  2. 각 지역에서 내 캠페인을 통해 발생한 제품 카테고리별 수익은 얼마인가?

많은 애드테크 회사에서 광고주에게 다양한 전환 유형을 구성하도록 권장하고 있지만 구매와 같은 가장 중요한 전환에 집중하는 것이 이러한 중요한 이벤트에 대한 상세하고 정확한 요약 결과를 얻을 수 있는 좋은 방법입니다.

그러려면 데이터를 수집하기 전에 어떤 질문에 답할 것인지 생각해야 합니다.

측정기준, 키, 값

이러한 질문에 답하기 위해 측정기준, 키, 값을 살펴보겠습니다.

크기

여기에 설명된 대로 캠페인이 수익을 창출하는 방법을 이해하려면 다음 측정기준을 추적해야 합니다.

  • 광고 캠페인 ID: 특정 캠페인의 식별자입니다.
  • 지역 ID: 광고가 게재된 지역
  • 제품 카테고리: 정의한 제품 유형입니다.

캠페인 ID 및 지역 ID 측정기준은 광고가 게재될 때 (광고 게재 시간) 알 수 있지만 제품 카테고리는 사용자가 전환을 완료할 때 (전환 시간) 트리거 이벤트를 통해 알 수 있습니다.

이 예에서 추적하려는 크기는 다음 이미지와 같습니다.

캠페인 ID, 지역 ID, 제품 카테고리입니다.
추적할 측정기준

집계 키 (버킷)란 무엇인가요?

집계 키와 버킷이라는 용어는 동일한 것을 의미합니다. 집계 키는 보고서를 구성하는 데 사용되는 브라우저 API에서 사용됩니다. 버킷이라는 용어는 집계 가능한 보고서 및 요약 보고서와 집계 서비스 API에서 사용됩니다.

집계 키 (줄여서 키)는 추적 중인 측정기준의 값을 나타내는 데이터 조각입니다. 데이터는 나중에 각 집계 키와 함께 집계됩니다.

예를 들어 제품 카테고리, 지역 ID 및 캠페인 ID 측정기준을 추적한다고 가정해 보겠습니다.

지역 ID 7에 있는 사용자가 캠페인 ID 12의 광고를 본 후 제품 카테고리 25에서 제품을 구매하여 전환하는 경우 다음 이미지와 같은 집계 키를 설정할 수 있습니다.

전환의 집계 키입니다.

나중에 집계 키가 실제로 이와 정확히 같지는 않지만 지금은 키에 포함된 정보에 집중해 보겠습니다.

집계 가능한 값이란 무엇인가요?

앞서 설명한 측정기준에 대한 질문에 답변하려면 다음 정보를 알려주세요.

  • 구매 횟수 (구매 횟수) 집계되어 요약 보고서에서 확인할 수 있게 되면 총 구매 건수 (요약 값)가 됩니다.
  • 각 구매의 수익 (구매 가치)입니다. 집계되어 요약 보고서에 표시되면 이 금액이 총 수익 (요약 값)이 됩니다.

전환 1회의 구매 횟수와 전환 1회의 구매 가치는 각각 집계 가능한 값입니다. 집계 가능한 값을 측정 목표의 가치로 생각하면 됩니다.

문제 집계 가능한 값 = 측정 목표
구매 건수 구매 수
수익... 구매 가치

지역 ID 7에 있는 사용자가 캠페인 ID 12에 대한 광고를 본 후 제품 카테고리 25의 제품을 120달러에 구매하여 전환하는 경우 (통화가 USD라고 가정) 다음과 같이 집계 키와 집계 가능한 값을 설정할 수 있습니다.

집계 키 및 값
집계 키 및 집계 가능한 값 집계 가능한 값은 파란색 배경에 굵게 표시됩니다.

집계 가능한 값은 여러 사용자에 대해 키별로 합산되어 요약 보고서에 요약 값 형식으로 집계된 통계를 생성합니다.

집계된 통계를 생성하는 중입니다.

집계 가능한 값은 측정 목표에 대한 집계된 통계를 생성하기 위해 합산됩니다.

이 다이어그램은 복호화를 생략하고 노이즈를 적용하지 않은 간단한 예를 나타냅니다. 다음 섹션에서는 이 예시의 개요를 노이즈를 적용해 보겠습니다.

키와 값에서 보고서까지

이제 집계 가능한 키와 값이 보고서와 어떤 관련이 있는지 살펴보겠습니다.

집계 가능한 보고서

사용자가 광고를 클릭하거나 본 후 나중에 전환하는 경우, 브라우저에서 {집계 키, 집계 가능한 값} 쌍을 저장하도록 브라우저에 지시합니다.

을 나타냅니다.

이 예에서는 사용자가 광고를 클릭하거나 본 후 나중에 전환할 때 브라우저에서 두 번의 기여 (측정 목표당 1회)를 생성하도록 지시합니다.

두 건의 기여를 생성하는 중입니다.

나중에 {집계 키, 집계 가능한 값} 집계 가능한 보고서를 확인할 수 있습니다. 하지만 지금은 보고서에 포함된 정보를 중점적으로 살펴보겠습니다.

브라우저에서 두 번의 기여를 생성하도록 지시하면 브라우저에서 집계 가능한 보고서를 생성합니다 (전환이 이전 보기 또는 클릭과 일치할 수 있는 경우).

집계 가능한 보고서에는 다음 항목이 포함됩니다.

집계 가능한 결과 보고서입니다.

집계 가능한 보고서는 JSON 형식이며 최종 요약 보고서의 데이터 입력으로 사용되는 페이로드 필드를 포함합니다.

페이로드에는 {집계 키, 집계 가능한 값} 쌍인 기여 목록이 포함됩니다.

  • 버킷: 바이트 문자열로 인코딩된 집계 키입니다.
  • value: 해당 측정 목표에 대해 집계 가능한 값으로, 바이트 문자열로 인코딩됩니다.

예를 들면 다음과 같습니다.

{
  "data": [
    {
      "bucket": "111001001",
      "value": "11111010000",
    }
  ],
  "operation": "histogram"
}

실제로 집계 가능한 보고서는 버킷과 값이 이전 예와 다르게 표시되는 방식으로 인코딩됩니다 (즉, 버킷이 \u0000\u0000\x80\u0000처럼 보일 수 있음). 버킷은 모두 바이트 문자열입니다.

요약 보고서

집계 가능한 보고서는 여러 브라우저 및 기기 (사용자)에서 다음과 같이 집계됩니다.

  • 광고 기술은 특정 키 세트에 관한 요약 보고서와 다양한 브라우저 (사용자)에서 제공하는 집계 가능한 보고서 세트를 요청합니다.
  • 집계 가능한 보고서는 집계 서비스에서 복호화합니다.
  • 키마다 집계 가능한 보고서의 집계 가능한 값이 합산됩니다.
  • 노이즈가 요약 값에 추가됩니다.
집계 가능한 보고서와 함께 집계, 복호화, 노이즈 결과를 요약 보고서에 제공합니다.

그러면 {집계 키, 요약 값} 쌍의 집합이 포함된 요약 보고서가 생성됩니다.

요약 보고서에는 JSON 사전 스타일의 키-값 쌍 조합이 포함되어 있습니다. 각 쌍에는 다음이 포함됩니다.

  • 버킷: 바이트 문자열로 인코딩된 집계 키입니다.
  • value: 지정된 측정 목표에 대한 십진수 요약 값으로, 사용 가능한 모든 집계 가능한 보고서에서 합산되고 노이즈 수준을 더함.

예:

[
  {"bucket": "111001001", "value": "2558500"}, 
  {"bucket": "111101001", "value": "3256211"}, 
  {...}
]

실제로 요약 보고서는 버킷과 값이 예에 설명된 것과 다르게 표시되는 방식으로 인코딩됩니다 (즉, 버킷이 \u0000\u0000\x80\u0000처럼 보일 수 있음). 버킷은 모두 바이트 문자열입니다.

실제 집계 키

집계 키 (버킷)는 광고 기술 회사에서 정의하며 일반적으로 광고 클릭 또는 조회 시와 사용자가 전환할 때 두 단계로 정의됩니다.

키 구조

키 구조라는 용어를 사용하여 키로 인코딩된 측정기준 집합을 지정합니다.

예를 들어 캠페인 ID x GeoID x 제품 카테고리가 키 구조입니다.

키 구조.

키 유형

집계 가능한 값은 여러 사용자/브라우저에서 특정 키에 대해 합산됩니다. 하지만 집계 가능한 값을 통해 구매 가치 또는 구매 횟수와 같은 다양한 측정 목표를 추적할 수 있습니다. 집계 서비스가 동일한 유형의 집계 가능한 값을 합산하도록 하려고 합니다.

이렇게 하려면 요약 값이 나타내는 것(이 키가 참조하는 측정 목표)을 알려주는 데이터를 각 키 내에 인코딩합니다. 이를 위한 한 가지 방법은 측정 목표 유형을 나타내는 키에 대해 추가 측정기준을 만드는 것입니다.

앞서 살펴본 예의 경우, 이 측정 목표 유형에는 다음과 같은 두 개의 값이 들어갈 수 있습니다.

  • 구매 수는 첫 번째 측정 목표 유형입니다.
  • 구매 가치는 두 번째 측정 목표 유형입니다.
측정 목표 및 측정 목표 유형

측정 목표가 n개라면 측정 목표 유형에는 n개의 서로 다른 값이 부여됩니다.

키의 측정기준을 측정항목으로 생각하면 됩니다. '지역별 캠페인당 특정 제품의 구매 수'를 예로 들 수 있습니다.

키 크기, 크기

최대 키 크기는 비트로 정의됩니다. 즉, 전체 키를 생성하기 위한 0과 1의 바이너리가 사용됩니다. 이 API는 128비트의 키 길이를 허용합니다.

이 크기는 매우 세분화된 키를 허용하지만, 키가 더 세분화되면 노이즈가 더 많이 발생할 가능성이 큽니다. 잡음 이해하기에서 노이즈에 관해 자세히 알아보세요.

앞에서 소개한 것처럼 측정기준은 집계 키에 인코딩됩니다. 각 측정기준에는 특정 카디널리티, 즉 측정기준에서 사용할 수 있는 고유한 값의 수가 있습니다. 카디널리티에 따라 각 측정기준은 특정 비트 수로 표현되어야 합니다. n비트를 사용하면 2n개의 개별 옵션을 표현할 수 있습니다.

예를 들어 전 세계에 약 200개의 국가가 있으므로 국가 측정기준의 카디널리티는 200일 수 있습니다. 이 차원을 인코딩하는 데 몇 개의 비트가 필요한가요?

7비트는 27 =128개의 고유 옵션만 저장하며, 이는 필요한 200개보다 적습니다.

8비트는 필요한 200개보다 많은 28 =256 고유 옵션을 저장하므로 n=8비트를 사용하여 이 차원을 인코딩할 수 있습니다.

키 인코딩

브라우저에서 키를 설정할 때 16진수로 인코딩되어야 합니다. 요약 보고서에서 키는 바이너리로 표시되며 버킷 이름으로 표시됩니다.

전체 키를 위한 키 피스 2개 설정

키를 사용하여 다음 측정기준을 추적한다고 가정해 보겠습니다.

  • 캠페인 ID
  • 지역 ID
  • 제품 카테고리

캠페인 ID 및 지역 ID 측정기준은 광고가 게재될 때 (광고 게재 시간) 알 수 있지만 제품 카테고리는 사용자가 전환을 완료할 때 (전환 시간) 트리거 이벤트를 통해 알 수 있습니다.

실제로 이는 다음 두 단계로 키를 설정한다는 것을 의미합니다.

  1. 클릭 또는 조회 시 키의 한 부분(캠페인 ID x 지역 ID)을 설정합니다.
  2. 전환 시 키의 두 번째 부분인 제품 카테고리를 설정합니다.

키의 서로 다른 부분을 키 조각이라고 합니다.

키는 키 조각의 XOR (^)을 사용하여 계산됩니다.

XORing의 핵심 요소입니다.

예:

  • 소스 측 키 조각 = 0x159
  • 트리거 측 키 조각 = 0x400
  • 키 = 0x159 ^ 0x400 = 0x559

키 조각 정렬

신중하게 배치된 64비트 필러/오프셋 (16개의 0)을 사용하여 64비트 키 조각 2개가 128비트로 확장되면 XORing 키 조각이 연결과 동일하므로 추론하고 확인하기가 더 쉽습니다.

  • 소스 측 키 조각 = 0xa7e297e7c8c8d0540000000000000000
  • 트리거 측 키 조각 = 0x0000000000000000674fbe308a597271
  • 키 =
    • 0xa7e297e7c8c8d0540000000000000000 ^ 0x0000000000000000674fbe308a597271 =
    • 0xa7e297e7c8c8d054674fbe308a597271

광고 클릭 또는 조회당 여러 개의 키

실제로는 기여 분석 소스 이벤트 (광고 클릭 또는 조회)당 여러 키를 설정할 수 있습니다. 예를 들어 다음과 같이 설정할 수 있습니다.

  • 지역 ID x 캠페인 ID를 추적하는 키.
  • 광고 소재 유형 x 캠페인 ID를 추적하는 또 다른 키입니다.

다른 예는 전략 B를 참고하세요.

측정기준을 키로 인코딩

요약 보고서를 요청할 때 특정 집계 키 집합에 관한 요약 보고서를 요청하여 액세스하려는 측정항목을 집계 서비스에 알려야 합니다.

요약 보고서에는 원시 {key, summary value} 쌍이 포함되며 키에 대한 추가 정보는 없습니다. 이 내용의 의미는 다음과 같습니다.

  • 사용자가 광고를 조회하거나 클릭한 후 나중에 전환할 때 키를 설정하는 경우 키가 나타내는 측정기준의 값에 따라 안정적으로 키를 설정해야 합니다.
  • 요약 보고서를 요청하려는 키를 정의할 때 집계 데이터를 확인하려는 측정기준 값을 기준으로 사용자가 광고를 보거나 클릭하고 전환할 때 설정된 키와 동일한 키를 즉석에서 안정적으로 생성하거나 액세스해야 합니다.

키 구조 맵을 사용한 인코딩 측정기준

측정기준을 키로 인코딩하려면 키 정의 시 미리 키 구조 맵을 만들고 유지하면 됩니다 (광고 게재 시간 전).

키 구조 맵은 각 측정기준과 키에서의 위치를 나타냅니다.

실제로 키 구조 맵을 만들고 유지한다는 것은 디코더 로직을 구현하고 유지관리해야 함을 의미합니다. 이러한 작업을 하지 않아도 되는 메서드를 찾고 있다면 대신 해시 기반 방식을 사용하는 것이 좋습니다.

예를 들면 다음과 같습니다.

특정 캠페인, 지역, 제품의 구매 가치와 구매 가치를 모두 추적한다고 가정해 보겠습니다.

제품 카테고리, 지역 ID, 캠페인 ID는 키의 측정기준이어야 합니다. 또한 구매 횟수와 구매 가치라는 두 가지 측정 목표를 추적하려는 경우 키 유형을 추적하는 하나의 측정기준을 키 내에 추가해야 합니다. 이렇게 하면 요약 보고서에서 {key, aggregatable value} 쌍을 수신할 때 집계 가능한 값이 실제로 무엇을 나타내는지 정의할 수 있습니다.

이러한 측정 목표를 사용하면 키에 다음과 같은 측정기준이 포함됩니다.

  • 제품 카테고리
  • 측정 목표 유형
  • 지역 ID
  • 캠페인 ID

이제 각 측정기준을 살펴보면서 사용 사례에서 다음을 추적해야 한다고 가정해 보겠습니다.

  • 29가지 제품 카테고리.
  • 8개 지역: 북미, 중앙 아메리카, 남미, 유럽, 아프리카, 아시아, 카리브해, 오세아니아
  • 16개의 서로 다른 캠페인

다음은 키의 각 측정기준을 인코딩하는 데 필요한 비트 수입니다.

  • 제품 카테고리: 5비트 (25 = 32 > 29).
  • 측정 목표 유형: 1비트. 측정 목표는 구매 횟수 또는 구매 가치이며, 두 개의 서로 다른 가능성을 의미합니다. 따라서 1비트로 이를 저장하기에 충분합니다.
  • 지역 ID: 3비트 (23 = 8). 각 이진 값이 나타내는 지역을 파악하기 위해 지역 ID의 측정기준 맵도 정의합니다. 지역 ID 측정기준의 측정기준 지도는 다음과 같습니다.

    키의 바이너리 값 지역
    000 북미
    001 중미
    010 남미
    011 유럽
    100 아프리카
    101 아시아
    110 카리브해
    111 오세아니아

  • 캠페인 ID: 4비트 (24 = 16)

이 구조를 따르는 키의 길이는 13비트입니다 (5 + 1 + 3 + 4).

이 예에서 이러한 키의 키 구조 맵은 다음과 같습니다.

키 구조 맵

키 내 측정기준의 순서는 개발자가 결정합니다.

측정기준이 키 구조를 구성하는 방식을 설명하기 위해 이진 표현을 사용하겠습니다. 이것이 캠페인 ID (첫 번째 비트)가 가장 오른쪽이고 제품 카테고리 (마지막 비트)가 가장 왼쪽인 이유입니다.

각 차원 내에서 최상위 비트, 즉 가장 큰 숫자 값을 전달하는 비트는 가장 왼쪽의 비트입니다. 최하위 비트, 즉 가장 작은 숫자 값을 전달하는 비트가 가장 오른쪽 비트입니다.

키 구조 맵을 사용하여 키를 디코딩하는 방법을 살펴보겠습니다.

0b1100100111100을 임의의 키 예로, 이 키가 이전 그림의 키 구조 맵을 따른다는 것을 알 수 있는 방법이 있다고 가정해 보겠습니다.

키 구조 맵에 따라 이 키는 다음과 같이 디코딩됩니다.

11001 0 011 1100
ALT_TEXT_HERE

따라서 키 0b1100100111100은 유럽에서 시작된 캠페인 ID 12에 대한 제품 카테고리 25의 구매 수를 나타냅니다.

해시 함수를 사용하여 측정기준 인코딩

키 구조 맵을 사용하는 대신 해싱 함수를 사용하여 일관되고 신뢰할 수 있는 방식으로 키를 동적으로 생성할 수 있습니다.

다음과 같이 작동합니다.

  1. 해싱 알고리즘을 선택합니다.
  2. 광고 게재 시 추적하려는 모든 측정기준과 해당 값이 포함된 문자열을 생성합니다. 소스 측 키 조각을 생성하려면 이 문자열을 해시하고 64비트 접미사 0을 추가하여 트리거 측 키 조각과 정렬하고 XOR을 더 쉽게 추론할 수 있도록 하세요.
    • 소스 측 키 조각
      = <64비트 16진수 해시("COUNT, campaignID=12, geoID=7"))><64비트 00000000...>
    • COUNT는 키 구조 맵 접근 방식에서 measurementGoalType=0과 동일한 항목을 인코딩합니다. COUNT는 좀 더 간결하고 명확합니다.
  3. 전환 시 추적하려는 모든 측정기준과 그 값이 포함된 문자열을 생성합니다. 트리거 측 키 조각을 생성하려면 이 문자열을 해싱하고 64비트 접두사 0을 추가합니다.
    • 트리거 측 키 조각 = <64비트 00000000...><64비트 16진수 해시("productCategory=25")>
  4. 브라우저는 이러한 키 조각을 XOR 처리하여 키를 생성합니다.
    • 128비트 집계 키
      = <64비트 16진수 소스 측 키 조각 해시><64비트 16진수 소스 측 키 조각 해시>
  5. 나중에 이 키에 대한 요약 보고서를 요청할 준비가 되면 즉시 생성합니다.
    • 이전과 마찬가지로 관심 있는 측정기준에 따라 소스 측 및 트리거 측 키 조각을 생성합니다.
      • 소스 측 키 조각
        = <64비트 16진수 해시("COUNT, campaignID=12, geoID=7"))><64비트 00000000...>
      • 트리거 측 키 조각
        = <64비트 00000000...><64비트 16진수 해시("productCategory=25")>
      • 트리거 측 키 조각 = toHex(hash("productCategory=25"))
    • 브라우저와 마찬가지로 이러한 키 조각을 XOR로 조합하여 브라우저에서 이전에 생성한 것과 동일한 키를 생성합니다.
      • 128비트 집계 키
        = <64비트 소스 측 키 조각 해시><64비트 소스 측 키 조각 해시>

이 해시 기반 접근 방식을 사용하는 경우 몇 가지 실용적인 팁은 다음과 같습니다.

  • 항상 동일한 크기의 측정기준을 사용하세요. 이렇게 하면 해시를 안정적으로 다시 생성할 수 있습니다. ('COUNT, CampaignID=12, GeoID=7'은 'COUNT, GeoID=7, CampaignID=12'와 동일한 해시를 생성하지 않습니다.) 이를 달성하는 간단한 방법 중 하나는 영숫자로 차원을 정렬하는 것입니다. 에서는 이렇게 하겠습니다. 단, 항상 COUNT 또는 VALUE이 측정기준의 첫 번째 항목으로 지정된다는 점이 다릅니다. COUNT 또는 VALUE는 다른 모든 측정기준과 개념적으로 약간 다른 정보를 인코딩하기 때문에 가독성을 위해 선택합니다.
  • 키에서 사용 중인 측정기준 집합을 추적합니다. 한 번도 사용하지 않은 측정기준 집합을 기반으로 키가 생성되지 않도록 하고 싶습니다.
  • 적절한 해시 함수를 사용하는 경우 해시 충돌이 드물게 발생하지만 이전에 사용된 해시 (집계 서비스의 결과를 해석하기 위해 저장해야 함)를 확인하면 이전 키와 충돌하는 새로운 키가 발생하지 않도록 방지할 수 있습니다.

클릭 또는 조회당 전환 1회에서 해시 기반 키를 실제로 사용하는 방법을 알아보세요.

실제 집계 가능한 값

애드테크 회사는 사용자가 전환할 때 집계 가능한 값을 설정합니다.

사용자 개인 정보를 보호하기 위해 각 사용자의 참여에 상한이 있습니다. 단일 소스 (광고 클릭 또는 조회)와 연결된 모든 집계 가능한 값에서 특정 기여도 한도를 초과하는 값은 사용할 수 없습니다.

이 한도를 CONTRIBUTION_BUDGET라고 합니다. 설명서에서는 이 한도를 L1 예산이라고 하지만 CONTRIBUTION_BUDGET와 동일합니다.

후원 예산에 대한 자세한 내용은 요약 보고서의 후원 예산을 참고하세요.

예: 클릭 또는 조회당 전환 1회

이 예에서는 다음 질문에 답하려고 한다고 가정해 보겠습니다.

  • 각 지역에서 가장 가치 있는 제품 카테고리는 무엇인가요?
  • 각 지역에서 가장 효과적인 캠페인 전략은 무엇인가요?

또한 사용 사례의 경우 주간 통계가 필요하다고 가정해 보겠습니다.

또한 다음을 추적해야 합니다.

  • 16개의 서로 다른 캠페인
  • 8개 지역: 북미, 중앙 아메리카, 남미, 유럽, 아프리카, 아시아, 카리브해, 오세아니아
  • 29가지 제품 카테고리.

측정 항목

많은 애드테크 회사에서 광고주에게 다양한 전환 유형을 구성하도록 권장하고 있지만 구매와 같은 가장 중요한 전환에 집중하는 것이 중요한 전환 이벤트에 대한 집계 결과를 상세하고 정확하게 확인하는 좋은 방법입니다. 실제로 측정하는 측정항목이 많을수록 측정항목당 기여 예산이 줄어들어 각 값의 노이즈가 발생할 가능성이 커집니다. 따라서 측정할 항목을 신중하게 선택해야 합니다.

이 예에서는 클릭 또는 조회당 하나의 전환, 즉 구매만 측정하는 캠페인 설정에 중점을 둡니다.

계속해서 구매 횟수와 구매 가치를 모두 측정하며 총 구매 금액 및 지역 분류와 같은 다양하고 중요한 집계 통계에 액세스할 수 있습니다. 이렇게 하면 노이즈를 적정 수준으로 유지하고 참여 예산에 간단한 확장 방식이 적용됩니다.

통화는 어떨까요?

여러 지역에서 캠페인을 운영한다는 것은 통화를 고려해야 한다는 의미입니다. 다음과 같은 방법을 사용할 수 있습니다.

  • 집계 키에서 통화를 전용 측정기준으로 만듭니다.
  • 또는 캠페인 ID에서 통화를 추론하고 모든 통화를 참조 통화로 변환합니다.

이 예에서는 캠페인 ID에서 통화를 추론할 수 있다고 가정합니다. 이렇게 하면 특정 구매 금액을 사용자의 현지 통화에서 내가 선택한 참조 통화로 변환할 수 있습니다. 또한 사용자가 상품을 구매할 때 즉시 전환을 수행할 수도 있습니다.

이 기법을 사용하면 집계 가능한 모든 값이 동일한 참조 통화이므로 합산하여 집계된 총 구매 금액(요약 구매 금액)을 생성할 수 있습니다.

목표를 키로 전환

측정 목표와 측정항목을 이용해 주요 전략을 위한 여러 옵션을 사용할 수 있습니다. 이 중 2가지 전략에 대해 자세히 살펴보도록 하겠습니다.

  • 전략 A: 세분화된 키 구조 1개
  • 전략 B: 두 개의 대략적인 키 구조

전략 A: 딥 트리 1개 (세분화된 키 구조 1개)

전략 A에서는 필요한 모든 측정기준을 포함하는 하나의 세분화된 키 구조를 사용합니다.

세분화된 단일 키 구조

모든 키가 이 구조를 사용합니다.

이 키 구조를 두 개의 키 유형으로 분할하여 두 가지 측정 목표를 지원합니다.

  • 키 유형 0: 측정 목표 유형 = 0이며, 이를 구매 횟수로 정의합니다.
  • 키 유형 1: 측정 목표 유형 = 1로, 이를 구매 값으로 정의합니다.

요약 보고서는 다음과 같이 표시됩니다.

전략 요약 보고서

전략 A를 '단일 딥 트리' 전략으로 생각할 수 있습니다.

  • 요약 보고서의 각 요약 값은 추적 중인 모든 측정기준과 연결됩니다.
  • 이러한 요약 값을 각 측정기준과 함께 롤업할 수 있으므로 롤업의 깊이는 보유한 측정기준의 수만큼 쌓일 수 있습니다.

전략 A를 사용하면 다음과 같은 질문에 답할 수 있습니다.

문제 정답
각 지역에서 가장 가치 있는 제품 카테고리는 무엇인가요? 모든 캠페인에서 요약 보고서에 있는 요약 구매 수와 값을 합산합니다.
이를 통해 지역 ID x 제품 카테고리별로 구매 횟수와 값을 확인할 수 있습니다.
각 지역에서 구매 가치와 다양한 제품 카테고리의 수를 비교합니다.
각 지역에서 가장 효과적인 캠페인 전략은 무엇인가요? 모든 제품 카테고리에서 요약 보고서에 있는 요약 구매 수와 값을 합산합니다.
이를 통해 캠페인 ID x 지역 ID당 구매 횟수와 구매 가치를 확인할 수 있습니다.
각 지역의 구매 가치와 캠페인 수를 비교합니다.

전략 A를 사용하면 다음의 세 번째 질문에 직접 답할 수 있습니다.

'각 지역의 각 캠페인이 제품별로 얼마나 많은 수익을 창출했는가?'

요약 값에 노이즈가 있더라도 각 캠페인 간에 측정된 값의 차이가 노이즈로 인한 것이 아닌 경우를 파악할 수 있습니다. 노이즈 이해에서 이 작업을 실행하는 방법을 알아보세요.

전략 B: 얕은 트리 2개 (대략적인 키 구조 2개)

전략 B에서는 필요한 측정기준의 하위 집합이 포함된 2개의 대략적인 키 구조를 사용합니다.

키 구조 1 및 키 구조 2.

이러한 각 키 구조를 두 개의 키 유형으로 분할하여 두 가지 측정 목표를 지원합니다.

  • 측정 목표 유형 = 0이며, 이를 구매 횟수로 정의합니다.
  • 측정 목표 유형 = 1이며, 이를 구매 가치로 정의합니다.

그러면 4가지 키 유형이 생성됩니다.

  • 키 유형 I-0: 키 구조 I, 구매 건수.
  • 키 유형 I-1: 키 구조 I, 구매 가치.
  • 키 유형 II-0: 키 구조 II, 구매 건수.
  • 키 유형 II-1: 키 구조 II, 구매 가치.

요약 보고서는 다음과 같이 표시됩니다.

요약 보고서 전략 B.

전략 B는 '얕은 나무 두 개' 전략으로 생각할 수 있습니다.

  • 요약 보고서의 요약 값은 두 개의 작은 측정기준 집합 중 하나에 매핑됩니다.
  • 이러한 요약 값은 이러한 집합의 각 측정기준과 함께 롤업할 수 있습니다. 즉, 롤업할 측정기준이 더 적기 때문에 이러한 롤업은 옵션 A만큼 깊지 않습니다.

전략 B를 사용하면 다음과 같은 질문에 답할 수 있습니다.

문제 정답
각 지역에서 가장 가치 있는 제품 카테고리는 무엇인가요? 요약 보고서에 있는 요약 구매 수 및 값에 직접 액세스합니다.
각 지역에서 가장 효과적인 캠페인 전략은 무엇인가요? 요약 보고서에 있는 요약 구매 수 및 값에 직접 액세스합니다.

결정: 전략 A

전략 A는 더 간단합니다. 모든 데이터가 동일한 키 구조를 따르므로 유지관리할 키 구조가 하나뿐입니다.

그러나 전략 A를 사용하면 요약 보고서에 수신된 요약 값의 합계를 내야 질문에 답할 수 있습니다. 이러한 각 요약 값에는 노이즈가 있습니다. 해당 데이터를 합산하면 노이즈를 합산하게 됩니다.

전략 B의 경우에는 그렇지 않습니다. 전략 B에서는 요약 보고서에 노출된 요약 값이 이미 필요한 정보를 제공합니다. 즉, 전략 B가 전략 A보다 노이즈로 인한 영향이 더 적을 가능성이 큽니다.

어떤 전략을 사용해야 할까요? 기존 광고주 또는 캠페인의 경우 이전 데이터를 사용하여 전환수가 전략 A에 더 적합한지 또는 전략 B에 더 적합한지 결정할 수 있습니다. 하지만 신규 광고주 또는 캠페인의 경우 다음과 같이 결정할 수 있습니다.

  • 세분화된 키로 한 달치의 데이터를 수집합니다 (전략 A). 데이터 수집 기간이 연장되므로 요약 값은 높아지고 노이즈는 상대적으로 줄어듭니다.
  • 주간 전환수와 구매 가치를 합리적으로 정확하게 평가합니다.

이 예시에서는 주간 구매 건수와 구매 가치가 전략 A로 인해 사용 사례에 허용되는 것으로 판단되는 노이즈 비율로 이어질 만큼 충분히 높다고 가정해 보겠습니다.

전략 A가 더 간단하고 의사 결정 능력에 영향을 미치지 않는 노이즈 영향을 미치므로 전략 A를 사용하기로 결정합니다.

해싱 알고리즘 선택

따라서 키를 생성하기 위해 해시 기반 접근 방식을 채택하기로 결정합니다. 이렇게 하려면 이 접근 방식을 지원하는 해싱 알고리즘을 선택해야 합니다.

SHA-256을 선택했다고 가정해 보겠습니다. MD5와 같은 더 간단하고 보안 수준이 낮은 알고리즘을 사용할 수도 있습니다.

브라우저에서: 키와 값 설정

키 구조와 해싱 알고리즘을 결정했으므로 이제 사용자가 광고를 클릭하거나 본 후 전환할 때 키와 값을 등록할 수 있습니다.

다음은 브라우저에서 키와 값을 등록하기 위해 설정하는 헤더의 개요입니다.

조회 또는 클릭에 대한 키와 값을 등록합니다.
전환에 대한 키와 값을 등록합니다.

소스 측 키 조각 설정

사용자가 광고를 클릭하거나 볼 때 Attribution-Reporting-Register-Aggregatable-Source 헤더에 집계 키를 설정하세요. 이 단계에서는 각 키에 대해 광고 게재 시점에 알려진 키의 일부 또는 키 조각만 설정할 수 있습니다.

주요 요소를 생성해 보겠습니다.

키 ID의 소스 측 키 조각 설정하려는 측정기준 값이 포함된 문자열 이 문자열의 해시이며 16진수로, 첫 64비트로 잘립니다 (64/4 = 16자1). XOR-ing을 단순화 하기 위해 0이 추가된 16진수 해시. 이는 소스 측 키 조각입니다.
key_purchaseCount 횟수, 캠페인 ID=12, 지역 ID=7 0x3cf867903fbb73ec 0x3cf867903fbb73ec0000000000000000
key_purchaseValue 값, 캠페인 ID=12, 지역 ID=7 0x245265f432f16e73 0x245265f432f16e730000000000000000
1각 16진수는 4비트 (이진 자릿수)를 나타냅니다.

이제 핵심 요소를 설정해 보겠습니다.

// Upon receiving the request from the publisher site
res.set(
  "Attribution-Reporting-Register-Aggregatable-Source",
  JSON.stringify(
   [{
    "id": "key_purchaseCount", 
    "key_piece": "0x3cf867903fbb73ec0000000000000000"
    }, {
    "id": "key_purchaseValue", 
    "key_piece": "0x245265f432f16e730000000000000000"
    }]
))

키 ID는 최종 보고서에 표시되지 않습니다. 이 키는 브라우저에서 키를 설정할 때만 사용되므로 소스 측 및 트리거 측 키 조각이 서로 매핑되어 전체 키로 결합될 수 있습니다.

선택사항: 이벤트 수준 보고서

이벤트 수준 보고서를 집계 가능한 보고서와 함께 사용해야 하는 경우 특정 소스에서 이벤트 수준 데이터 (소스 이벤트 ID 및 트리거 데이터)와 집계 키를 일치시킬 수 있는지 확인합니다.

예를 들어 가장 많은 구매를 유도하는 광고 유형에 대해 모델을 실행하기 위해 이벤트 수준 보고서를 사용하려는 경우 두 보고서를 모두 사용할 수 있습니다.

사용자가 전환됨

사용자가 전환하면 일반적으로 픽셀 요청이 광고 기술 서버로 전송됩니다. 이 요청을 받은 후 다음 사항이 적용됩니다.

  • 전환 측 (트리거 측) 키 조각을 설정하여 키를 완료합니다. Attribution-Reporting-Register-Aggregatable-Trigger-Data 헤더를 통해 이러한 키 조각을 설정합니다.
  • Attribution-Reporting-Register-Aggregatable-Values 헤더를 통해 해당 전환의 집계 가능한 가치를 설정합니다.

트리거 측 키 조각을 설정하여 키 완료

주요 요소를 생성해 보겠습니다.

키 ID의 트리거 측 키 조각 설정하려는 측정기준 값이 포함된 문자열 이 문자열의 해시이며 16진수로, 첫 64비트로 잘립니다 (64/4 = 16자1). XOR-ing을 simplify하기 위해 0이 추가된 16진수 해시. 이는 소스 측 키 조각입니다.
key_purchaseCount 제품 카테고리=25 0x1c7ce88c4904bbe2 0x0000000000000000f9e491fe37e55a0c
key_purchaseValue (동일) (동일) (동일)
1각 16진수는 4비트 (이진 자릿수)를 나타냅니다.

이제 핵심 요소를 설정해 보겠습니다.

// Upon receiving the pixel request from the advertiser site
res.set(
  "Attribution-Reporting-Register-Aggregatable-Trigger-Data",
  JSON.stringify(
    [
      // Each dictionary independently adds pieces to multiple source keys
      { "key_piece": "0x0000000000000000f9e491fe37e55a0c",
        "source_keys": ["key_purchaseCount", "key_purchaseValue"]}, 
    ]
))

source_keys에 여러 키 ID를 나열하여 동일한 키 조각을 여러 키에 추가하는 방법을 확인합니다. 키 조각이 두 키에 모두 추가됩니다.

집계 가능한 값 설정

집계 가능한 값을 설정하기 전에 노이즈를 줄이기 위해 값을 확장해야 합니다.

제품 유형 25를 52,000원에 한 번 구매했다고 가정해 보겠습니다.

이 값은 집계 가능한 값으로 직접 설정하지 않습니다.

  • key_purchaseCount: 전환 1회
  • key_purchaseValue: 52달러

대신 이러한 집계 가능한 값을 등록하기 전에 노이즈를 최소화하기 위해 값을 확장해야 합니다.

참여 예산을 지출하는 목표는 두 가지이므로 기여 예산을 두 개로 분할하기로 결정할 수 있습니다.

이 경우 각 목표에는 최대 CONTRIBUTION_BUDGET/2(=65,536/2=32,768)이 할당됩니다.

사이트의 모든 사용자의 구매 내역을 기반으로 단일 사용자의 최대 구매 가치가 $1,500라고 가정해 보겠습니다. 이상점이 있을 수 있습니다. 예를 들어 해당 합계를 초과하여 지출한 사용자는 극소수에 불과하지만, 이러한 이상점은 무시해도 됩니다.

구매 가치의 배율은 다음과 같아야 합니다.

((CONTRIBUTION_BUDGET/2) / 1,500) = 32,768/1,500 = 21.8~ 22

광고 클릭 또는 조회 (소스 이벤트)당 최대 한 번의 구매를 추적하기로 결정했으므로 구매 횟수의 배율은 32,768/1 = 32,768입니다.

이제 다음 값을 설정할 수 있습니다.

  • key_purchaseCount: 1*32,768 = 32,768
  • key_purchaseValue: 52*22 = 1,144

실제로는 전용 헤더 Attribution-Reporting-Register-Aggregatable-Values를 사용하여 다음과 같이 설정합니다.

// Instruct the browser to schedule-send a report
res.set(
  "Attribution-Reporting-Register-Aggregatable-Values",
  JSON.stringify(
    {
  "key_purchaseCount": 32768,
  "key_purchaseValue": 1144,
    }
))

집계 가능한 보고서가 생성됩니다.

브라우저는 변환을 이전 뷰 또는 클릭과 일치시키고, 보고서 메타데이터 옆에 암호화된 페이로드를 포함하는 집계 가능한 보고서를 생성합니다.

다음은 일반 텍스트로 읽을 수 있는 경우 집계 가능한 보고서의 페이로드 내에서 찾을 수 있는 데이터의 예입니다.

[ {
  key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece XOR conversion-side key piece for the key key_purchaseCount 
  value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
}, {
  key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece XOR conversion-side key piece for the key key_purchaseValue 
  value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2] 
}]

여기에서는 집계 가능한 단일 보고서 내에서 두 개의 개별적인 기여를 확인할 수 있습니다.

요약 보고서 요청

  • 일괄 집계 가능한 보고서 일괄 처리에서 제공하는 안내를 따르세요.
  • 데이터를 보려는 키를 생성합니다. 예를 들어 캠페인 ID 12 x 지역 ID 7 x 제품 카테고리 25의 COUNT (총 구매 수) 및 VALUE (총 구매 가치)에 대한 요약 데이터를 보려면 다음과 같이 하세요.
요청하려는 측정항목1 소스 측 키 조각 트리거 측 키 조각 집계 서비스에 요청하는 키2
총 구매 건수 (COUNT건) 0x3cf867903fbb73ec
0000000000000000
0x00000000000000
00f9e491fe37e55a0c
0x3cf867903fbb73
ecf9e491fe37e55a0c
총 구매 가치 (VALUE) 0x245265f432f16e73
0000000000000000
0x0000000000000000
f9e491fe37e55a0c
0x245265f432f16e73
f9e491fe37e55a0c
1요청하려는 측정항목 (캠페인 ID 12 x 지역 ID 7 x 제품 카테고리 25) 2집계 서비스에 요청하는 키 = 소스 측 키 조각 XOR 트리거 측 키 조각.
  • 이러한 키의 집계 서비스에 요약 데이터를 요청합니다.

요약 보고서 처리

최종적으로 다음과 같은 요약 보고서가 표시됩니다.

[
  {"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100", 
    "value": "2558500"}, 
  {"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100", 
    "value": "687060"}, 
… 
]

첫 번째 버킷은 바이너리의 COUNT 키입니다. 두 번째 버킷은 바이너리 형식의 VALUE 키입니다. 키는 서로 다른 유형 (COUNT와 VALUE)이지만 동일한 보고서에 포함됩니다.

값 축소

  • 2,558,500은 이 키의 구매 수를 이전에 계산한 배율로 확장한 것을 나타냅니다. 구매 수의 배율은 32,768이었습니다. 2,558,500을 목표의 기여 예산으로 나눕니다. 즉, 2,558,500/32,768 = 구매 156.15회입니다.
  • 687,060 → 687,060/22 = 총 구매 가치 $31,230.

따라서 요약 보고서는 다음과 같은 유용한 정보를 제공합니다.

Within the reporting time period, campaign #12
run in Europe drove about 156 purchases (± noise)
for the product category #25.
Within the reporting time period, campaign #12
run in Europe drove $31,230 of purchases (± noise)
for the product category #25.