Implementazione

Schema POST

La richiesta POST inviata al webhook sarà in formato JSON con il seguente schema:

Payload protocollo 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;
}

Descrizione del campo

Campo Descrizione
lead_id Stringa univoca che identifica un determinato lead.

Suggerimento per la gestione: utilizza questa opzione per deduplicare i lead ricevuti. Sarà univoco in tutti i moduli. Questo ID sarà obbligatorio per la segnalazione di problemi relativi a un lead specifico.

api_version Versione dell'API a cui appartiene questo schema dei lead. Verrà utilizzato durante la migrazione a un nuovo schema e per il momento può essere ignorato.
form_id ID univoco per ogni modulo configurato in Google Ads. Il prodotto attuale consente il collegamento di un modulo a livello di campagna (anziché a livello di gruppo di annunci o di annuncio).

Implicazioni: i lead possono essere suddivisi solo a livello di form_id (ossia a livello di campagna).

Per l'elaborazione, i client devono utilizzare un numero intero di 8 byte.

campaign_id L'ID campagna o l'ID elemento pubblicitario di Google Ads (Display & Video 360) del modulo per i lead allegato.

Per l'elaborazione, i client devono utilizzare un numero intero di 8 byte.

adgroup_id L'ID gruppo di annunci Google Ads viene utilizzato per distinguere il gruppo di annunci specifico nella campagna. (disponibile solo per i lead provenienti da annunci video e discovery)

Per l'elaborazione, i client devono utilizzare un numero intero di 8 byte.

creative_id L'ID creatività di Google Ads viene utilizzato per distinguere la creatività specifica nel gruppo di annunci. (disponibile solo per i lead provenienti da annunci video e discovery)

Per l'elaborazione, i client devono utilizzare un numero intero di 8 byte.

gcl_id ID clic Google, un parametro univoco utilizzato per monitorare ogni clic su un annuncio.
google_key Una chiave configurata dall'inserzionista in ogni modulo.

Consiglio per la gestione: prima di elaborare un lead ricevuto tramite webhook, la convalida di google_key equivale a configurare il lead in Google Ads per avere maggiore certezza che il lead sia valido. Mantieni questa chiave riservata e aggiorna in Google Ads se c'è motivo di ritenere che questa notizia sia trapelata su larga scala.

is_test Questo campo ha una semantica "facoltativa". Se il valore è true, considera questo lead come un lead di prova. Se il valore è false o se il campo non è presente, considera questo lead come un lead di produzione valido.
user_column_data Una tupla chiave-valore ripetuta che trasmette i dati inviati dall'utente.
  • user_column_data.column_id: tipo di dati inviato dall'utente.
  • User_column_data.column_value: per ogni tipo di dati verrà completato un tipo di valore a seconda del tipo di dati. Tutti i nostri tipi di dati attuali hanno il valore user_column_data.string_value.
  • user_column_data.column_name: testo leggibile del tipo di dati inviato dall'utente. Questo campo potrebbe non essere sempre compilato. Utilizza invece column_id .
user_column_data.column_id Contenuto User_column_data.string_value user_column_data.column_name (deprecato)
"FULL_NAME" Nome completo dell'utente. "Nome e cognome"
"FIRST_NAME" Nome dell'utente. "Nome"
"LAST_NAME" Cognome dell'utente. "Cognome"
"EMAIL" Email dell'utente. "Email utente"
"PHONE_NUMBER" Telefono dell'utente in formato E.164, ad esempio "+11234567890". "Telefono dell'utente"
"CODICE_POSTALE" Codice postale dell'utente. "Codice postale"
"COMPANY_NAME" Nome dell'azienda dell'utente. "Nome dell'azienda"
"JOB_TITLE" Qualifica dell'utente. "Qualifica"
"EMAIL_LAVORO" Email di lavoro dell'utente. "Email di lavoro"
"TELEFONO_WORK" Telefono di lavoro dell'utente. "Telefono ufficio"
"INDIRIZZO_STREET" Indirizzo dell'utente. "Via"
"CITTÀ" Città dell'utente. "Città"
"REGIONE" Regione dell'utente. "Regione"
"PAESE" Paese dell'utente. "Paese"
"VEHICLE_MODEL" Quale modello ti interessa? N/A
"TIPO_VEHICLE" Quale tipo di veicolo ti interessa? N/A
"PREFERRED_DEALERSHIP" Seleziona il tuo concessionario preferito N/A
"VEHICLE_PURCHASE_TIMELINE" Quando intendi acquistare un veicolo? N/A
"VEHICLE_CONDIZIONE" Ti interessa un veicolo nuovo o usato? N/A
"VEHICLE_OWNERSHIP" Possiedi un veicolo? "N/A"
"VEHICLE_PAYMENT_TYPE" Che tipo di proprietà del veicolo ti interessa? N/A
"COMPANY_SIZE" Quali sono le dimensioni della tua azienda? N/A
"VENDITE_ANNUALE" Qual è il tuo volume annuale di vendite? N/A
"YEARS_IN_BUSINESS" Da quanti anni eserciti la tua attività? N/A
"REPARTO_JOB" In quale reparto lavori? N/A
"JOB_ROLE" Qual è il tuo ruolo professionale? N/A
"PROGRAMMA_EDUCAZIONE" Quale programma ti interessa? N/A
"CORSO_EDUCAZIONE" Quale corso ti interessa? N/A
"PRODOTTO" Quale prodotto ti interessa? N/A
"SERVIZIO" Quale servizio ti interessa? N/A
"OFFERTA" Quale offerta ti interessa? N/A
"CATEGORIA" Quale categoria ti interessa? N/A
"PREFERRED_CONTACT_METHOD" Seleziona il tuo metodo di contatto preferito N/A
"PREFERRED_LOCATION" Seleziona la tua località preferita N/A
"PREFERRED_CONTACT_TIME" Qual è l'orario migliore per contattarti? N/A
"PURCHASE_TIMELINE" Quando intendi effettuare un acquisto? N/A
"YEARS_OF_EXPERIENCE" Quanti anni di esperienza lavorativa hai accumulato? N/A
"SETTORE_JOB" In quale settore lavori? N/A
"LEVEL_OF_EDUCATION" Qual è il livello di istruzione più elevato che hai conseguito? N/A
"PROPERTY_TYPE" Quale tipo di immobile stai cercando? N/A
"REALTOR_HELP_GOAL" Per cosa vuoi chiedere aiuto a un agente immobiliare? N/A
"PROPERTY_COMMUNITY" Quale community ti interessa? N/A
"PRICE_RANGE" Quale fascia di prezzo stai cercando? N/A
"NUMBER_OF_BEDROOMS" Di quante stanze da letto hai bisogno? N/A
"PROPRIETÀ_MOBILI" Stai cercando un immobile completamente arredato? N/A
"PETS_ALLOWED_PROPERTY" Stai cercando immobili in cui sono ammessi animali domestici? N/A
"NEXT_PLANNED_PURCHASE" Qual è il prossimo prodotto che intendi acquistare? N/A
"EVENT_Enrollment_INTEREST" Vuoi registrarti a un evento? N/A
"PREFERRED_SHOPPING_PLACE" Dove vorresti fare acquisti? N/A
"FAVORITE_BRAND" Qual è il tuo brand preferito? N/A
"TRANSPORTATION_COMMERCIAL_LICENSE_TYPE" Quale tipo di licenza commerciale valida possiedi? N/A
"EVENT_BOOKING_INTEREST" Ti interessa prenotare un evento? N/A
"DESTINATION_COUNTRY" Qual è il paese di destinazione? N/A
"DESTINATION_CITY" Qual è la città di destinazione? N/A
"PARTENZA_PAESE" Qual è il paese di partenza? N/A
"PARTENZA_CITY" Qual è la città di partenza? N/A
"PARTENZA_DATE" Qual è la data di partenza? N/A
"Ritorno_DATE" Qual è la data di ritorno? N/A
"NUMBER_OF_TRAVELERS" Quante persone viaggiano con te? N/A
"TRAVEL_BUDGET" Qual è il tuo budget per il viaggio? N/A
"TRAVEL_ACCOMMODATION" Dove vuoi soggiornare durante il viaggio? N/A

Gestione dei lead

I gestori dei lead devono rispondere con i seguenti codici HTTP:

Risposta HTTP Corpo della risposta (JSON) Errore ripetibile?
200 {} N/A
4XX {"message: Testo dell'errore in formato libero, che descrive il problema nella richiesta"} No
5XX {"message: Messaggio facoltativo errore retraibile intermittente"}

Duplicati

Non è garantito che un singolo lead venga consegnato esattamente una volta, quindi il webhook di gestione dei lead deve gestire agevolmente i duplicati.