Implementação

Esquema POST

A solicitação POST enviada para o webhook estará no formato JSON com o esquema a seguir:

Payload do protocolo Webhook

// Represent user lead data for single column
message UserLeadColumnData {
  // Human-readable text of the field type (e.g.: Full Name,  What is your
  // preferred dealership?). This field might not always be populated.
  optional string column_name = 1;

  // Column value based on column type
  oneof column_value {
    string string_value = 2;
  }
  // Column id. Populated for all types of fields. (e.g.: FULL_NAME)
  optional string column_id = 3;
}

// Message to construct webhook JSON payload
message WebhookLead {
  // Unique id to represent lead
  optional string lead_id = 1;
  // User inputted data per column
  repeated UserLeadColumnData user_column_data = 2;
  // API version
  optional string api_version = 3;
  // Form id to which lead belonged to.
  optional int64 form_id = 4;
  // Campaign id that the lead form is associated with
  optional int64 campaign_id = 5;
  // Key to be used by advertiser to verify the request
  // is from Google.
  optional string google_key = 6;
  // Denotes if the lead is a test lead.
  optional bool is_test = 7;
  // Click ID for the lead submission.
  optional string gcl_id = 8;
  // Adgroup id which generated the lead.
  optional int64 adgroup_id = 9;
  // Creative id which generated the lead.
  optional int64 creative_id = 10;
}

Descrição do campo

Campo Descrição
lead_id String única que identifica um determinado lead.

Recomendação de processamento: use para eliminar a duplicação de leads que são recebidos. Ele será exclusivo em todos os formulários. Ao informar problemas relacionados a um lead específico, esse ID será necessário.

api_version Versão da API a que este esquema de lead pertence. Ele será usado ao migrar para um novo esquema e pode ser ignorado por enquanto.
form_id ID exclusivo para cada formulário configurado no Google Ads. Com o produto atual, é possível anexar um formulário ao nível da campanha, em vez de anexar ao grupo de anúncios ou ao anúncio.

Implicações:os leads podem ser divididos apenas no nível do form_id (ou seja, no nível da campanha).

Os clientes precisam usar um número inteiro de 8 bytes para o processamento.

campaign_id O ID da campanha do Google Ads ou do item de linha (Display & Video 360) do formulário de lead anexado.

Os clientes precisam usar um número inteiro de 8 bytes para o processamento.

adgroup_id O ID do grupo de anúncios do Google Ads é usado para distinguir o grupo de anúncios específico na campanha. (disponível somente para leads de anúncios Discovery e em vídeo)

Os clientes precisam usar um número inteiro de 8 bytes para o processamento.

creative_id O ID do criativo do Google Ads é usado para distinguir o criativo específico no grupo de anúncios. (disponível somente para leads de anúncios Discovery e em vídeo)

Os clientes precisam usar um número inteiro de 8 bytes para o processamento.

gcl_id ID de clique do Google, um parâmetro exclusivo usado para rastrear cada clique em um anúncio.
google_key Uma chave configurada pelo anunciante com cada formulário.

Processamento da recomendação:antes de processar um lead recebido por webhook, a validação de google_key é igual à configuração no Google Ads para aumentar a confiança de que o lead é válido. Mantenha esta chave confidencial e atualize-a no Google Ads se houver um motivo para acreditar que houve um grande vazamento.

is_test Esse campo tem uma semântica "opcional". Se o valor for verdadeiro, trate esse lead como lead de teste. Se o valor for falso ou se o campo não estiver presente, trate o lead como lead de produção válido.
user_column_data Uma tupla repetida de chave-valor que transmite dados enviados pelo usuário.
  • user_column_data.column_id: tipo de dados enviado pelo usuário.
  • User_column_data.column_value: para cada tipo de dados, haverá um tipo de valor preenchido, dependendo do tipo. Todos os tipos de dados atuais têm o valor user_column_data.string_value.
  • user_column_data.column_name: texto legível do tipo de dados enviado pelo usuário. Esse campo nem sempre é preenchido. Use column_id .
user_column_data.column_id Conteúdo da coluna "user_column_data.string_value" user_column_data.column_name (descontinuado)
"FULL_NAME" Nome completo do usuário, "Nome completo"
"FIRST_NAME" Nome do usuário, "Nome"
"LAST_NAME" Sobrenome do usuário, "Sobrenome"
"EMAIL" E-mail do usuário "E-mail do usuário"
"PHONE_NUMBER" Telefone do usuário no formato E.164, por exemplo, "+11234567890". "Telefone do usuário"
"CÓDIGO_POSTAL" CEP do usuário. "Código postal"
"COMPANY_NAME" Nome da empresa do usuário. "Nome da empresa"
"JOB_TITLE" Cargo do usuário. "Cargo"
"E-MAIL_DE_TRABALHO" E-mail comercial do usuário. "E-mail comercial"
"TELEFONE_DE_TRABALHO" Telefone comercial do usuário. "Telefone comercial"
"STREET_ADDRESS" Endereço do usuário. "Endereço"
"CIDADE" Cidade do usuário. "Cidade"
"REGION" Região do usuário. "Região"
"COUNTRY" País do usuário. "País"
"MODELO_DE_VEHICLE" Em qual modelo você tem interesse? N/A
"VEHICLE_TYPE" Em que tipo de veículo você tem interesse? N/A
"PREFERRED_DEALERSHIP" Selecione sua concessionária preferida N/A
"VEHICLE_PURCHASE_TIMELINE" Quando você planeja comprar um veículo? N/A
"VEHICLE_Condition" Você prefere veículos em qual condição? N/A
"VEHICLE_OWNERSHIP" Você tem um veículo? "N/A"
"VEHICLE_PAYMENT_TYPE" Em qual opção de propriedade de veículo você tem interesse? N/A
"COMPANY_SIZE" Qual é o porte da sua empresa? N/A
"VENDAS_ANUAL" Qual é seu volume de vendas anual? N/A
"ANOS_IN_BUSINESS" Há quantos anos sua empresa atua na área? N/A
"JOB_DEPARTMENT" Em qual departamento seu cargo se encaixa? N/A
"JOB_ROLE" Qual é seu cargo? N/A
"EDUCATION_PROGRAM" Em qual programa você tem interesse? N/A
"EDUCATION_CURSE" Em qual curso você tem interesse? N/A
"PRODUTO" Em qual produto você tem interesse? N/A
"SERVIÇO" Em qual serviço você tem interesse? N/A
"OFERTA" Em qual oferta você tem interesse? N/A
"CATEGORIA" Em qual categoria você tem interesse? N/A
"PREFERRED_CONTACT_METHOD" Selecione uma forma de contato N/A
"PREFERRED_LOCATION" Selecione um local N/A
"PREFERRED_CONTACT_TIME" Qual é o melhor horário para entrar em contato com você? N/A
"PURCHASE_TIMELINE" Quando você tem intenção de fazer uma compra? N/A
"ANOS_DE_EXPERIÊNCIA" Quantos anos de experiência você tem? N/A
"JOB_INDUSTRY" Você trabalha em qual setor? N/A
"NÍVEL_OF_EDUCATION" Qual é seu nível de escolaridade? N/A
"PROPERTY_TYPE" Que tipo de imóvel você está procurando? N/A
"REALTOR_HELP_GOAL" Para que você precisa da ajuda de um corretor? N/A
"PROPERTY_COMMUNITY" Em qual comunidade você tem interesse? N/A
"PRICE_RANGE" Qual faixa de preço você está procurando? N/A
"NUMBER_OF_BEDROOMS" De quantos quartos você precisa? N/A
"FURNISHED_PROPERTY" Você está procurando um imóvel mobiliado? N/A
"PETS_ALLOWED_PROPERTY" Você está procurando imóveis que permitem animais de estimação? N/A
"PRÓXIMA_PLANNED_PURCHASE" Qual é o próximo produto que você planeja comprar? N/A
"EVENT_INICIAR INTEREST" Você gostaria de se inscrever em um evento? N/A
"PREFERRED_SHOPPING_PLACES" Onde você gosta de fazer compras? N/A
"FAVORITE_BRAND" Qual é sua marca preferida? N/A
"TRANSPORTATION_COMMERCIAL_LICENSE_TYPE" Que tipo de licença comercial válida você tem? N/A
"EVENT_BOOKING_INTEREST" Você tem interesse em agendar um evento? N/A
"DESTINATION_COUNTRY" Qual é seu país de destino? N/A
"DESTINATION_CITY" Qual é sua cidade de destino? N/A
"PARTIDA_PAÍS" Qual é seu país de partida? N/A
"PARTIDA_CIDADE" Qual é sua cidade de partida? N/A
" [participação]" Qual é sua data de partida? N/A
"return_DATE" Qual é sua data de retorno? N/A
"NUMBER_OF_TRAVELERS" Com quantas pessoas você está viajando? N/A
"TRAVEL_BUDGET" Qual é o orçamento da sua viagem? N/A
"TRAVEL_ACCOMMODATION" Onde você gostaria de ficar durante sua viagem? N/A

Gestão de leads

Os gerenciadores de lead precisam responder com estes códigos HTTP:

Resposta HTTP Corpo da resposta (JSON) Erro que pode ser tentado novamente?
200 {} N/A
4XX {"message: texto de erro em formato livre, descrevendo o que estava errado com a solicitação"} Não
5XX {"message: Mensagem opcional de erro retraível intermitente"} Sim

Cópias

Não há garantia de que um único lead será entregue exatamente uma vez. Portanto, o processamento do webhook do lead precisa lidar com as cópias sem problemas.