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

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

하지만 서드 파티를 통해 교차 네트워크 기여 분석(XNA)을 실행하여 특정 전환에 관해 낙찰된 단일 광고를 결정하려는 광고주는 다음 기법을 사용하여 계속 진행할 수 있습니다.

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

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

  • 서드 파티는 광고 네트워크의 리디렉션을 포함하거나 포함하지 않고 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는 ad-tech1(Trigger2)과 ad-tech2(Trigger3)로 리디렉션됩니다.

정의되지 않음

결과

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

광고 기술을 등록하는 소스

ad-tech1

mmp-ad-tech

ad-tech2

mmp-ad-tech

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"
    }
  }

결과

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

경쟁 소스

필드

Source2

Source3'

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

mmp-ad-tech

ad-tech2

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)와 트리거 키(0x1400)를 OR 연산하여 생성됩니다(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 등록 소스도 있으므로 기여 분석에 참여하지 않습니다.

경쟁 소스

필드

Source1'

Source3

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

ad-tech1

mmp-ad-tech

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개를 사용하고 있습니다. 사용자가 게재 광고 기술 1개의 광고를 클릭하고 다른 3개의 광고를 봅니다. 사용자가 광고주의 앱에서 전환하면 MMP는 트리거를 등록하고 다음 필터에 따라 파생 소스를 만들 게재 광고 기술 등록 소스를 지정합니다.

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

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

등록 타임라인

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

  "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. Source1이 ad-tech1의 기여 분석 구성에 관한 "source_type":"event" 필터를 충족하지 않습니다.
  2. 소스2의 우선순위가 2000으로 설정되어 있으며 이는 ad-tech2의 우선순위 범위 필터(1,1000)를 벗어납니다.
  3. Source3이 'filter2' 값과 일치하지 않습니다.
경쟁 소스

필드

Source4'

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

ad-tech4

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')로, 기여 분석을 두고 경쟁합니다.

경쟁 소스

필드

Source1'

Source2'

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

ad-tech1

ad-tech2

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: 한 번 잃으면 항상 잃음

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

  • t0에서 ad-tech1의 Source1이 "priority": "10"에 등록됩니다.
  • t1에서 ad-tech2의 Source2가 "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의 소스보다 우선했을 것입니다.