교차 네트워크 기여 분석 예시

대부분의 광고주는 여러 광고 네트워크와 협력하여 게시자 앱에 광고를 게재합니다. 광고 네트워크가 API에 자체 기여 분석 소스와 트리거를 등록하면 자체 기여 이벤트 및 요약 보고서가 수신됩니다.

하지만 서드 파티를 통해 교차 네트워크 기여 분석 (XNA)을 수행하여 특정 전환에 대해 낙찰된 단일 광고를 결정하려는 광고주는 다음과 같은 기법을 사용하면 됩니다.

  • 내부 서버를 설정하여 트리거 이벤트를 등록하고 API에서 기여도 보고서를 수신합니다.
  • 기존 모바일 측정 파트너 계속 사용

광고주가 사용하는 기법과 관계없이 Attribution Reporting API는 서드 파티가 광고주를 대신하여 XNA 로직을 맞춤설정할 수 있도록 하는 다양한 기능을 지원합니다.

  • 제3자는 광고 네트워크의 리디렉션을 포함하거나 없이 API를 사용하여 기여 분석을 수행할 수 있습니다.
  • 우선순위, 필터, 중복 삭제 키를 사용하여 소스 및 트리거 측정기준을 기반으로 기여 분석을 추가로 맞춤설정할 수 있습니다.
  • 설치 후 기여 산정 기간을 사용하면 설치를 유도한 소스에서 향후 인앱 전환 이벤트에 대한 크레딧을 받을 수 있습니다.

교차 네트워크 중복 삭제 및 낙찰된 소스 선택에 사용하는 기여 분석 모델 광고 기술은 이러한 API 기능이 활용되는 방식에 따라 복잡성 수준이 다를 수 있습니다.

아래 예시는 이러한 특성을 사용하는 방법과 다양한 구성이 특정 트리거 이벤트에 대해 최종적으로 기여도를 얻는 기여 분석 소스에 미치는 영향에 대한 시나리오 예를 보여줍니다.

프로세스

다음 목록은 XNA 프로세스의 단계를 간략히 보여줍니다. 편의상 여기에 나열된 단계에서는 광고주가 게재 광고 기술을 사용하여 광고를 게재하고 MMP를 전환 측정에 사용하는 모델을 가정합니다. 그러나 API 설계는 유연합니다. 기능은 여러 유형의 광고 기술에 따라 다르지 않으며 광고 기술을 반드시 사용할 필요도 없습니다.

  1. 소스 등록: 사용자가 광고를 보거나 클릭하면 게재 광고 기술이 API에 이러한 소스를 등록합니다. 게재 광고 기술은 API를 통해 직접 소스를 등록할 수 있는 다른 광고 기술로 리디렉션하거나 리디렉션 없이 교차 네트워크 기여 분석을 사용 설정할 수도 있습니다.
  2. 트리거 등록: 사용자가 첫 번째 앱 열기, 구매, 장바구니에 추가와 같은 전환 관련 액션을 수행하면 MMP가 API를 통해 트리거를 등록합니다. MMP는 API를 통해 직접 트리거를 등록할 수 있는 다른 광고 기술로 리디렉션될 수도 있습니다. MMP가 리디렉션 없는 교차 네트워크 기여 분석을 사용 설정해야 하는 경우 트리거 등록 중에 기여 분석 구성을 지정해야 합니다.
  3. 기여 분석: 트리거 등록 중에 기여 분석 구성이 지정되면 MMP를 대신하여 파생된 소스가 생성됩니다. 각 트리거는 MMP에 의해 직접 등록된 적합한 소스 또는 게재 광고 기술의 소스를 사용하여 MMP를 대신하여 생성된 요건을 충족하는 파생된 소스와 매칭되도록 시도합니다. 기여 분석을 받지 못한 나머지 소스는 제외되며 더 이상 향후 전환에 대한 기여 분석을 받을 수 없습니다. 문서의 다른 부분에서는 이를 '일회 손실, 항상 손실'이라고 할 수 있습니다.
    1. 파생된 소스의 기여 분석이 손실되면 API는 향후 전환 이벤트가 MMP에 의해 등록될 때 원래 소스를 기반으로 향후 파생된 소스를 생성하지 않습니다. 게재 광고 기술 및 기타 MMP는 향후 기여 분석을 위해 원래 소스를 계속 사용할 수 있습니다. 자세한 내용은 시나리오 6에 설명되어 있습니다.
  4. 보고서 생성: 기여 분석은 이벤트 또는 집계 보고서 생성으로 이어집니다. 파생된 소스에 대해서는 종합 보고서만 생성됩니다.
  5. 보고서 전송: 생성된 보고서가 전송되도록 예약합니다.

시나리오 1: 리디렉션을 사용한 교차 네트워크 기여 분석

광고주가 게재 광고 기술 2개와 MMP 1개를 사용하고 있습니다. 게재 광고 기술에서 게재하는 광고를 클릭하면 게재 광고 기술이 소스 등록 시 MMP로 리디렉션됩니다. 사용자가 앱에서 전환하면 MMP는 트리거 등록 시 광고 기술로 리디렉션됩니다.

MMP는 교차 네트워크 중복 제거 보고서를 수신하며, 각 게재 광고 기술은 자체 기여 보고서를 수신합니다.

등록 일정

t0에서 사용자는 ad-tech1에서 게재하는 광고를 클릭합니다. ad-tech1은 mmp-ad-tech에 의한 리디렉션 Source2와 함께 소스 Source1을 등록합니다.

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "34532",
    "web_destination": "https://destination.example.com",
    "priority": "10",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x1"
    }
  },
  "Attribution-Reporting-Redirect": [
    "https://www.mmp-ad-tech.com/source2"
  ]
// Registered by mmp-ad-tech via redirects
  "Attribution-Reporting-Register-Source": {
    "source_event_id": "788324",
    "web_destination": "https://destination.example.com",
    "priority": "30",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x2",
      "geoValue": "0x102"
    }
  }

t1에서 사용자는 ad-tech2에서 게재하는 광고를 클릭하여 Source3을 mmp-ad-tech(예: Source4)에 대한 리디렉션과 함께 등록합니다.

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "6574435",
    "web_destination": "https://destination.example.com",
    "priority": "10",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x3"
    }

  },
  "Attribution-Reporting-Redirect": [
    "https://www.mmp-ad-tech.com/source"
  ]
// Registered by mmp-ad-tech via redirects
  "Attribution-Reporting-Register-Source": {
    "source_event_id": "4532343",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x4"
    }
  }

t2에서는 광고주 앱에서 사용자의 액션 또는 전환으로 인해 mmp-ad-tech (Trigger1)가 트리거 등록을 하고, mmp-ad-tech는 Trigger1과 ad-tech2 (Trigger3)도 ad-tech1 (Trigger2)으로 리디렉션합니다.

정의되지 않음

결과

mmp-ad-tech 등록 소스 Source2와 Source4는 mmp-ad-tech 등록 트리거 Trigger1을 대상으로 기여 분석에서 경쟁합니다. source2가 우선순위가 더 높기 때문에 Source4보다 우선합니다. ad-tech1에 의한 Trigger2는 ad-tech1에 의해 Source1에 기여하고, ad-tech2의 Trigger3은 ad-tech2에 의해 Source3에 기인한 것으로 간주됩니다.

다음에 대한 경쟁 소스

필드

Source1

Source2

Source3

Source4

광고 기술을 등록하는 소스

광고 기술1

MMP-광고-기술

광고 기술2

MMP-광고-기술

source_event_id

34532

788324

6574435

4532343

연결 대상

https://destination.example.com

https://destination.example.com

https://destination.example.com

https://destination.example.com

우선순위

10

30

10

20

트리거 등록됨
기여 분석 결과

Trigger1 속성은 Source2에, Trigger2 속성은 Source1에, Trigger3 속성은 Source3에 지정됩니다.

기여 분석 후 무시된 소스

Source4 - 향후 기여 분석을 위해 경쟁하지 않습니다.

이벤트 보고서

신고 URL: https://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-event-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "scheduled_report_time": "800176400",
    "source_event_id": "788324",
    "trigger_data": "1",
    "source_type": "navigation",
    "randomized_trigger_rate": 0.0024263
  }

신고 URL: https://www.ad-tech1.com/.well-known/attribution-reporting/report-event-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "scheduled_report_time": "800176400",
    "source_event_id": "34532",
    "trigger_data": "2",
    "source_type": "navigation",
    "randomized_trigger_rate": 0.0024263
  }

신고 URL: https://www.ad-tech2.com/.well-known/attribution-reporting/report-event-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "scheduled_report_time": "800176400",
    "source_event_id": "6574435",
    "trigger_data": "3",
    "source_type": "navigation",
    "randomized_trigger_rate": 0.0024263
  }

전체 보고서

보고서 URL: https://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "histograms": [
      {
        "key": "0x104",
        "value": 11
      }
    ]
  }

보고서 URL: https://www.ad-tech1.com/.well-known/attribution-reporting/report-aggregate-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "histograms": [
      {
        "key": "0x201",
        "value": 21
      }
    ]
  }

보고서 URL: https://www.ad-tech2.com/.well-known/attribution-reporting/report-aggregate-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "histograms": [
      {
        "key": "0x303",
        "value": 31
      }
    ]
  }

시나리오 2: 리디렉션 없는 교차 네트워크 기여 분석

광고주가 게재 광고 기술 2개와 MMP 1개를 사용하고 있습니다. 사용자가 첫 번째로 게재되는 광고 기술의 광고를 클릭하면 소스 등록 시 MMP로 리디렉션됩니다. 사용자가 두 번째 게재 광고 기술에서 광고를 클릭하면 광고 기술은 리디렉션하지 않으며 대신 집계 키의 하위 집합을 MMP와 미리 공유합니다.

그러면 사용자는 MMP가 트리거를 등록하지만 어느 광고 기술로도 리디렉션되지 않는 앱에서 전환합니다. 리디렉션하지 않는 광고 기술이 마지막 터치 기여 분석을 얻습니다. MMP만 이 전환이 포함된 교차 네트워크 중복 제거 요약 보고서를 수신합니다.

등록 일정

t0에서 사용자가 광고를 클릭하면 ad-tech1은 Source1을 등록하고 ad-tech1의 리디렉션을 통해 mmp-ad-tech에서 Source2를 등록합니다.

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "234543",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172801",
    "aggregation_keys": {
      "campaignCounts": "0x159"
    }
  },
  "Attribution-Reporting-Redirect": [
    "http://www.mmp-ad-tech.com"
  ]
 // Registered by mmp-ad-tech via redirect
 "Attribution-Reporting-Register-Source": {
    "source_event_id": "45453",
    "web_destination": "https://destination.example.com",
    "priority": "100",
    "expiry": "172801",
    "aggregation_keys": {
      "campaignCounts": "0x159",
      "geoValue": "0x5",
    }
  }

t1에서 사용자가 다른 광고를 클릭하면 집계 키를 공유하는 ad-tech2에 의한 Source3이 생성됩니다.

 // Registered by ad-tech2
  "Attribution-Reporting-Register-Source": {
    "source_event_id": "978",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172801",
    "aggregation_keys": {
      "campaignCounts": "0x159",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts"
    ]
  }

t2에서는 사용자의 액션/전환이 ad-tech2의 기여 분석 구성이 포함된 mmp-ad-tech의 트리거 등록을 유도합니다.

  "Attribution-Reporting-Register-Trigger": {
    "event_trigger_data": [
      {
        "trigger_data": "2",
        "priority": "101"
      }
    ],
    "aggregatable_trigger_data": [
      {
        "key_piece": "0x400",
        "source_keys": [
          "campaignCounts"
        ],
        "x_network_data": {
          "key_offset": 10
        }
      }
    ],
    "aggregatable_values": {
      "campaignCounts": 32768
    },
    "attribution_config": [
      {
        "source_network": "enrollment-id-ad-tech-2",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "priority": "200",
        "expiry": "172800"
      }
    ],
    "x_network_key_mapping": {
      "enrollment-id-ad-tech-2": "0x4"
    }
  }

결과

소스2가 등록 및 대상을 트리거와 일치시켜 기여 분석을 위한 경쟁 소스가 됩니다. 또한 트리거 등록 중에 ad-tech2 공유 집계 키를 통해 ad-tech2 및 Source3의 기여 분석 구성이 지정되었습니다. 이렇게 하면 파생된 소스인 Source3이 기여 분석을 위한 경쟁 소스로 생성될 수 있습니다.

경쟁 소스

필드

Source2

소스3'

광고 기술을 등록하는 원래 소스

MMP-광고-기술

광고 기술2

source_event_id

45453

978

우선순위

100

200

트리거 등록됨

mmp-ad-tech의 Trigger1입니다.

기여 분석 결과

Source3의 우선순위가 Source2보다 높기 때문에 Trigger1이 Source3에 기인합니다.

기여 분석 후 무시된 소스

Source2

이벤트 보고서

없음 - 파생 소스에 대한 이벤트 보고서가 생성되지 않습니다.

종합 보고서

'Source3'의 상위 소스, 즉 Source3은 campaignCounts만 공유하며 트리거의 키 조각은 다음과 같이 계산됩니다.

(key_piece value) | ((x_network_key_mapping entry) << offset)
0x400 | (0x4 << 10) = 0x1400

마지막으로 결과 키는 소스 키(0x159)와 OR-ing 트리거 키(0x1400)(예: 0x1559)를 연결하여 생성됩니다.

신고 URL: http://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

{
  "attribution_destination": "https://destination.example.com",
  "histograms": [
    {
     "key": "0x1559",
      "value": 32768
    }
  ]
}

시나리오 3: 동일한 등록 체인에서 MMP 등록 소스와 파생된 소스의 상위 후보

광고주가 게재 광고 기술 2개와 MMP 1개를 사용하고 있습니다. 사용자가 첫 번째로 게재되는 광고 기술의 광고를 클릭합니다. 이 광고 기술은 소스 등록 시 리디렉션되지 않지만 MMP와 집계 키를 공유합니다. 사용자가 두 번째 게재 광고 기술의 광고를 클릭하면 소스 등록 시 MMP로 리디렉션되고 집계 키를 MMP와 공유합니다.

등록 일정

t0에서 사용자가 ad-tech1에서 게재하는 광고를 클릭하면 Source1의 등록이 시작됩니다.

 "Attribution-Reporting-Register-Source": {
    "source_event_id": "52343",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172800",
    "aggregation_keys": {
     "campaignCounts": "0x159",
     "geoValue": "0x5"
   },
   "shared_aggregation_keys": [
     "campaignCounts",
     "geoValue"
   ]
 }

t1에서 등록 체인 2인 ad-tech2는 Source2를 등록하고 리디렉션하여 MMP 소스, Source3을 등록합니다.

    "source_event_id": "234456",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172801",
    "aggregation_keys": {
      "campaignCounts": "0x159"
    },
    "shared_aggregation_keys": [
      "campaignCounts"
    ]
  },
  "Attribution-Reporting-Redirect": [
    "http://www.mmp-ad-tech.com"
  ]
  "Attribution-Reporting-Register-Source": {
    "source_event_id": "4234",
    "web_destination": "https://destination.example.com",
    "priority": "100",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x159"
    }
  }

t2에서 트리거 등록에는 ad-tech1 및 ad-tech2에서 파생된 소스를 생성하도록 구성된 기여 분석이 있습니다.

  "Attribution-Reporting-Register-Trigger": {
    "event_trigger_data": [
      {
        "trigger_data": "2",
        "priority": "101"
      }
    ],
    "aggregatable_trigger_data": [
      {
        "key_piece": "0x400",
        "source_keys": [
          "campaignCounts"
        ],
        "x_network_data" : {
          "key_offset" : 10
        }
      }
    ],
    "aggregatable_values": {
      "campaignCounts": 32768,
      "geoValue": 1664
    },
    "attribution_config": [
      {
        "source_network": "enrollment-id-ad-tech-1",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "priority": "20",
        "expiry": "172800"
      },
      {
        "source_network": "enrollment-id-ad-tech-2",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "priority": "20",
        "expiry": "172800"
      }
    ],
    "x_network_key_mapping" : {
      "enrollment-id-ad-tech-1" : "0x2",
      "enrollment-id-ad-tech-2" : "0x4"
    }
  }

결과적으로 두 번째 등록 체인의 MMP 등록 소스가 기여 분석을 얻습니다. 결과 집계 보고서는 다음과 유사합니다.

결과

Source2에서 파생된 소스('source_event_id": "234456' 포함)는 기여 분석에 참여하지 않습니다. 동일한 등록 체인에 mmp-ad-tech 등록 소스도 있기 때문입니다.

경쟁 소스

필드

출처1'

Source3

광고 기술을 등록하는 기존 소스

광고 기술1

MMP-광고-기술

source_event_id

52343

4234

우선순위

20

100

트리거 등록됨

mmp-ad-tech의 Trigger1입니다.

기여 분석 결과

Source3의 우선순위가 Source1'보다 높기 때문에 Trigger1이 Source3에 기인한 것으로 간주됩니다.

기여 분석 후 무시된 소스

Source1': Source1이 더 이상 mmp-ad-tech의 파생 소스를 만드는 것으로 간주되지 않습니다.

이벤트 보고서

신고 URL: https://www.ad-tech1.com/.well-known/attribution-reporting/report-event-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "scheduled_report_time": "800176400",
    "source_event_id": "4234",
    "trigger_data": "2",
    "source_type": "navigation",
    "randomized_trigger_rate": 0.0024263
  }
종합 보고서

신고 URL: http://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

{
  "report_url": "http://www.mmp-example.com",
  "payload": {
    "attribution_destination": "https://destination.example.com",
    "histograms": [
      {
        "key": "0x559"
        "value": 32768
      }
    ]
  }
}

시나리오 4: 소스 선택에 대한 기준이 포함된 리디렉션이 없는 교차 네트워크 기여 분석

한 광고주가 게재 광고 기술 4개와 MMP 1개를 사용하고 있습니다. 사용자가 게재 중인 광고 기술 한 개의 광고를 클릭하고 다른 광고 기술 3개의 광고를 봅니다. 사용자가 광고주의 앱에서 전환하면 MMP는 트리거를 등록하고 다음 필터에 따라 파생된 소스를 만들 게재 광고 기술 등록 소스를 지정합니다.

  1. 우선순위_범위: 지정된 범위 내에서 우선순위가 있는 소스를 선택합니다.
  2. 만료: 만료가 지정된 기간보다 이후인 소스를 선택합니다.
  3. source_filters: filter_data가 지정된 source_filters와 일치하는 소스 선택
  4. source_not_filters: not_filters가 지정된 source_not_filters와 일치하는 소스 선택

파생된 소스가 기준에 따라 생성되면 기여 분석에 참여할 수 있습니다.

등록 타임라인

t0에서 사용자 클릭으로 인해 ad-tech1은 source_type을 이 등록된 소스에 대한 탐색으로 연결하는 소스 Source1을 등록합니다.

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "87456",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172801",
    "filter_data": {
      "filter1": [
        "does_not_matter"
      ],
      "filter2": [
        "non-match"
      ]
    },
    "aggregation_keys": {
      "campaignCounts": "0x119",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

t1에서 사용자가 광고를 보고 ad-tech2가 소스 Source2를 등록하도록 하면 source_type을 이 등록된 소스에 이벤트로 연결합니다.

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "9078",
    "web_destination": "https://destination.example.com",
    "priority": "2000",
    "expiry": "172801",
    "filter_data": {
      "filter1": [
        "does_not_matter"
      ],
      "filter2": [
        "match"
      ]
    },
    "aggregation_keys": {
      "campaignCounts": "0x129",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

t2에서 사용자 조회로 인해 ad-tech3은 source_type을 이벤트로 등록된 이 소스에 연결하는 소스 Source3을 등록합니다.

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "2413",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "filter_data": {
      "filter1": [
        "non-match"
      ],
      "filter2": [
        "non-match"
      ]
    },
    "aggregation_keys": {
      "campaignCounts": "0x159",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

t3에서 사용자 뷰로 인해 ad-tech4는 source_type을 이벤트로 등록된 이 소스에 연결하는 소스 Source4를 등록합니다.

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "7567",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "filter_data": {
      "filter1": [
        "match"
      ],
      "filter2": [
        "match"
      ]
    },
    "aggregation_keys": {
      "campaignCounts": "0x169",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

t4에서 사용자 전환은 mmp-ad-tech에서 위에 언급된 다른 모든 광고 기술의 등록된 소스에 대한 기여 분석 구성과 함께 트리거를 등록하게 됩니다.

  "Attribution-Reporting-Register-Trigger": {
    "event_trigger_data": [
      {
        "trigger_data": "2",
        "priority": "100"
      }
    ],
    "aggregatable_trigger_data": [
      {
        "key_piece": "0x400",
        "source_keys": [
          "campaignCounts"
        ]
      }
    ],
    "aggregatable_values": {
      "campaignCounts": 32768,
      "geoValue": 1664
    },
    "attribution_config": [
      {
        "source_network": "enrollment-id-ad-tech-1",
        "source_priority_range": {
          "start": 1,
          "end": 100
        },
        "source_filters": {
          "source_type": [
            "event"
          ]
        },
        "priority": "100",
        "expiry": "172801"
      },
      {
        "source_network": "enrollment-id-ad-tech-2",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "source_filters": {
          "source_type": [
            "navigation"
          ]
        },
        "priority": "100",
        "expiry": "172801"
      },
      {
        "source_network": "enrollment-id-ad-tech-3",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "source_filters": {
          "source_type": [
            "navigation"
          ],
          "filter1": [
            "match"
          ],
          "filter2": [
            "match"
          ]
        },
        "priority": "50",
        "expiry": "172801"
      },
      {
        "source_network": "enrollment-id-ad-tech-4",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "source_filters": {
          "source_type": [
            "navigation"
          ],
          "filter1": [
            "match"
          ],
          "filter2": [
            "match"
          ]
        },
        "priority": "30",
        "expiry": "172801"
      }
    ],
    "x_network_key_mapping": {
      "enrollment-id-ad-tech-1": "0x1",
      "enrollment-id-ad-tech-2": "0x2",
      "enrollment-id-ad-tech-3": "0x3",
      "enrollment-id-ad-tech-4": "0x4"
    }
  }

결과

다음 소스는 기준 불일치로 인해 파생 소스를 생성할 자격이 없는 것으로 간주됩니다.

  1. 소스1이 ad-tech1의 기여 분석 구성에서 "source_type":"event" 필터를 충족하지 않습니다.
  2. 소스2의 우선순위가 ad-tech2의 우선순위 범위 필터 (1,1000)를 벗어난 2000으로 설정되어 있습니다.
  3. Source3이 'filter2' 값과 일치하지 않음
경쟁 소스

필드

출처4'

광고 기술을 등록하는 원본 소스

광고 기술4

source_event_id

7567

연결 대상

https://destination.example.com

우선순위

30

만료

등록 시간 + 2일

트리거 등록됨

mmp-ad-tech의 Trigger1입니다.

기여 분석 결과

Trigger1은 기여 분석에 사용할 수 있는 소스만 Source4에 기인합니다.

기여 분석 후 무시된 소스

없음

이벤트 보고서

없음 - 파생 소스 낙찰자에 대한 이벤트 보고서가 생성되지 않습니다.

종합 보고서

신고 URL: http://www.mmp-ad-tech.com

{
  "attribution_destination": "https://example.com",
  "histograms": [
    {
      "key": "0x56d",
      "value": 32768
    },
    {
      "key": "0x5",
      "value": 1664
    }
  ]
}

시나리오 5: 설치 후 기여 분석

광고주가 게재 광고 기술 2개와 MMP 1개를 사용하고 있습니다. 사용자가 첫 번째 광고 기술의 광고를 클릭하고 광고주 앱을 설치합니다. 설치 후 전환에 대한 기여 분석 중에는 설치 기여 분석을 사용하여 파생된 소스가 다른 소스보다 우선순위가 더 높더라도 다른 소스보다 우선합니다.

등록 타임라인

t0에서 사용자 상호작용으로 인해 ad-tech1은 Source1을 등록합니다.

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "3645",
    "destination": "android-app://com.example.app",
    "priority": "20",
    "expiry": "172801",
    "install_attribution_window": "86400",
    "post_install_exclusivity_window": "864000",
    "aggregation_keys": {
      "campaignCounts": "0x119",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

t1에서 사용자가 기기에 com.example.app 앱을 설치합니다.

t2에서 사용자 상호작용으로 인해 ad-tech2는 Source2를 등록합니다.

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "345789",
    "destination": "android-app://com.example.app",
    "priority": "100",
    "aggregation_keys": {
      "campaignCounts": "0x159",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

t3에서 트리거는 ad-tech1 및 ad-tech2에 대한 기여 분석 구성과 함께 mmp-ad-tech에 의해 등록됩니다.

  "Attribution-Reporting-Register-Trigger": {
    "event_trigger_data": [
      {
        "trigger_data": "2",
        "priority": "100"
      }
    ],
    "aggregatable_trigger_data": [
      {
        "key_piece": "0x400",
        "source_keys": [
          "campaignCounts"
        ]
      }
    ],
    "aggregatable_values": {
      "campaignCounts": 32768,
      "geoValue": 1664
    },
    "attribution_config": [
      {
        "source_network": "enrollment-id-ad-tech-1",
        "priority": "10",
        "expiry": "172801",
        "post_install_exclusivity_window": "172800"
      },
      {
        "source_network": "enrollment-id-ad-tech-2",
        "priority": "20",
        "expiry": "172801"
      }
    ],
    "x_network_key_mapping": {
      "enrollment-id-ad-tech-1": "0x1",
      "enrollment-id-ad-tech-2": "0x3"
    }
  }

결과

기여 분석을 위해 경쟁하는 Source1과 Source2에서 파생된 소스(각각 Source1' 및 Source2')

경쟁 소스

필드

출처1'

소스2'

광고 기술을 등록하는 기존 소스

광고 기술1

광고 기술2

source_event_id

3645

345789

연결 대상

android-app://com.example.app

android-app://com.example.app

우선순위

10

20

앱 설치 유도

아니요

트리거 등록됨

mmp-ad-tech의 Trigger1입니다.

기여 분석 결과

Trigger1이 대상 앱 설치를 유도했으므로 Source1에 기인합니다. Source2'의 우선순위가 더 높았습니다.

기여 분석 후 무시된 소스

Source2' - Source2에서 파생된 소스는 mmp-ad-tech에서 등록한 트리거에 대한 기여 분석에 고려되지 않습니다.

이벤트 보고서

없음 - 파생 소스 낙찰자에 대한 이벤트 보고서가 생성되지 않습니다.

종합 보고서

신고 URL: http://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

{
  "attribution_destination": "android-app://com.example.app",
  "histograms": [
    {
      "key": "0x519",
      "value": 32768
    },
    {
      "key": "0x5",
      "value": 1664
    }
  ]
}

시나리오 6: 한 번 감소하다가 항상 감량

ad-tech1에 파생된 소스가 mmp-ad-tech의 트리거에 대한 기여 분석에 참여했으며 기여 분석이 손실된 경우 이후 mmp-ad-tech 트리거의 파생 소스를 만드는 데 ad-tech1의 소스가 사용되지 않습니다. 타임라인의 예는 다음과 같습니다.

  • t0에서 ad-tech1의 소스1은 "priority": "10"에 등록됩니다.
  • t1에서 ad-tech2의 소스2는 "priority": "20"에 등록됩니다.
  • t2에서 mmp-ad-tech의 Trigger1은 ad-tech1 및 ad-tech2의 기여 분석 구성에 등록됩니다.
  • t3에서는 ad-tech2에서 파생된 소스가 기여 분석을 얻고 ad-tech1 소스가 무시되는 Trigger1에 대한 기여 분석이 발생합니다.
  • t4에서 ad-tech3의 Source3은 "priority": "5"에 등록됩니다.
  • t5에서 mmp-ad-tech의 Trigger2는 ad-tech1 및 ad-tech3의 구성에 등록됩니다.
  • t6에서는 Trigger2에 대한 기여 분석이 발생하며 여기서 Source3에서 파생된 소스 (Source3')가 기여 분석을 수행합니다.

결과 설명

ad-tech1 소스에서 파생된 소스는 Trigger1의 기여 분석이 손실되었으므로 Source1은 Trigger2의 기여 분석을 위한 파생 소스를 만드는 데 사용되지 않았습니다. 이전에 t3에서 손실되지 않았다면 우선순위가 더 높기 때문에 ad-tech3의 소스를 이기게 되었을 것입니다.