Realice ofertas en nombre de varias cuentas

Un ofertante puede comprar inventario para varios compradores en una sola oferta respuesta. Por ejemplo, una plataforma orientada a la demanda (DSP) podría usar sus ofertas para comprar inventario de varios especialistas en marketing o agencias que están compradores. En esta guía, se explica cómo codificar a tu ofertante para que procese una sola solicitud. enviado en nombre de varios compradores.

Segundo plano

En algunos casos, la mesa de operaciones de una red de publicidad o de una agencia puede optar por trabajar con una o más DSP. Hay dos opciones disponibles para los compradores que trabajan a través de una DSP:

  • La DSP compra inventario a los especialistas en marketing o las agencias que no compradores. En este caso, la DSP recibe una solicitud de oferta y responde con una oferta. Google factura directamente a la DSP.
  • La DSP compra inventario a los especialistas en marketing o las agencias que compradores. La DSP recibe una solicitud de oferta que incluye varias facturaciones IDs asociados con compradores aptos y pueden establecer ofertas distintas para cada comprador por el que pretende ofertar. En este modelo, Google factura a no con la DSP. El resto de esta guía se centra en esta situación.

Configuración y segmentación previa

Google enviará una solicitud de oferta con uno o más IDs de facturación asociados. con compradores y configuraciones de segmentación previa que se orientaron a la impresión. Puedes encontrarlas con el BidRequest.imp.ext.billing_id .

Cuando se responde a una BidRequest que contiene IDs de facturación de varios compradores, BidResponse.seatbid.bid.ext.billing_id es para que Google sepa qué cuenta asociar con la oferta. Cualquiera respuesta que no establece el campo se filtra. El campo sigue siendo opcional para cualquier BidRequest que solo incluya un único ID de facturación.

Ejemplo de segmentación previa

Un ofertante oferta en nombre de dos compradores, uno con un ID de facturación de 123 y el otro con el ID de facturación 124. El ofertante configura una segmentación previa con el ID de facturación 213 para segmentar al idioma inglés y otro con el ID de facturación 231 para orientar a computadoras personales. A continuación, se describen las ID de facturación que aparecen en las solicitudes de oferta para diferentes tipos de impresiones.

Descripción de la impresión IDs de facturación en la solicitud de oferta
contenido en japonés en una computadora personal 123, 124 y 231.
Contenido en inglés en un teléfono celular. 123, 124 y 213.
Contenido en inglés en una computadora personal 123, 124, 213 y 231.

Ejemplos de BidRequests

A continuación, se muestran ejemplos de BidRequest. Notarás que hay varios IDs de facturación en estas solicitudes porque se aplican a varias cuentas.

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
  }
}
{
  "id": "pu96xf0D7otnT4Q317588G",
  "imp": [
    {
      "id": "1",
      "banner": {
        "w": 320,
        "h": 50,
        "pos": 1,
        "expdir": [
          1,
          2,
          3,
          4
        ],
        "api": [
          3,
          5
        ],
        "format": [
          {
            "w": 320,
            "h": 50
          },
          {
            "w": 320,
            "h": 100
          }
        ]
      },
      "displaymanager": "GoogleMobileAds-iOS",
      "displaymanagerver": "10.5.0",
      "tagid": "1077633402",
      "bidfloor": 0.01,
      "bidfloorcur": "USD",
      "secure": 1,
      "exp": 3600,
      "clickbrowser": 1,
      "metric": [
        {
          "type": "viewability",
          "value": 0.74,
          "vendor": "EXCHANGE"
        },
        {
          "type": "session_depth",
          "value": 1,
          "vendor": "EXCHANGE"
        }
      ],
      "ext": {
        "billing_id": [
          77621228638,
          75301362736
        ],
        "dfp_ad_unit_code": "/9041646/google/test",
        "ampad": 2,
        "buyer_generated_request_data": [
          {
            "source_app": {
              "id": "com.google.ads.mediation.test.TestAdapter"
            },
            "data": "Test Data"
          }
        ],
        "excluded_creatives": [
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          },
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          }
        ],
        "creative_enforcement_settings": {
          "policy_enforcement": 1,
          "publisher_blocks_enforcement": 2
        },
        "billable_event_rate_adjustment": 1,
        "auction_environment": 0,
        "ad_unit_mapping": [
          {
            "keyvals": [
              {
                "key": "OMITTED",
                "value": "OMITTED"
              },
              {
                "key": "OMITTED",
                "value": "OMITTED"
              }
            ],
            "format": 1
          }
        ],
        "ae": 0
      }
    }
  ],
  "app": {
    "name": "Test App",
    "bundle": "com.google.testapp",
    "publisher": {
      "id": "pub-3858090347872942",
      "ext": {
        "country": "JP"
      }
    },
    "content": {
      "url": "https://www.google.com",
      "livestream": 0,
      "language": "ja"
    },
    "storeurl": "https://www.google.com",
    "ext": {
      "installed_sdk": [
        {
          "id": "com.google.ads.mediation.test.TestAdapter",
          "sdk_version": {
            "major": 5,
            "minor": 2,
            "micro": 6
          },
          "adapter_version": {
            "major": 5,
            "minor": 2,
            "micro": 600
          }
        }
      ],
      "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": "JPN",
      "region": "JP-11",
      "city": "Wako",
      "type": 2,
      "utcoffset": 540,
      "accuracy": 1656
    },
    "make": "Apple",
    "model": "iPhone13,2",
    "os": "iOS",
    "osv": "17.4.1",
    "connectiontype": 2,
    "devicetype": 4,
    "ifa": "644t6oo9K5630T4P55UhH3U6QwBvyR8434j1",
    "lmt": 0,
    "hwv": "iPhone13,2",
    "w": 390,
    "h": 844,
    "pxratio": 3,
    "sua": {
      "browsers": [
        {
          "brand": "Mozilla",
          "version": [
            "5",
            "0"
          ]
        },
        {
          "brand": "AppleWebKit",
          "version": [
            "605",
            "1"
          ]
        }
      ],
      "platform": {
        "brand": "iPhone",
        "version": [
          "17",
          "4"
        ]
      },
      "mobile": 1,
      "bitness": "64",
      "model": "iPhone",
      "source": 3
    },
    "ext": {
      "atts": 3
    }
  },
  "user": {
    "id": "wr62bT596f06jhZ1V77n3I1b63h",
    "data": [
      {
        "id": "pub-9226299926337762",
        "name": "Publisher Passed",
        "segment": [
          {
            "name": "TEST_NAME",
            "value": "TEST_VALUE"
          },
          {
            "name": "TEST_NAME",
            "value": "TEST_VALUE"
          }
        ]
      }
    ],
  },
  "at": 1,
  "tmax": 1000,
  "cur": [
    "USD"
  ],
  "source": {
    "schain": {
      "complete": 1,
      "nodes": [
        {
          "asi": "testssp.com",
          "sid": "pub-1111111111111111",
          "hp": 1
        }
      ],
      "ver": "1.0"
    },
    "ext": {
      "omidpn": "Google",
      "omidpv": "afma-sdk-i-v10.5.0",
      "schain": {
        "complete": 1,
        "nodes": [
          {
            "asi": "testssp.com",
            "sid": "pub-1111111111111111",
            "hp": 1
          }
        ],
        "ver": "1.0"
      }
    }
  },
  "ext": {
    "google_query_id": "ANy-z3D398-yn1l2uC2D50Bl9f19AQ3nSQAI82307LmCWc646P925n10EqSpUdQ1wt1IxQj7",
    "fcap_scope": 1
  }
}
id: "\330\334\201\343\345\\jN\3313`V^\214\207\003\345\022GP\023\323\251"
user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
url: "https://www.google.com"
detected_language: "it"
adslot {
  id: 1
  width: 414
  width: 320
  height: 50
  height: 50
  excluded_attribute: 15
  excluded_attribute: 22
  allowed_vendor_type: 489
  allowed_vendor_type: 550
  excluded_sensitive_category: 36
  excluded_sensitive_category: 4
  matching_ad_data {
    billing_id: 97713609660
    billing_id: 60373602214
    minimum_cpm_micros: 40000
  }
  matching_ad_data {
    billing_id: 84882034591
    billing_id: 74365219129
    minimum_cpm_micros: 520000
  }
  slot_visibility: ABOVE_THE_FOLD
  ad_block_key: 4252652432
  publisher_settings_list_id: 8511095895255592384
  excluded_creatives {
    buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
  }
  excluded_creatives {
    buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
  }
  viewability: 89
  click_through_rate: 0.0027791813
  allowed_ad_types: ALLOWED_AD_TYPE_BANNER
  is_amp_page: DIALECT_HTML
  amp_ad_requirement_type: AMP_AD_NOT_ALLOWED
  consented_providers_settings {
    consented_providers: 196
    consented_providers: 153
    additional_consent_string: "OMITTED"
  }
  regs_gdpr: true
  api: OMID_1
  api: MRAID_1
  omidpn: "Google"
  omidpv: "afma-sdk-i-v9.0.0"
  creative_enforcement_settings {
    policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
    publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
  }
  auction_environment: SERVER_SIDE_AUCTION
  impression_expiration_seconds: 3600
  supported_auction_environment: SERVER_SIDE_AUCTION
  display_manager: "GoogleMobileAds-iOS"
  display_manager_version: "9.0.0"
}
is_test: false
timezone_offset: 120
mobile {
  app_id: "116395214"
  is_app: true
  app_name: "Test App"
}
postal_code: "10011"
geo_criteria_id: 20524
publisher_settings_list_id: 9033154688577085139
publisher_type: PUBLISHER_OWNED_AND_OPERATED
partner_id: 8689962800479104672
device {
  device_type: HIGHEND_PHONE
  platform: "iphone"
  brand: "Apple"
  model: "iPhone9,4"
  os_version {
    major: 15
    minor: 8
    micro: 2
  }
  carrier_id: 0
  screen_width: 414
  screen_height: 736
  screen_pixel_ratio_millis: 3000
  screen_orientation: PORTRAIT
  hardware_version: "iPhone9,4"
  limit_ad_tracking: true
  app_tracking_authorization_status: DENIED
  connection_type: WIFI
}
publisher_country: "IT"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 1000
google_query_id: "ANy-z17d1Q-rs050w92ve6V2Lm2820pMZ0517u12jT7m02AURu7dw0XbsQ0pK5EAd173Cm1Q"
auction_type: FIRST_PRICE
geo {
  lat: 42.85
  lon: 13.7
  country: "ITA"
  region: "IT-AP"
  zip: "63082"
  utcoffset: 120
  accuracy: 19730
}
user_agent_data {
  platform {
    brand: "iPhone"
    version: "15"
    version: "0"
  }
  mobile: true
  model: "iPhone"
  browsers {
    brand: "Mozilla"
    version: "5"
    version: "0"
  }
  browsers {
    brand: "AppleWebKit"
    version: "605"
    version: "1"
  }
  bitness: "64"
  source: USER_AGENT_STRING
}
supply_chain {
  complete: true
  nodes {
    advertising_system_identifier: "testdomain.com"
    seller_identifier: "pub-1111111111111111"
    handles_payment: true
  }
  version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
  ip: IP_REDACTED
  user_agent: USER_AGENT_COARSENED
  non_personalized_ads_reason: PUBLISHER_DECLARED_NPA
  allow_user_data_collection: false
  device_storage_restriction_reason: INSUFFICIENT_USER_CONSENT
}
inventory_partner_domain: "OMITTED"