Ví dụ về mô hình phân bổ trên nhiều mạng

Hầu hết các nhà quảng cáo đều hợp tác với nhiều mạng quảng cáo để phân phát quảng cáo trên các ứng dụng của nhà xuất bản. Nếu các mạng quảng cáo đăng ký nguồn phân bổ và điều kiện kích hoạt riêng bằng API, thì chúng sẽ nhận được báo cáo tóm tắt và sự kiện tự phân bổ.

Tuy nhiên, những nhà quảng cáo muốn dùng bên thứ ba để thực hiện mô hình phân bổ trên nhiều mạng (XNA) nhằm xác định một quảng cáo giành chiến thắng duy nhất cho một lượt chuyển đổi nhất định có thể tiếp tục làm như vậy bằng cách sử dụng các kỹ thuật sau:

  • Thiết lập một máy chủ nội bộ để đăng ký các sự kiện liên quan đến điều kiện kích hoạt và nhận các báo cáo phân bổ từ API
  • Tiếp tục dùng một đối tác đo lường hiện có trên thiết bị di động

Bất kể nhà quảng cáo chọn sử dụng kỹ thuật nào, Attribution Reporting API đều hỗ trợ một số tính năng cho phép bên thứ ba tuỳ chỉnh logic XNA thay cho nhà quảng cáo:

  • Bên thứ ba có thể thực hiện hoạt động phân bổ bằng API hoặc không có các lệnh chuyển hướng từ các mạng quảng cáo.
  • Khoá ưu tiên, bộ lọc và khoá loại bỏ trùng lặp có thể cung cấp khả năng tuỳ chỉnh mô hình phân bổ bổ sung dựa trên phương diện nguồn và điều kiện kích hoạt.
  • Thời lượng phân bổ sau khi cài đặt cho phép những nguồn thúc đẩy lượt cài đặt tiếp tục nhận được giá trị đóng góp cho các sự kiện chuyển đổi sau này trong ứng dụng.

Sử dụng các công nghệ quảng cáo dựa trên mô hình phân bổ để loại bỏ trùng lặp trên nhiều mạng và chọn các nguồn giành chiến thắng có thể có mức độ phức tạp khác nhau tuỳ thuộc vào cách tận dụng các tính năng API này.

Các ví dụ bên dưới minh hoạ các trường hợp ví dụ về cách sử dụng các tính năng này và cách các cấu hình khác nhau ảnh hưởng đến việc nguồn phân bổ nào cuối cùng sẽ giành được giá trị đóng góp cho một sự kiện nhất định liên quan đến điều kiện kích hoạt.

Quy trình

Danh sách sau đây trình bày các bước trong quy trình XNA. Để cho đơn giản, các bước được liệt kê ở đây giả định một mô hình trong đó nhà quảng cáo dùng một công nghệ quảng cáo phân phát để phân phối quảng cáo và một MMP để đo lường lượt chuyển đổi. Tuy nhiên, thiết kế API rất linh hoạt – chức năng không khác nhau giữa nhiều loại công nghệ quảng cáo và cũng không yêu cầu dùng một công nghệ quảng cáo.

  1. Đăng ký nguồn: Người dùng xem hoặc nhấp vào một quảng cáo và công nghệ quảng cáo phân phát sẽ đăng ký các nguồn này bằng API. Công nghệ quảng cáo phân phát cũng có thể chuyển hướng đến các công nghệ quảng cáo khác mà có thể đăng ký các nguồn trực tiếp bằng API hoặc bật tính năng phân bổ trên nhiều mạng mà không cần chuyển hướng.
  2. Đăng ký điều kiện kích hoạt: Người dùng thực hiện một hành động liên quan đến lượt chuyển đổi, chẳng hạn như mở ứng dụng lần đầu tiên, mua hàng hoặc thêm vào giỏ hàng, khi đó MMP sẽ đăng ký điều kiện kích hoạt bằng API. MMP cũng có thể chuyển hướng đến các công nghệ quảng cáo khác có thể đăng ký các điều kiện kích hoạt trực tiếp bằng API. Nếu MMP cần bật tính năng phân bổ trên nhiều mạng mà không cần chuyển hướng, thì bạn phải chỉ định cấu hình phân bổ trong quá trình đăng ký điều kiện kích hoạt.
  3. Phân bổ: Nếu cấu hình phân bổ được chỉ định trong quá trình đăng ký điều kiện kích hoạt, thì các nguồn phái sinh sẽ được tạo thay cho MMP. Hệ thống sẽ cố gắng so khớp mỗi điều kiện kích hoạt với một nguồn đủ điều kiện do MMP đăng ký trực tiếp hoặc với một nguồn phái sinh đủ điều kiện được tạo thay cho MMP bằng cách dùng các nguồn của công nghệ quảng cáo phân phát. Các nguồn còn lại không giành chiến thắng trong mô hình phân bổ sẽ bị loại bỏ và không còn đủ điều kiện để nhận được mô hình phân bổ cho các lượt chuyển đổi trong tương lai. Bạn cũng có thể thấy quy tắc này được gọi là "thua một lần là luôn luôn thua" trong các phần khác của tài liệu.
    1. Khi một nguồn phái sinh bị thua trong mô hình phân bổ, API sẽ không tạo các nguồn phái sinh trong tương lai dựa trên nguồn ban đầu khi các sự kiện chuyển đổi trong tương lai được MMP đăng ký. Công nghệ quảng cáo phân phát và các MMP khác có thể vẫn dùng nguồn ban đầu cho hoạt động phân bổ trong tương lai. Vấn đề này được mô tả chi tiết trong Tình huống 6.
  4. Tạo báo cáo: Mô hình phân bổ giúp tạo báo cáo tổng hợp hoặc sự kiện. Xin lưu ý rằng hệ thống chỉ tạo các báo cáo tổng hợp cho các nguồn phái sinh.
  5. Gửi báo cáo: Các báo cáo đã tạo được lên lịch để gửi.

Tình huống 1: Phân bổ trên nhiều mạng cần chuyển hướng

Một nhà quảng cáo đang làm việc với 2 công nghệ quảng cáo phân phát và 1 MMP. Khi người dùng nhấp vào các quảng cáo do các công nghệ quảng cáo phân phát phân phát, các công nghệ quảng cáo phân phát sẽ chuyển hướng đến MMP khi đăng ký nguồn. Khi một người dùng chuyển đổi trong ứng dụng, MMP sẽ chuyển hướng đến các công nghệ quảng cáo khi đăng ký điều kiện kích hoạt.

MMP sẽ nhận được một báo cáo loại bỏ trùng lặp trên nhiều mạng và mỗi công nghệ quảng cáo phân phát sẽ nhận được các báo cáo tự phân bổ.

Tiến trình đăng ký

Tại t0, người dùng nhấp vào quảng cáo được phân phát bởi ad-tech1 đăng ký nguồn Source1 cùng với lượt chuyển hướng Source2 bằng mmp-ad-tech:

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

Tại t1, người dùng nhấp vào quảng cáo do ad-tech2 phân phát để đăng ký Source3 cùng các lượt chuyển hướng đến mmp-ad-tech, tức là 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"
    }
  }

Tại t2, hành động hoặc lượt chuyển đổi của người dùng trong ứng dụng của nhà quảng cáo dẫn đến việc đăng ký điều kiện kích hoạt bởi mmp-ad-tech (Trigger1) cũng chuyển hướng đến ad-tech1 (Trigger2) và ad-tech2 (Trigger3):

chưa xác định

Kết quả

Các nguồn đã đăng ký Source2 và Source4 của mmp-ad-tech cạnh tranh trong hoạt động phân bổ cho mmp-ad-tech đã đăng ký điều kiện kích hoạt Trigger1. Source2 giành chiến thắng trước Source4 do có mức độ ưu tiên cao hơn. Trigger2 của ad-tech1 được phân bổ cho Source1 của ad-tech1 và Trigger3 của ad-tech2 được phân bổ cho Source3 của ad-tech2.

Các nguồn cạnh tranh cho

Trường

Source1

Source2

Source3

Source4

Công nghệ quảng cáo đăng ký nguồn

ad-tech1

mmp-ad-tech

ad-tech2

mmp-ad-tech

source_event_id

34532

788324

6574435

4532343

đích

https://destination.example.com

https://destination.example.com

https://destination.example.com

https://destination.example.com

mức độ ưu tiên

10

30

10

20

Đã đăng ký điều kiện kích hoạt
Kết quả phân bổ

Các thuộc tính Trigger1 cho Source2, các thuộc tính Trigger2 cho Source1 và các thuộc tính Trigger3 cho Source3.

Phân bổ bài đăng trên các nguồn bị bỏ qua

Source4 – sẽ không cạnh tranh để phân bổ trong tương lai.

Báo cáo sự kiện

URL báo cáo: 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 báo cáo: 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 báo cáo: 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
  }

Báo cáo tổng hợp

URL báo cáo: 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 báo cáo: https://www.ad-tech1.com/.well-known/attribution-reporting/report-aggregate-attribution

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

URL báo cáo: https://www.ad-tech2.com/.well-known/attribution-reporting/report-aggregate-attribution

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

Tình huống 2: Phân bổ trên nhiều mạng mà không cần các chuyển hướng

Một nhà quảng cáo đang làm việc với 2 công nghệ quảng cáo phân phát và 1 MMP. Người dùng nhấp vào một quảng cáo từ công nghệ quảng cáo phân phát đầu tiên, công nghệ này sẽ chuyển hướng đến MMP khi đăng ký nguồn. Khi người dùng nhấp vào một quảng cáo từ công nghệ quảng cáo phân phát thứ hai, công nghệ quảng cáo này không chuyển hướng mà thay vào đó chọn chia sẻ trước một tập hợp con các khoá tổng hợp của chúng với MMP.

Sau đó, người dùng sẽ chuyển đổi trong ứng dụng mà MMP đăng ký điều kiện kích hoạt nhưng không chuyển hướng đến công nghệ quảng cáo. Công nghệ quảng cáo không chuyển hướng sẽ giành chiến thắng trong lượt phân bổ theo lượt chạm cuối cùng. Chỉ MMP mới nhận được báo cáo tóm tắt loại bỏ trùng lặp trên nhiều mạng chứa lượt chuyển đổi này.

Tiến trình đăng ký

Tại t0, người dùng nhấp vào một quảng cáo, dẫn đến việc đăng ký Source1 bằng ad-tech1 và đăng ký Source2 bằng mmp-ad-tech thông qua lượt chuyển hướng từ ad-tech1:

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

Tại t1, người dùng nhấp vào một quảng cáo khác, dẫn đến Source3 bằng ad-tech2 chia sẻ các khoá tổng hợp:

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

Tại t2, hành động/lượt chuyển đổi của người dùng thúc đẩy lượt đăng ký điều kiện kích hoạt bằng mmp-ad-tech, chứa cấu hình phân bổ cho 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
    },
    "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"
    }
  }

Kết quả

Source2 so khớp mục đăng ký và đích đến với điều kiện kích hoạt để trở thành nguồn cạnh tranh cho hoạt động phân bổ. Ngoài ra, trong quá trình đăng ký điều kiện kích hoạt, cấu hình phân bổ đã được chỉ định cho ad-tech2 và Source3 qua khoá tổng hợp chia sẻ ad-tech2. Điều này cho phép hệ thống tạo một nguồn phái sinh, Source3' làm nguồn cạnh tranh cho hoạt động phân bổ.

Nguồn cạnh tranh

Trường

Source2

Source3'

Công nghệ quảng cáo đăng ký nguồn ban đầu

mmp-ad-tech

ad-tech2

source_event_id

45453

978

mức độ ưu tiên

100

200

Đã đăng ký điều kiện kích hoạt

Trigger1 theo mmp-ad-tech.

Kết quả phân bổ

Trigger1 được phân bổ cho Source3' vì Source3' có mức độ ưu tiên cao hơn Source2.

Phân bổ bài đăng trên các nguồn bị bỏ qua

Source2

Báo cáo sự kiện

Không có – hệ thống sẽ không tạo các báo cáo sự kiện cho các nguồn phái sinh.

Báo cáo tổng hợp

Nguồn chính của Source3', tức là Source3, chỉ chia sẻ campaignCounts, phần khoá cho điều kiện kích hoạt được tính bằng cách:

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

Cuối cùng, khoá kết quả được tạo bằng khoá kích hoạt OR-ing (0x1400) với khoá nguồn (0x159), tức là 0x1559

URL báo cáo: http://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

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

Tình huống 3: Nguồn đã đăng ký MMP và đề xuất gốc của nguồn phái sinh trong cùng một chuỗi đăng ký

Một nhà quảng cáo đang làm việc với 2 công nghệ quảng cáo phân phát và 1 MMP. Một người dùng nhấp vào một quảng cáo từ công nghệ quảng cáo phân phát đầu tiên. Công nghệ này không chuyển hướng khi đăng ký nguồn, nhưng sẽ chia sẻ khoá tổng hợp với MMP. Người dùng nhấp vào một quảng cáo từ công nghệ quảng cáo phân phát thứ hai. Công nghệ này vừa chuyển hướng đến MMP khi đăng ký nguồn vừa chia sẻ khoá tổng hợp với MMP.

Tiến trình đăng ký

Tại t0, người dùng nhấp vào quảng cáo do ad-tech1 phân phát. Thao tác này bắt đầu quá trình đăng ký 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"
   ]
 }

Tại t1, chuỗi đăng ký 2, ad-tech2 đăng ký Source2 và chuyển hướng để đăng ký một nguồn 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"
    }
  }

Tại t2, quy trình đăng ký điều kiện kích hoạt có mô hình phân bổ được định cấu hình để tạo các nguồn phái sinh từ ad-tech1 và 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"
    }
  }

Kết quả là nguồn đã đăng ký MMP trong chuỗi đăng ký thứ hai giành chiến thắng trong quá trình phân bổ. Báo cáo tổng hợp thu được sẽ có dạng như sau:

Kết quả

Nguồn bắt nguồn từ Source2 (với "source_event_id": "234456") không tham gia vào hoạt động phân bổ vì cùng một chuỗi đăng ký cũng có một nguồn đã đăng ký mmp-ad-tech.

Nguồn cạnh tranh

Trường

Source1'

Source3

Công nghệ quảng cáo đăng ký nguồn ban đầu

ad-tech1

mmp-ad-tech

source_event_id

52343

4234

mức độ ưu tiên

20

100

Đã đăng ký điều kiện kích hoạt

Trigger1 theo mmp-ad-tech.

Kết quả phân bổ

Trigger1 được phân bổ cho Source3 vì Source3 có mức độ ưu tiên cao hơn Source1'.

Phân bổ bài đăng trên các nguồn bị bỏ qua

Source1' – Source1 sẽ không được xem xét để tạo nguồn phái sinh cho mmp-ad-tech nữa.

Báo cáo sự kiện

URL báo cáo: 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
  }
Báo cáo tổng hợp

URL báo cáo: 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
      }
    ]
  }
}

Tình huống 4: Phân bổ trên nhiều mạng mà không cần chuyển hướng với tiêu chí lựa chọn nguồn

Một nhà quảng cáo đang làm việc với 4 công nghệ quảng cáo phân phát và 1 MMP. Người dùng nhấp vào quảng cáo từ 1 công nghệ quảng cáo phân phát và xem quảng cáo từ 3 công nghệ quảng cáo phân phát còn lại. Khi người dùng chuyển đổi trong ứng dụng của nhà quảng cáo, MMP sẽ đăng ký một điều kiện kích hoạt và chỉ định các nguồn đã đăng ký công nghệ quảng cáo phân phát để tạo các nguồn phái sinh, dựa trên các bộ lọc sau:

  1. priority_range: chọn các nguồn có mức độ ưu tiên trong dải ô đã cho
  2. expiry: chọn các nguồn có thời hạn muộn hơn khoảng thời gian đã chỉ định
  3. source_filters: chọn các nguồn có filter_data khớp với source_filters được chỉ định
  4. source_not_filters: chọn các nguồn có not_filters khớp với source_not_filters được chỉ định

Sau khi được tạo dựa trên các tiêu chí, các nguồn phái sinh sẽ đủ điều kiện tham gia vào hoạt động phân bổ.

Tiến trình đăng ký

Tại t0, một lượt nhấp của người dùng sẽ khiến ad-tech1 đăng ký nguồn Source1, nguồn này sẽ liên kết source_type làm nguồn điều hướng đến nguồn đã đăng ký này:

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

Tại t1, người dùng xem quảng cáo, khiến ad-tech2 đăng ký nguồn Source2, nguồn này sẽ liên kết source_type dưới dạng sự kiện với nguồn đã đăng ký này:

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

Tại t2, một lượt xem của người dùng khiến ad-tech3 đăng ký nguồn Source3, nguồn này liên kết source_type dưới dạng sự kiện với nguồn đã đăng ký này:

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

Tại t3, một lượt xem của người dùng sẽ khiến ad-tech4 đăng ký nguồn Source4, nguồn này liên kết source_type dưới dạng sự kiện với nguồn đã đăng ký này:

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

Tại t4, lượt chuyển đổi của người dùng dẫn đến việc mmp-ad-tech đăng ký điều kiện kích hoạt bằng cấu hình phân bổ cho tất cả các nguồn được đăng ký khác của các công nghệ quảng cáo nêu trên:

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

Kết quả

Các nguồn sau đây không được xem là đủ điều kiện để tạo các nguồn phái sinh do tiêu chí không khớp:

  1. Source1 không đáp ứng bộ lọc "source_type":"event" trên cấu hình phân bổ của ad-tech1
  2. Source2 có mức độ ưu tiên được đặt thành 2000, nằm ngoài bộ lọc phạm vi ưu tiên của ad-tech2 (1.1000)
  3. Source3 không khớp với giá trị của "filter2"
Nguồn cạnh tranh

Trường

Source4'

Công nghệ quảng cáo đăng ký Nguồn ban đầu

ad-tech4

source_event_id

7567

đích

https://destination.example.com

mức độ ưu tiên

30

hết hạn

Thời gian đăng ký + 2 ngày

Đã đăng ký điều kiện kích hoạt

Trigger1 theo mmp-ad-tech.

Kết quả phân bổ

Trigger1 được phân bổ cho Source4' vì đó là nguồn duy nhất đủ điều kiện để phân bổ

Phân bổ bài đăng trên các nguồn bị bỏ qua

Không có

Báo cáo sự kiện

Không có – các báo cáo sự kiện không được tạo cho quảng cáo chiến thắng dựa trên nguồn phái sinh

Báo cáo tổng hợp

URL báo cáo: http://www.mmp-ad-tech.com

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

Tình huống 5: Phân bổ sau khi cài đặt

Một nhà quảng cáo đang làm việc với 2 công nghệ quảng cáo phân phát và 1 MMP. Một người dùng nhấp vào một quảng cáo từ công nghệ quảng cáo đầu tiên rồi cài đặt ứng dụng của nhà quảng cáo. Trong quá trình phân bổ cho lượt chuyển đổi sau khi cài đặt, nguồn phát sinh có mô hình phân bổ lượt cài đặt sẽ giành chiến thắng trước các nguồn khác, ngay cả khi các nguồn khác có mức độ ưu tiên cao hơn.

Tiến trình đăng ký

Tại t0, hoạt động tương tác của người dùng khiến ad-tech1 đăng ký 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"
    ]
  }

Tại t1, người dùng cài đặt ứng dụng com.example.app trên thiết bị của họ

Tại t2, hoạt động tương tác của người dùng khiến ad-tech2 đăng ký 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"
    ]
  }

Tại t3, một điều kiện kích hoạt được mmp-ad-tech đăng ký bằng cấu hình phân bổ cho ad-tech1 và ad-tech2:

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

Kết quả

Các nguồn phái sinh được tạo ra từ Source1 và Source2, tức là Source1' và Source2' tương ứng, cạnh tranh cho việc phân bổ.

Nguồn cạnh tranh

Trường

Source1'

Source2'

Công nghệ quảng cáo đăng ký nguồn ban đầu

ad-tech1

ad-tech2

source_event_id

3645

345789

đích

android-app://com.example.app

android-app://com.example.app

mức độ ưu tiên

10

20

Thúc đẩy lượt cài đặt ứng dụng

không

Đã đăng ký điều kiện kích hoạt

Trigger1 theo mmp-ad-tech.

Kết quả phân bổ

Trigger1 được phân bổ cho Source1' vì điều kiện kích hoạt này đã thúc đẩy lượt cài đặt ứng dụng đích. Vui lòng lưu ý rằng Source2' có mức độ ưu tiên cao hơn.

Phân bổ bài đăng trên các nguồn bị bỏ qua

Source2' – các nguồn phái sinh từ Source2 sẽ không được xem xét trong quá trình phân bổ cho bất kỳ điều kiện kích hoạt nào do mmp-ad-tech đăng ký.

Báo cáo sự kiện

Không có – các báo cáo sự kiện không được tạo cho quảng cáo chiến thắng dựa trên nguồn phái sinh

Báo cáo tổng hợp

URL báo cáo: 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
    }
  ]
}

Tình huống 6: Thua một lần là luôn luôn thua

Nếu ad-tech1 có một nguồn mà nguồn phái sinh đã tham gia vào quá trình phân bổ cho điều kiện kích hoạt của mmp-ad-tech, phân bổ bị mất, thì nguồn của ad-tech1 sẽ không được dùng để tạo nguồn phái sinh cho các điều kiện kích hoạt của mmp-ad-tech sau đó. Dưới đây là ví dụ về tiến trình:

  • Tại t0, Source1 của ad-tech1 được đăng ký bằng "priority": "10".
  • Tại t1, Source2 của ad-tech2 được đăng ký bằng "priority": "20".
  • Tại t2, Trigger1 của mmp-ad-tech được đăng ký với các cấu hình phân bổ của ad-tech1 và ad-tech2.
  • Tại t3, quá trình phân bổ cho Trigger1 diễn ra, trong đó nguồn phái sinh từ ad-tech2 giành chiến thắng trong quá trình phân bổ và nguồn của ad-tech1 bị bỏ qua
  • Tại t4, Source3 của ad-tech3 được đăng ký bằng "priority": "5".
  • Tại t5, Trigger2 của mmp-ad-tech được đăng ký bằng các cấu hình của ad-tech1 và ad-tech3.
  • Tại t6, quá trình phân bổ cho Trigger2 diễn ra, nơi nguồn phái sinh từ Source3 (Source3') giành chiến thắng trong quá trình phân bổ

Giải thích kết quả

Nguồn phái sinh từ nguồn của ad-tech1 đã thua trong quá trình phân bổ cho Trigger1, vì vậy Source1 không được dùng để tạo nguồn phái sinh cho hoạt động phân bổ của Trigger2. Nếu trước đó không thua ở t3, thì nguồn đó đã giành chiến thắng trước nguồn của ad-tech3 do có mức độ ưu tiên cao hơn.