Usar solicitações de lance para criar perfis de usuário

Um perfil de usuário é um mapeamento de um identificador de usuário, como o ID do usuário do Google incluído em BidRequest.user.id, para informações sobre o usuário que podem ser usadas para fazer lances com anúncios com base em interesses ou remarketing com listas de usuários.

Você pode usar dados de solicitações de lance para criar perfis de usuário somente quando todas as condições a seguir forem atendidas:

  • A solicitação de lance permite anúncios personalizados. Em algumas regiões, também é necessário confirmar que o usuário consentiu com o uso de dados da solicitação de lance para criar perfis de usuários.
  • O editor concedeu permissão para usar dados de solicitação de lances na criação de perfil do usuário.
  • Outras condições com base na região geográfica em que o dispositivo do usuário está localizado foram atendidas.

Este guia descreve como determinar se uma solicitação de lance está qualificada para uso na criação de um perfil de usuário com base nas permissões do editor e no resultado do leilão.

Determinar se os anúncios personalizados são permitidos

Verifique o campo non_personalized_ads_reason

As solicitações de lances não personalizados não são qualificadas para a criação de perfis de usuários. Use o campo BidRequest.ext.privacy_treatments.non_personalized_ads_reason para confirmar se os anúncios personalizados são permitidos. Se non_personalized_ads_reason estiver preenchido, os anúncios personalizados não serão permitidos.

Usar a string de TC para verificar o consentimento dos fornecedores do IAB

Nas regiões em que o GDPR é aplicável, a Estrutura de Transparência e Consentimento (TCF) da IAB é usada para comunicar quais atividades de tratamento de dados são permitidas. Você pode usar a string de transparência e consentimento (TC) encontrada no campo BidRequest.user.consent para determinar quais IDs de fornecedores receberam consentimento do usuário para criar perfis de usuário. Para saber mais sobre a string de TC usada na especificação da TCF v2.0 do IAB, consulte String de transparência e consentimento com formatos de lista de fornecedores globais e CMPs. Além disso, consulte Integração do comprador com a TCF do IAB Europe para saber mais sobre como se integrar à especificação da TCF v2.0 no contexto do Authorized Buyers.

Confirme se o usuário deu consentimento para a finalidade 3 da TCF a fornecedores relevantes para criar um perfil de usuário com dados da solicitação de lance. Para saber mais sobre as finalidades da TCF, consulte a referência do IAB para Finalidades.

Determinar se o editor concedeu permissão

Você precisa receber permissão do editor para usar dados de uma solicitação de lance e criar perfis de usuário. Só é possível criar perfis de usuário usando dados de solicitação de lance se o publisher permitir a coleta de dados do usuário e não houver restrições do publisher aplicáveis aos IDs de fornecedor necessários para a finalidade 3.

Verificar se o editor permite a coleta de dados do usuário

É possível verificar se um publisher permite a coleta de dados do usuário usando o campo BidRequest.ext.privacy_treatments.allow_user_data_collection. Você só pode usar dados da solicitação de lance para criação de perfil do usuário quando o campo allow_user_data_collection estiver definido como true.

Verificar restrições do editor usando a string de TC

Para verificar se alguma restrição do publisher se aplica aos IDs de fornecedor obrigatórios, analise a string de TC encontrada em BidRequest.user.consent. Consulte a seção de restrições para publishers da string de TC para determinar se o publisher restringe a finalidade 3 para os IDs de fornecedor necessários. Para saber mais sobre restrições de editores e outros dados contidos na string de TC, consulte Quais informações são armazenadas em uma string de TC?

Cumprir outras condições da região

Outras condições dependem dos resultados do leilão e são necessárias em uma determinada região para que os dados da solicitação de lance correspondente possam ser usados na criação de perfis de usuário. É possível encontrar a localização do dispositivo do usuário usando o campo BidRequest.device.geo. Para saber mais sobre como usar o campo BidRequest.device.geo para determinar a localização do dispositivo do usuário, consulte o guia Segmentação geográfica.

Entender outras condições para o EEE, o Reino Unido e a Suíça

Os dados das solicitações de lances para impressões veiculadas em dispositivos de usuários no Espaço Econômico Europeu (EEE), no Reino Unido e na Suíça só podem ser usados para criar perfis de usuários se o lance correspondente tiver entrado no leilão e ganhado.

Entenda outras condições para regiões fora do EEE, do Reino Unido ou da Suíça

Os dados de solicitações de lances para impressões veiculadas em dispositivos de usuários fora do Espaço Econômico Europeu (EEE), do Reino Unido e da Suíça só podem ser usados para criar perfis de usuários se o lance correspondente atender a uma das seguintes condições:

  • Seu lance entrou no leilão e venceu.
  • Seu lance entrou no leilão, mas foi superado.
  • Seu lance entrou no leilão e foi filtrado porque estava abaixo do limite mínimo de CPM ou do preço mínimo do lance do editor. O preço mínimo de lance nem sempre é incluído nas solicitações de lance.

Usar o feedback em tempo real para determinar o resultado do leilão

Use o feedback em tempo real para saber o resultado do leilão de lances feitos anteriormente em solicitações de lance recebidas. A seguir, descrevemos os campos relevantes na mensagem BidFeedback do arquivo openrtb-adx.proto:

Campo Descrição
request_id Um ID de solicitação exclusivo usado para identificar a solicitação de lance correspondente. Esse campo é definido com o mesmo valor do campo BidRequest.id do pedido de lance correspondente.
creative_status_code Um código de status usado para descrever o resultado do leilão. Você pode encontrar os possíveis códigos de status e seus significados em creative-status-codes.txt.

Usar notificações de vitória e derrota para determinar o resultado do leilão

É possível usar notificações de vitória e derrota para saber o resultado do leilão de lances feitos anteriormente quando os URLs de notificação de vitória ou derrota são pingados. É possível definir um URL de notificação de vitória usando o campo BidResponse.seatbid.bid.nurl e um URL de notificação de derrota usando o campo BidResponse.seatbid.bid.lurl.

Você pode especificar macros como o valor dos parâmetros de string de consulta definidos para o URL de notificação com informações adicionais sobre o resultado do leilão. Eles serão substituídos por um valor correspondente quando o endpoint especificado for pingado. A seguir, descrevemos as macros relevantes:

Macro Descrição
${AUCTION_ID} Um ID de solicitação exclusivo usado para identificar a solicitação de lance correspondente. Esse campo é definido com o mesmo valor do campo BidRequest.id do pedido de lance correspondente.
${CREATIVE_STATUS_CODE} Um código de status usado para descrever o resultado do leilão. Você pode encontrar os possíveis códigos de status e seus significados em creative-status-codes.txt.

Usar o código de status do criativo para obedecer a outras condições

Os valores relevantes do código de status do criativo para obedecer a outras condições incluem:

Código de status do criativo Descrição Detalhes de conformidade
1 Seu lance venceu o leilão. As condições são atendidas para todas as regiões.
79 Você perdeu o lance. As condições são atendidas para regiões fora do EEE, do Reino Unido ou da Suíça.
80 Seu lance estava abaixo do preço mínimo. As condições são atendidas para regiões fora do EEE, do Reino Unido ou da Suíça.

Você só pode criar perfis de usuário com dados de solicitação de lance quando a resposta de lance correspondente atender às condições adicionais da região em que o dispositivo do usuário está localizado.

Revisar exemplos

Os exemplos a seguir mostram uma sequência de eventos que explicam como determinar se uma solicitação de lance está qualificada para uso na criação de um perfil de usuário. Para simplificar, os objetos JSON de solicitação de lance e resposta do lance incluídos nestes exemplos contêm apenas os campos necessários para determinar a qualificação.

Encontrar solicitações de lance inelegíveis devido ao bloqueio da coleta de dados pelo publisher

  • Seu endpoint de lances recebe uma solicitação de lance:

    {
      "id": "D3x8RPLO96R6T137tQ6168",
      "device": {
        "geo": {
          "country": "GBR"
        }
      },
      "user": {
        "id": "D17oNZQUJqB4Rt4n4Ec61AC9tee"
      }
    }
    
  • Conclusão: a solicitação de lance não preenche BidRequest.ext.privacy_treatments.allow_user_data_collection porque é falsa. Com base nisso, podemos determinar que essa solicitação de lance não está qualificada para uso na criação de um perfil de usuário porque o requisito de permissão do editor não foi atendido.

Encontrar solicitações de lance qualificadas do Reino Unido

O exemplo a seguir usa uma notificação de vitória para determinar que os dados de uma solicitação de bid originada de um dispositivo no Reino Unido estão qualificados para uso na criação de perfil de usuário para o ID do fornecedor 755 e o ID do ATP 99999:

  • Seu endpoint de lances recebe uma solicitação de lance:

    {
      "id": "D3x8RPLO96R6T137tQ6168",
      "imp": [
        {
          "bidfloor": 140.414643547123,
          "bidfloorcur": "JPY"
        }
      ],
      "device": {
        "geo": {
          "country": "GBR"
        }
      },
      "user": {
        "consent": "CQhuOAQQhuOAQB7ACBENCOEIALAAAELAAAwIF5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgXmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAA.gF5gAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg",
        "id": "D17oNZQUJqB4Rt4n4Ec61AC9tee",
        "ext": {
          "consented_providers_settings": {
            "consented_providers": [99999]
          }
        }
      },
      "regs": {
        "ext": {
          "gdpr": 1
        }
      },
      "ext": {
        "privacy_treatments": {
          "allow_user_data_collection": 1
        }
      }
    }
    
  • Você faz um lance:

    {
      "seatbid": [
        {
          "bid": [
            {
              "price": 149.83914184570312,
              "lurl": "http://example.com/loss?bid_request_id=${AUCTION_ID}&creative_status_code=${CREATIVE_STATUS_CODE}",
              "nurl": "http://example.com/win?bid_request_id=${AUCTION_ID}"
            }
          ]
        }
      ],
      "cur": "JPY"
    }
    
  • Seu lance vence o leilão, fazendo com que o URL de notificação de vitória seja pingado com o valor expandido de ${AUCTION_ID}:

    http://example.com/win?bid_request_id=D3x8RPLO96R6T137tQ6168

  • Conclusão: agora você sabe que o ID do fornecedor 755 e o ID do ATP 99999 estão qualificados para usar a solicitação de lance com o ID "D3x8RPLO96R6T137tQ6168" para criar um perfil de usuário para o User ID do Google "D17oNZQUJqB4Rt4n4Ec61AC9tee" no Reino Unido porque:

    • A solicitação de lance indica o seguinte:
      • O dispositivo do usuário está localizado em uma região em que a TCF do IAB é aplicada.
      • A string de TC indica:
        • O ID do fornecedor 755 pode criar perfis de usuário porque o usuário deu consentimento para a finalidade 3 do ID do fornecedor 755.
        • Não há restrições do publisher.
      • O ID do ATP 99999 também pode criar perfis de usuário porque está incluído no campo consented_providers.
      • O editor permite a coleta de dados do usuário.
      • O ID da solicitação de lance é "D3x8RPLO96R6T137tQ6168".
      • O ID do usuário do Google é "D17oNZQUJqB4Rt4n4Ec61AC9tee".
      • O dispositivo do usuário está localizado em "GBR".
    • Seu endpoint de notificação de vitória recebe um ping com um parâmetro de string de consulta indicando que a solicitação de lance com ID "D3x8RPLO96R6T137tQ6168" venceu o leilão.
    • O consentimento do usuário, a permissão do publisher e os requisitos de condições adicionais para o Reino Unido foram atendidos.

Encontrar solicitações de lance do Reino Unido que não se qualificam devido à perda do leilão

O exemplo a seguir determina que o ID do fornecedor 755 não está qualificado para usar a solicitação de lance para criação de perfil do usuário porque o editor restringiu a finalidade 3 para o ID do fornecedor 755.

  • Seu endpoint de lances recebe uma solicitação de lance:

    {
      "id": "D3x8RPLO96R6T137tQ6168",
      "imp": [
        {
          "bidfloor": 140.414643547123,
          "bidfloorcur": "JPY"
        }
      ],
      "device": {
        "geo": {
          "country": "GBR"
        }
      },
      "user": {
        "consent": "CQhuOAQQhuOAQB7ACBENCOEIALAAAELAAAwIF5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgXmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAA.gF5gAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg",
        "id": "D17oNZQUJqB4Rt4n4Ec61AC9tee"
      },
      "regs": {
        "ext": {
          "gdpr": 1
        }
      },
      "ext": {
        "privacy_treatments": {
          "allow_user_data_collection": 1
        }
      }
    }
    
  • Você faz um lance:

    {
      "seatbid": [
        {
          "bid": [
            {
              "price": 149.83914184570312,
              "lurl": "http://example.com/loss?bid_request_id=${AUCTION_ID}&creative_status_code=${CREATIVE_STATUS_CODE}",
              "nurl": "http://example.com/win?bid_request_id=${AUCTION_ID}"
            }
          ]
        }
      ],
      "cur": "JPY"
    }
    
  • Seu lance perde o leilão, fazendo com que o URL de notificação de perda seja pingado com os valores expandidos de ${AUCTION_ID} e ${CREATIVE_STATUS_CODE}:

    http://example.com/loss?bid_request_id=D3x8RPLO96R6T137tQ6168&creative_status_code=79

  • Conclusão: agora você sabe que a solicitação de lance com ID "D3x8RPLO96R6T137tQ6168" não está qualificada para criar um perfil de usuário para User ID do Google "D17oNZQUJqB4Rt4n4Ec61AC9tee" no Reino Unido porque:

    • A solicitação de lance indica o seguinte:
      • O dispositivo do usuário está localizado em uma região em que a TCF do IAB é aplicada.
      • A string de TC indica:
        • O ID do fornecedor 755 pode criar perfis de usuário porque o usuário deu consentimento para a finalidade 3 do ID do fornecedor 755.
        • Não há restrições do publisher.
      • O editor permite a coleta de dados do usuário.
      • O ID da solicitação de lance é "D3x8RPLO96R6T137tQ6168".
      • O ID do usuário do Google é "D17oNZQUJqB4Rt4n4Ec61AC9tee".
      • O dispositivo do usuário está localizado em "GBR".
    • Seu endpoint de notificação de perda recebe um ping com parâmetros de string de consulta indicando que a solicitação de lance com ID "D3x8RPLO96R6T137tQ6168" perdeu o leilão por ter recebido um lance maior.
    • Os requisitos de condição adicionais para o Reino Unido não foram atendidos.

Encontrar solicitações de lance do Reino Unido que não se qualificam devido a restrições do publisher

O exemplo a seguir determina que o ID do fornecedor 755 não está qualificado para usar a solicitação de lances para criação de perfil do usuário porque o editor restringiu a finalidade 3 para o ID do fornecedor 755.

  • Seu endpoint de lances recebe uma solicitação de lance:

    {
      "id": "D3x8RPLO96R6T137tQ6168",
      "imp": [
        {
          "bidfloor": 140.414643547123,
          "bidfloorcur": "JPY"
        }
      ],
      "device": {
        "geo": {
          "country": "GBR"
        }
      },
      "user": {
        "consent": "CQhuhyAQhuhyAB7ACBENCOEIALAAAELAAAwIF5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgXmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAGCAAgLzDAAQF5iAAIC8w.gF5gAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg"
      },
      "regs": {
        "ext": {
          "gdpr": 1
        }
      },
      "ext": {
        "privacy_treatments": {
          "allow_user_data_collection": 1
        }
      }
    }
    
  • Você faz um lance:

    {
      "seatbid": [
        {
          "bid": [
            {
              "price": 149.83914184570312,
              "lurl": "http://example.com/loss?bid_request_id=${AUCTION_ID}&creative_status_code=${CREATIVE_STATUS_CODE}",
              "nurl": "http://example.com/win?bid_request_id=${AUCTION_ID}"
            }
          ]
        }
      ],
      "cur": "JPY"
    }
    
  • Conclusão: agora você sabe que o ID do fornecedor 755 não está qualificado para usar a solicitação de lance com o ID "D3x8RPLO96R6T137tQ6168" para criar perfis de usuário porque:

    • A solicitação de lance indica o seguinte:
      • O dispositivo do usuário está localizado em uma região em que a TCF do IAB é aplicada.
      • A string de TC indica:
        • O ID do fornecedor 755 pode criar perfis de usuário porque o usuário deu consentimento para a finalidade 3 do ID do fornecedor 755.
        • Há restrições para publishers para o fornecedor de segmentação da finalidade 3 ID 755.
      • O editor permite a coleta de dados do usuário.
      • O ID da solicitação de lance é "D3x8RPLO96R6T137tQ6168".
      • O ID do usuário do Google é "D17oNZQUJqB4Rt4n4Ec61AC9tee".
      • O dispositivo do usuário está localizado em "GBR".
    • O requisito de permissão do publisher não foi atendido.

Encontrar solicitações de lance qualificadas fora do EEE

O exemplo a seguir usa feedback em tempo real para determinar que uma solicitação de lance de uma região fora do EEE está qualificada, apesar de ter sido filtrada porque o lance entrou no leilão.

  • Seu endpoint de lances recebe uma solicitação de lance:

    {
      "id": "D3x8RPLO96R6T137tQ6168",
      "imp": [
        {
          "bidfloor": 140.414643547123,
          "bidfloorcur": "JPY"
        }
      ],
      "device": {
        "geo": {
          "country": "JPN"
        }
      },
      "user": {
        "id": "D17oNZQUJqB4Rt4n4Ec61AC9tee"
      },
      "ext": {
        "privacy_treatments": {
          "allow_user_data_collection": 1
        }
      }
    }
    
  • Você faz um lance:

    {
      "seatbid": [
        {
          "bid": [
            {
              "price": 120.846348234842
            }
          ]
        }
      ],
      "cur": "JPY"
    }
    
  • Seu lance perde no leilão. Em uma solicitação de lance futura, seu endpoint de lances recebe uma solicitação com feedback em tempo real:

    {
      "id": "9B5K1zj5T61jRM80t25s13",
      "ext": {
        "bid_feedback": [
          {
            "request_id": "3265hT3M9Uq7370Ou263Zp",
            "creative_status_code": 1
          },
          {
            "request_id": "D3x8RPLO96R6T137tQ6168",
            "creative_status_code": 80
          }
        ]
      }
    }
    
  • Conclusão: agora você sabe que a solicitação de lances com o ID "D3x8RPLO96R6T137tQ6168" está qualificada para criar um perfil de usuário para o User ID do Google "D17oNZQUJqB4Rt4n4Ec61AC9tee" no Japão porque:

    • A solicitação de lance indica o seguinte:
      • O dispositivo do usuário está em uma região onde a TCF do IAB não é aplicada.
      • O editor permite a coleta de dados do usuário.
      • O ID da solicitação de lance é "D3x8RPLO96R6T137tQ6168".
      • O ID do usuário do Google é "D17oNZQUJqB4Rt4n4Ec61AC9tee".
      • O dispositivo do usuário está localizado em "JPN".
    • Você recebeu um feedback de solicitação de lance indicando que a solicitação com o ID "D3x8RPLO96R6T137tQ6168" perdeu o leilão porque seu lance estava abaixo do preço mínimo. Para países fora do EEE, como o Japão, entrar no leilão e ser filtrado por esse motivo atende às condições adicionais.
    • A permissão do publisher e os requisitos de condição adicionais para o Japão foram atendidos.

Encontrar solicitações de lance de fora do EEE que não se qualificam

O exemplo a seguir usa feedback em tempo real para determinar que uma solicitação de lance de uma região fora do EEE não está qualificada porque foi filtrada antes do leilão.

  • Seu endpoint de lances recebe uma solicitação de lance:

    {
      "id": "D3x8RPLO96R6T137tQ6168",
      "imp": [
        {
          "bidfloor": 140.414643547123,
          "bidfloorcur": "JPY"
        }
      ],
      "device": {
        "geo": {
          "country": "JPN"
        }
      },
      "user": {
        "id": "D17oNZQUJqB4Rt4n4Ec61AC9tee"
      },
      "ext": {
        "privacy_treatments": {
          "allow_user_data_collection": 1
        }
      }
    }
    
  • Você faz um lance:

    {
      "seatbid": [
        {
          "bid": [
            {
              "price": 149.83914184570312
            }
          ]
        }
      ],
      "cur": "JPY"
    }
    
  • Seu lance perde no leilão. Em uma solicitação de lance futura, seu endpoint de lances recebe uma solicitação com feedback em tempo real:

    {
      "id": "9B5K1zj5T61jRM80t25s13",
      "ext": {
        "bid_feedback": [
          {
            "request_id": "3265hT3M9Uq7370Ou263Zp",
            "creative_status_code": 1
          },
          {
            "request_id": "D3x8RPLO96R6T137tQ6168",
            "creative_status_code": 10
          }
        ]
      }
    }
    
  • Conclusão: agora você sabe que a solicitação de lance com o ID "D3x8RPLO96R6T137tQ6168" não está qualificada para criar um perfil de usuário para o User ID do Google "D17oNZQUJqB4Rt4n4Ec61AC9tee" no Japão porque:

    • A solicitação de lance indica o seguinte:
      • O dispositivo do usuário está em uma região onde a TCF do IAB não é aplicada.
      • O editor permite a coleta de dados do usuário.
      • O ID da solicitação de lance é "D3x8RPLO96R6T137tQ6168".
      • O ID do usuário do Google é "D17oNZQUJqB4Rt4n4Ec61AC9tee".
      • O dispositivo do usuário está localizado em "JPN".
    • Você recebeu um feedback de solicitação de lance indicando que a solicitação com o ID "D3x8RPLO96R6T137tQ6168" não entrou no leilão porque seu lance usou um criativo reprovado.
    • Os requisitos de condição adicionais para países fora do EEE, como o Japão, não foram atendidos.

Próximas etapas