Implementação

Esquema POST

A solicitação POST enviada ao webhook estará no formato JSON com o seguinte esquema:

Payload do Proto do 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.

Gerenciamento de recomendação:use esta opção para eliminar as duplicações de leads que são recebidos. Ele será exclusivo em todos os formulários. Ao gerar relatórios problemas relacionados a um lead específico, será necessário informar esse ID.

api_version Versão da API a que este esquema de lead pertence. Ela será usada quando migrar para um novo esquema e pode ser ignorada por enquanto.
form_id É o ID exclusivo de cada formulário configurado no Google Ads. O produto atual permite anexar um formulário no nível da campanha (em vez de anexar no nível do grupo de anúncios ou do anúncio) níveis).

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

Os clientes precisam usar um número inteiro de 8 bytes para fazer 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 processar.

adgroup_id O ID do grupo de anúncios do Google Ads é usado para distinguir a grupo de anúncios da campanha. Disponível para leads de vídeo e Discovery somente anúncios)

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

creative_id O ID do criativo do Google Ads é usado para distinguir as criativo no grupo de anúncios. Disponível para leads de vídeo e Discovery somente anúncios)

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

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

Tratamento da recomendação: antes de processar um lead recebido por mais de o webhook, validar google_key é o mesmo que configurar em Google Ads para ter mais certeza de que o lead é válido. Manter a confidencialidade dessa chave e atualizá-la no Google Ads se houver acreditam que isso tenha vazado muito.

is_test Este campo tem "opcional" semântico. Se o valor for verdadeiro, trate isso liderar como líder de teste. Se o valor for "false" ou se o campo não estiver presente, trate esse lead como um lead de produção válido.
user_column_data Uma tupla de chave-valor repetida que transmite dados enviados pelo usuário.
  • user_column_data.column_id: tipo de dados enviado por o usuário.
  • User_column_data.column_value: para cada tipo de dado, haverá um tipo de valor preenchido dependendo do tipo de dados. Todos os nossos os tipos de dados atuais têm o valor user_column_data.string_value:
  • user_column_data.column_name: texto legível por humanos de o tipo de dado enviado pelo usuário. Talvez este campo não seja 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"
"E-MAIL" E-mail do usuário "E-mail do usuário"
"PHONE_NUMBER" Telefone do usuário em E.164 formato, por exemplo, "+11234567890". "Telefone do usuário"
"POSTAL_CODE" CEP do usuário. "Código postal"
"NOME DA EMPRESA" Nome da empresa do usuário. "Nome da empresa"
"JOB_TITLE" Cargo do usuário. "Cargo"
WORK_EMAIL 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"
"VEHICLE_MODEL" 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" Qual é o estado do veículo que você procura? N/A
"VEHICLE_OWNERSHIP" Você tem carro? "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
"ANUAL_VENDAS" Qual é seu volume de vendas anual? N/A
"YEARS_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_COURSE" Em qual curso você tem interesse? N/A
PRODUTO Em qual produto você tem interesse? N/A
"SERVICE" Em qual serviço você tem interesse? N/A
"OFERTA" Em qual oferta você tem interesse? N/A
"CATEGORY" 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
"YEARS_OF_EXPERIENCE" Quantos anos de experiência você tem? N/A
"JOB_INDUSTRY" Você trabalha em qual setor? N/A
"LEVEL_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_QUATROS" Quantos quartos você gostaria de ter? 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
"NEXT_PLANNED_PURCHASE" Qual é o próximo produto que você planeja comprar? N/A
"EVENT_IDENTIFIER_INTEREST" Você gostaria de se inscrever em um evento? N/A
"PREFERRED_SHOPPING_PLACES" Onde você gosta de fazer compras? N/A
"FAVORITO_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_COUNTRY" Qual é seu país de partida? N/A
"PARTIDA_CIDADE" Qual é sua cidade de partida? N/A
"PARTIDA_DATA" 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_ORÇAMENTO" 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 leads devem responder com estes códigos HTTP:

Resposta HTTP Corpo da resposta (JSON) Erro que permite tentar de novo?
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. Por isso, o lead o processamento do webhook precisa lidar com as duplicatas corretamente.