Делайте ставки от имени нескольких аккаунтов

Участник торгов может приобрести инвентарь для нескольких покупателей, отправив один запрос. Например, платформа спроса (DSP) может использовать своё приложение для торгов для покупки инвентаря для нескольких маркетологов или агентств, являющихся покупателями. В этом руководстве объясняется, как настроить ваш организатор торгов для обработки одного запроса, отправленного от имени нескольких покупателей.

Фон

В некоторых случаях рекламная сеть или агентство, занимающееся торговлей, может выбрать работу с одной или несколькими DSP. Для покупателей, работающих через DSP, доступны два варианта:

  • DSP приобретает инвентарь для маркетологов или агентств, не являющихся покупателями . В этом случае DSP получает один запрос ставки и отвечает одной ставкой. Google выставляет счет DSP напрямую.
  • DSP приобретает инвентарь для маркетологов или агентств, являющихся покупателями . DSP получает один запрос на ставку, включающий несколько идентификаторов выставления счетов, связанных с подходящими покупателями, и может делать отдельные ставки для каждого покупателя, от имени которого она намерена делать ставки. В этой модели Google выставляет счет покупателю, а не DSP. Остальная часть данного руководства посвящена этому сценарию.

Настройка и предварительный таргетинг

Google отправит запрос ставки, содержащий один или несколько идентификаторов выставления счетов, связанных с покупателями, и конфигурации предварительного таргетинга, которые были использованы для показа. Их можно найти в поле BidRequest.imp.ext.billing_id .

При ответе на BidRequest , содержащий идентификаторы платёжных систем нескольких покупателей, необходимо указать BidResponse.seatbid.bid.ext.billing_id , чтобы Google знал, какой аккаунт связать с ставкой. Любой ответ, в котором это поле не задано, фильтруется. Поле остаётся необязательным для любого BidRequest , содержащего только один идентификатор платёжной системы.

Пример предварительного таргетинга

Участник торгов делает ставки от имени двух покупателей, один из которых имеет идентификатор 123, а другой — 124. Участник торгов настраивает одну конфигурацию предварительного таргетинга с идентификатором 213 для таргетинга на английский язык, а другую — с идентификатором 231 для таргетинга на персональные компьютеры. Ниже описаны идентификаторы таргетинга, которые используются в запросах ставок для различных типов показов.

Описание впечатления Идентификаторы счетов в запросе заявки
Контент на японском языке на персональном компьютере. 123, 124, 231
Контент на английском языке на мобильном телефоне. 123, 124, 213
Контент на английском языке на персональном компьютере. 123, 124, 213, 231

Примеры BidRequests

Ниже приведены примеры BidRequest . Обратите внимание, что в этих запросах используется несколько идентификаторов выставления счетов, поскольку они применимы к нескольким аккаунтам.

OpenRTB Protobuf

id: "n9YFp0D9qE02Q5A49bo68a"
imp {
  id: "1"
  banner {
    w: 320
    h: 50
    pos: ABOVE_THE_FOLD
    api: MRAID_1
    api: MRAID_2
    format {
      w: 320
      h: 50
    }
  }
  displaymanager: "GoogleMobileAds-iOS"
  displaymanagerver: "11.2.0"
  tagid: "2913643481"
  bidfloor: 0.04
  bidfloorcur: "USD"
  secure: true
  exp: 3600
  clickbrowser: true
  metric {
    type: "click_through_rate"
    value: 0.0003642654628492892
    vendor: "EXCHANGE"
  }
  metric {
    type: "viewability"
    value: 0.98
    vendor: "EXCHANGE"
  }
  [com.google.doubleclick.imp] {
    billing_id: 41048190734
    billing_id: 87998475627
    publisher_settings_list_id: 5889715199959683550
    publisher_settings_list_id: 3379823455061055318
    allowed_vendor_type: 566
    allowed_vendor_type: 113
    ampad: AMP_AD_NOT_ALLOWED
    skadn {
      sourceapp: "com.google.testapp"
      skadnetids: "6ZVs3vs4"
      versions: "2.0"
      versions: "2.1"
      fidelities: VIEW_THROUGH_ADS
      fidelities: STOREKIT_RENDERED_ADS
    }
    creative_enforcement_settings {
      policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
      publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
    }
    auction_environment: SERVER_SIDE_AUCTION
    ae: SERVER_SIDE_AUCTION
  }
}
app {
  name: "Test App"
  bundle: "com.google.testapp"
  publisher {
    id: "pub-6227762759521589"
    [com.google.doubleclick.publisher] {
      country: "US"
    }
  }
  content {
    url: "https://www.google.com"
    livestream: false
    language: "en"
  }
  storeurl: "https://www.google.com"
  [com.google.doubleclick.app] {
    inventorypartnerdomain: "OMITTED"
  }
}
device {
  ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
  ip: "192.168.1.0"
  geo {
    lat: 0.0
    lon: 0.0
    country: "USA"
    region: "TX"
    metro: "623"
    city: "Lewisville"
    type: IP
    utcoffset: -300
    accuracy: 6225
  }
  make: "Apple"
  model: "iPhone13,2"
  os: "iOS"
  osv: "17.4.1"
  connectiontype: WIFI
  devicetype: HIGHEND_PHONE
  lmt: true
  hwv: "iPhone13,2"
  w: 390
  h: 844
  pxratio: 3.0
  sua {
    browsers {
      brand: "Mozilla"
      version: "5"
      version: "0"
    }
    browsers {
      brand: "AppleWebKit"
      version: "605"
      version: "1"
    }
    platform {
      brand: "iPhone"
      version: "17"
      version: "4"
    }
    mobile: true
    bitness: "64"
    model: "iPhone"
    source: USER_AGENT_STRING
  }
  [com.google.doubleclick.device] {
    atts: 2
  }
}
at: FIRST_PRICE
tmax: 1000
cur: "USD"
bcat: "IAB18-5"
bcat: "IAB23-4"
bapp: "359917414"
bapp: "1446254576"
source {
  schain {
    complete: true
    nodes {
      asi: "testssp.com"
      sid: "pub-1111111111111111"
      hp: true
    }
    ver: "1.0"
  }
  [com.google.doubleclick.source] {
    omidpn: "Google"
    omidpv: "afma-sdk-i-v11.2.0"
    schain {
      complete: 1
      nodes {
        asi: "testssp.com"
        sid: "pub-1111111111111111"
        hp: 1
      }
      ver: "1.0"
    }
  }
}
[com.google.doubleclick.bid_request] {
  google_query_id: "ANy-z17251-40u3eXfXPL5j3MDPa7n6Ree92uf7354o71FP67Rk5i3G30Ez7p39Ze1722D8H"
  fcap_scope: FREQUENCY_CAPPING_SCOPE_APP
  privacy_treatments {
    allow_user_data_collection: true
  }
}