Implementacja

Schemat POST

Żądanie POST wysłane do webhooka będzie mieć format JSON z tym schematem:

Ładunek Proto webhooka

// 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;
}

Opis pola

Pole Opis
lead_id Unikalny ciąg znaków, który identyfikuje dany kontakt do potencjalnego klienta.

Zalecenie dotyczące postępowania: użyj tej opcji do usuwania duplikatów otrzymanych kontaktów do potencjalnych klientów. Będzie on niepowtarzalny we wszystkich formularzach. Ten identyfikator będzie wymagany w przypadku zgłaszania problemów związanych z konkretnym kontaktem do potencjalnego klienta.

api_version Wersja interfejsu API, do której należy ten schemat potencjalnego klienta. Będzie ona używana podczas migracji do nowego schematu. Na razie można ją zignorować.
form_id Unikalny identyfikator każdego formularza skonfigurowanego w Google Ads. Obecna usługa umożliwia załączenie formularza z poziomem kampanii (w porównaniu z dołączaniem na poziomie grupy reklam lub reklamy).

Konsekwencje: pozyskiwanie potencjalnych klientów można dzielić na segmenty tylko na poziomie form_id (czyli na poziomie kampanii).

Klienci muszą przetworzyć 8 bajtów liczb całkowitych.

campaign_id Identyfikator kampanii Google Ads lub identyfikatora elementu zamówienia (Display & Video 360) załączonego formularza kontaktowego.

Klienci muszą przetworzyć 8-bajtową liczbę całkowitą.

adgroup_id Identyfikator grupy reklam Google Ads służy do rozróżnienia konkretnej grupy reklam w kampanii. (Dostępne tylko w przypadku potencjalnych klientów z reklam wideo i reklam Discovery)

Klienci muszą przetworzyć 8-bajtową liczbę całkowitą.

creative_id Identyfikator kreacji Google Ads służy do rozróżniania konkretnej kreacji w grupie reklam. (Dostępne tylko w przypadku potencjalnych klientów z reklam wideo i reklam Discovery)

Klienci muszą przetworzyć 8-bajtową liczbę całkowitą.

gcl_id Identyfikator kliknięcia Google: unikalny parametr służący do śledzenia każdego kliknięcia reklamy.
google_key Klucz konfigurowany przez reklamodawcę w przypadku każdego formularza.

Rekomendacja dotycząca postępowania: zanim przetworzymy potencjalnego klienta otrzymanego przez webhooka, weryfikacja google_key jest taka sama jak konfiguracja w Google Ads. Dzięki temu zyskasz większą pewność, że kontakt do potencjalnego klienta jest prawidłowy. Zachowaj ten klucz jako poufny i zaktualizuj go w Google Ads, jeśli istnieją powody, aby sądzić, że został on upubliczniony.

is_test To pole ma znaczenie semantyczne „opcjonalne”. Jeśli wartość to prawda, potraktuj tego potencjalnego klienta jako potencjalnego klienta testowego. Jeśli wartość to false (fałsz) lub pole nie jest podane, potraktuj tego potencjalnego klienta jako prawidłowy kontakt do potencjalnego klienta.
user_column_data Powtarzająca się krotka klucz-wartość przesyłająca dane przesłane przez użytkownika.
  • user_column_data.column_id: typ danych przesłany przez użytkownika.
  • User_column_data.column_value: w przypadku każdego typu danych odpowiedni typ wartości będzie uzupełniony w zależności od typu danych. Wszystkie nasze obecne typy danych mają wartość user_column_data.string_value.
  • user_column_data.column_name: czytelny dla człowieka tekst typu danych przesłanego przez użytkownika. To pole może nie zawsze być wypełnione. Zamiast niego użyj column_id .
user_column_data.column_id Zawartość kolumny_użytkownika_data.string_value user_column_data.column_name (wycofane)
„FULL_NAME” Imię i nazwisko użytkownika. „Imię i nazwisko”
„FIRST_NAME” Imię użytkownika. „Imię”
„LAST_NAME” Nazwisko użytkownika. „Nazwisko”
"EMAIL" Adres e-mail użytkownika. „Adres e-mail użytkownika”
„PHONE_NUMBER” Telefon użytkownika w formacie E.164, np. "+11234567890". „Telefon użytkownika”
„POSTAL_CODE” Kod pocztowy użytkownika. „Kod pocztowy”
„COMPANY_NAME” Nazwa firmy użytkownika. „Nazwa firmy”
"JOB_TITLE" Stanowisko użytkownika. „Stanowisko”
„WORK_EMAIL” Służbowy adres e-mail użytkownika. „Służbowy adres e-mail”
„WORK_PHONE” Telefon służbowy użytkownika. „Telefon służbowy”
„STREET_ADDRESS” Adres pocztowy użytkownika. „Adres”
„CITY” Miasto użytkownika. „Miasto”
„REGION” Region użytkownika. „Region”
„COUNTRY” Kraj użytkownika. „Kraj”
„VEHICLE_MODEL” Który model Cię interesuje? Nie dotyczy
„VEHICLE_TYPE” Jaki typ pojazdu Cię interesuje? Nie dotyczy
„PREFERRED_DEALERSHIP” Wybierz preferowany salon sprzedaży Nie dotyczy
„VEHICLE_PURCHASE_TIMELINE” Kiedy zamierzasz kupić pojazd? Nie dotyczy
„VEHICLE_Condition” Jaki stan pojazdu Cię interesuje? Nie dotyczy
„VEHICLE_OWNERSHIP” Czy masz pojazd? „Nie dotyczy”
„VEHICLE_PAYMENT_TYPE” Jaka forma własności pojazdu Cię interesuje? Nie dotyczy
„COMPANY_SIZE” Jak duża jest Twoja firma? Nie dotyczy
„ANNUAL_SALES” Jaka jest Twoja roczna wielkość sprzedaży? Nie dotyczy
„YEARS_IN_BUSINESS” Od ilu lat działa Twoja firma? Nie dotyczy
„ZADANIE_ZADANIA” W jakim dziale pracujesz? Nie dotyczy
„JOB_ROLE” Jakie zajmujesz stanowisko? Nie dotyczy
„EDUCATION_PROGRAM” Jaki program Cię interesuje? Nie dotyczy
„EDUCATION_CURSE” Jaki kurs Cię interesuje? Nie dotyczy
„PRODUCT” Jaki produkt Cię interesuje? Nie dotyczy
„SERVICE” Jaka usługa Cię interesuje? Nie dotyczy
„OFFER” Jaka oferta Cię interesuje? Nie dotyczy
„CATEGORY” Jaka kategoria Cię interesuje? Nie dotyczy
„PREFERRED_CONTACT_METHOD” Wybierz preferowaną metodę kontaktu Nie dotyczy
"PREFERRED_LOCATION" Wybierz preferowaną lokalizację Nie dotyczy
„PREFERRED_CONTACT_TIME” W jakich godzinach najlepiej się z Tobą kontaktować? Nie dotyczy
„PURCHASE_TIMELINE” Kiedy chcesz dokonać zakupu? Nie dotyczy
„YEARS_OF_EXPERIENCE” Ile masz lat doświadczenia w pracy? Nie dotyczy
„ZADANIE_INDUSTRY” W jakiej branży pracujesz? Nie dotyczy
„LEVEL_OF_EDUCATION” Jakie masz wykształcenie? Nie dotyczy
„PROPERTY_TYPE” Jakiego typu nieruchomości szukasz? Nie dotyczy
„REALTOR_HELP_GOAL” Dlaczego potrzebujesz usług agencji nieruchomości? Nie dotyczy
„PROPERTY_COMMUNITY” Jaka społeczność Cię interesuje? Nie dotyczy
"PRICE_RANGE" Jaki przedział cenowy Cię interesuje? Nie dotyczy
„NUMBER_OF_BEDROOMS” Ile sypialni ma mieć dom lub mieszkanie? Nie dotyczy
„FURNISHED_PROPERTY” Czy szukasz w pełni umeblowanej nieruchomości? Nie dotyczy
"PETS_ALLOWED_PROPERTY" Czy szukasz domu lub mieszkania, w którym wolno trzymać zwierzęta? Nie dotyczy
„NEXT_PLANNED_PURCHASE” Jaki produkt zamierzasz kupić w następnej kolejności? Nie dotyczy
„EVENT_SIGNUP_INTEREST” Czy chcesz zarejestrować się na wydarzenie? Nie dotyczy
„PREFERRED_SHOPPING_PLACES” Gdzie chcesz robić zakupy? Nie dotyczy
„FAVORITE_BRAND” Jaka jest Twoja ulubiona marka? Nie dotyczy
"TRANSPORTATION_COMMERCIAL_LICENSE_TYPE" Jakim typem licencji komercyjnej dysponujesz? Nie dotyczy
„EVENT_BOOKING_INTEREST” Czy chcesz zarezerwować miejsce na wydarzenie? Nie dotyczy
"DESTINATION_COUNTRY" Do jakiego kraju chcesz jechać? Nie dotyczy
„DESTINATION_CITY” Do jakiego miasta chcesz jechać? Nie dotyczy
„DEPARTURE_COUNTRY” Z jakiego kraju wyruszasz? Nie dotyczy
„DEPARTURE_CITY” Z jakiego miasta wyruszasz? Nie dotyczy
„DEPARTURE_DATE” Podaj datę wyjazdu. Nie dotyczy
„RETURN_DATE” Którego dnia wracasz? Nie dotyczy
„NUMBER_OF_TRAVELERS” Z iloma osobami podróżujesz? Nie dotyczy
„TRAVEL_BUDGET” Jaki jest Twój budżet na podróż? Nie dotyczy
„TRAVEL_ACCOMMODATION” Gdzie chcesz się zatrzymać w czasie podróży? Nie dotyczy

Obsługa potencjalnych klientów

Moduły obsługi potencjalnych klientów powinny odpowiadać za pomocą tych kodów HTTP:

Odpowiedź HTTP Treść odpowiedzi (JSON) Błąd, który można ponownie naprawić?
200 {} Nie dotyczy
4XX {"message: Free form error text, description, descriptions What is not down with request"} Nie
5XX {"message: Intermittent retraible error optional message"} Tak

Duplikaty

Nie ma gwarancji, że pojedynczy kontakt do potencjalnego klienta zostanie dostarczony dokładnie raz, dlatego webhooka do obsługi potencjalnych klientów powinien dobrze obsługiwać duplikaty.