跨广告网络归因示例

大多数广告客户都会与多个不同的广告网络合作,以便在发布商应用中投放广告。如果广告网络向 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. 如果派生来源未能赢得归因,那么在 MMP 注册未来的转化事件时,API 将不会根据原始来源生成未来的派生来源。广告投放技术平台和其他 MMP 可能仍会将原始来源用于未来归因。场景 6 部分就对此进行了说明。
  4. 生成报告:归因会促使系统生成事件报告或汇总报告。请注意,只有派生来源才会生成汇总报告。
  5. 发送报告:安排定期发送生成的报告。

场景 1:有重定向的跨广告网络归因

某广告客户与 2 个广告投放技术平台和 1 个 MMP 合作。当广告投放技术平台投放的广告被点击时,该平台会在注册来源时重定向到 MMP。当用户在应用中完成转化时,MMP 会在注册触发器时重定向到广告技术平台。

MMP 将收到跨广告网络去重报告,而每个广告投放技术平台将收到自归因报告。

注册时间轴

在 t0 时刻,用户点击 ad-tech1 投放的广告,ad-tech1 通过 mmp-ad-tech 注册来源 Source1 及其重定向 Source2:

  "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),并且还会重定向到 ad-tech1 (Trigger2) 和 ad-tech2 (Trigger3):

未定义

结果

mmp-ad-tech 注册的来源 Source2 和 Source4 就 mmp-ad-tech 注册的触发器 Trigger1 的归因展开竞争。由于 Source2 具有更高的优先级,因此 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 - 以后将不会参与归因竞争。

事件报告

报告网址: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
  }

报告网址: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
  }

报告网址: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
  }

汇总报告

报告网址:https://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

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

报告网址:https://www.ad-tech1.com/.well-known/attribution-reporting/report-aggregate-attribution

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

报告网址: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 个广告投放技术平台和 1 个 MMP 合作。如果用户点击首个广告投放技术平台投放的广告,该平台会在注册来源时重定向到 MMP。如果用户点击第二个广告投放技术平台投放的广告,这个平台不会重定向,而是选择提前与 MMP 共享其汇总键的子集。

随后,用户在 MMP 注册触发器的应用中完成转化,但没有重定向到任何广告技术平台。未进行重定向的广告技术平台将赢得最终接触归因。只有 MMP 会收到纳入此转化的跨广告网络去重摘要报告。

注册时间轴

在 t0 时刻,用户点击某个广告,导致 ad-tech1 注册了 Source1,mmp-ad-tech 通过 ad-tech1 的重定向注册了 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 时刻,用户的操作/转化促成 mmp-ad-tech 注册触发器,其中包含针对 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"
    }
  }

结果

Source2 会将注册信息和目标位置与触发器进行匹配,因此成为归因的竞争来源。此外,在注册触发器期间,还通过 ad-tech2 共享汇总键,为 ad-tech2 和 Source3 指定了归因配置。这样一来,便会生成派生来源 Source3' 作为归因的竞争来源。

竞争来源

字段

Source2

Source3'

注册广告技术平台的原始来源

mmp-ad-tech

ad-tech2

source_event_id

45453

978

优先级

100

200

已注册的触发器

Trigger1(由 mmp-ad-tech 注册)。

归因结果

Trigger1 会归因于 Source3',因为 Source3' 的优先级高于 Source2。

归因后被忽略的来源

Source2

事件报告

无 - 不会为派生来源生成事件报告。

汇总报告

Source3' 的父级来源(即 Source3)仅共享 campaignCounts,而用于触发器的键部分按以下公式计算:

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

最后,生成的键通过将触发器键 (0x1400) 与来源键 (0x159) 进行 OR 运算得出,即 0x1559

报告网址: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 个广告投放技术平台和 1 个 MMP 合作。如果用户点击首个广告投放技术平台投放的广告,该平台不会在注册来源时进行重定向,但会与 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

已注册的触发器

Trigger1(由 mmp-ad-tech 注册)。

归因结果

Trigger1 会归因于 Source3,因为 Source3 的优先级高于 Source1'。

归因后被忽略的来源

Source1' - 不再考虑将 Source1 用于创建 mmp-ad-tech 的派生来源。

事件报告

报告网址: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
  }
汇总报告

报告网址: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 个广告投放技术平台和 1 个 MMP 合作。用户点击了其中 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 设为 navigation 来与此注册来源相关联:

  "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 设为 event 来与此注册来源相关联:

  "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 注册来源 Source3,从而将 source_type 设为 event 来与此注册来源相关联:

  "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 注册来源 Source4,从而将 source_type 设为 event 来与此注册来源相关联:

  "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 注册触发器,并为上述所有其他 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. Source2 的优先级设为 2000,超出了 ad-tech2 的优先级范围过滤条件 (1,1000)
  3. Source3 与“filter2”的值不符
竞争来源

字段

Source4'

注册广告技术平台的原始来源

ad-tech4

source_event_id

7567

目标位置

https://destination.example.com

优先级

30

过期时间

注册时间 + 2 天

已注册的触发器

Trigger1(由 mmp-ad-tech 注册)。

归因结果

Trigger1 会归因于 Source4',因为它是唯一符合归因条件的来源

归因后被忽略的来源

事件报告

无 - 不会为派生来源胜出者生成事件报告

汇总报告

报告网址:http://www.mmp-ad-tech.com

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

场景 5:安装后归因

某广告客户与 2 个广告投放技术平台和 1 个 MMP 合作。用户点击第一个广告技术平台投放的广告并安装了相应的广告客户应用。在对安装后转化进行归因期间,具有安装归因的派生来源会优先于其他来源,即使其他来源具有更高优先级,也是如此。

注册时间轴

在 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 时刻,mmp-ad-tech 注册触发器,并为 ad-tech1 和 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"
    }
  }

结果

从 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

促成应用安装

已注册的触发器

Trigger1(由 mmp-ad-tech 注册)。

归因结果

Trigger1 会归因于 Source1',因为它促成了目标应用的安装。请注意,Source2' 具有更高的优先级。

归因后被忽略的来源

Source2' - 对于 mmp-ad-tech 注册的任何触发器,归因时都不会考虑来自 Source2 的派生来源。

事件报告

无 - 不会为派生来源胜出者生成事件报告

汇总报告

报告网址: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 触发器的归因,但未能赢得归因,则 ad-tech1 的来源之后不会再用于为 mmp-ad-tech 的触发器创建派生来源。示例时间轴如下:

  • 在 t0 时刻,注册 ad-tech1 的 Source1,并设置 "priority": "10"
  • 在 t1 时刻,注册 ad-tech2 的 Source2,并设置 "priority": "20"
  • 在 t2 时刻,注册 mmp-ad-tech 的 Trigger1,并配置 ad-tech1 和 ad-tech2 的归因。
  • 在 t3 时刻,对 Trigger1 进行归因,其中 ad-tech2 的派生来源胜出,而 ad-tech1 的来源被忽略
  • 在 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 的来源。