Penerapan

Skema POST

Permintaan POST yang dikirim ke webhook akan dalam format JSON dengan skema berikut:

Payload Proto 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;
  // Asset group id represents the container for holding assets, associated
  // urls, hints and criteria that will be used to select assets and for
  // optimization. This field is only populated for Performance Max campaigns.
  int64 asset_group_id = 11;
}

Deskripsi kolom

Kolom Deskripsi
lead_id String unik yang mengidentifikasi prospek tertentu.

Menangani rekomendasi: Gunakan ini untuk menghapus duplikat prospek yang diterima. ID ini akan unik di semua formulir. Saat melaporkan masalah yang terkait dengan prospek tertentu, ID ini akan diperlukan.

api_version Versi API tempat skema prospek ini berada. Ini akan digunakan saat bermigrasi ke skema baru, dan dapat diabaikan untuk saat ini.
form_id ID unik untuk setiap formulir yang dikonfigurasi di Google Ads. Produk saat ini memungkinkan lampiran formulir dengan tingkat kampanye (vs. lampiran di tingkat grup iklan atau iklan itu sendiri).

Implikasi: Prospek hanya dapat dikelompokkan di tingkat form_id (yaitu, di tingkat kampanye).

Klien harus menggunakan bilangan bulat 8 byte untuk diproses.

campaign_id ID kampanye Google Ads atau ID item baris (Display & Video 360) dari formulir prospek yang dilampirkan.

Klien harus menggunakan bilangan bulat 8 byte untuk diproses.

adgroup_id ID grup iklan Google Ads digunakan untuk membedakan grup iklan tertentu dalam kampanye. (Hanya tersedia untuk prospek dari iklan video dan discovery)

Klien harus menggunakan bilangan bulat 8 byte untuk diproses.

creative_id ID materi iklan Google Ads digunakan untuk membedakan materi iklan tertentu dalam grup iklan. (Hanya tersedia untuk prospek dari iklan video dan discovery)

Klien harus menggunakan bilangan bulat 8 byte untuk diproses.

gcl_id ID klik Google, parameter unik yang digunakan untuk melacak setiap klik iklan.
google_key Kunci yang dikonfigurasi oleh pengiklan dengan setiap formulir.

Rekomendasi penanganan: Sebelum memproses prospek yang diterima melalui webhook, memvalidasi google_key sama dengan mengonfigurasi di Google Ads untuk lebih yakin bahwa prospek tersebut valid. Simpan kunci ini secara rahasia dan perbarui di Google Ads jika ada alasan untuk meyakini bahwa kunci ini telah bocor secara luas.

is_test Kolom ini memiliki semantik "opsional". Jika nilainya benar, perlakukan prospek ini sebagai prospek pengujian. Jika nilainya salah atau jika kolom tidak ada, anggap prospek ini sebagai prospek produksi yang valid.
user_column_data Tupel nilai kunci berulang yang mengirimkan data yang dikirimkan pengguna.
  • user_column_data.column_id: Jenis data yang dikirimkan oleh pengguna.
  • User_column_data.column_value: Untuk setiap jenis data, akan ada jenis nilai yang diisi bergantung pada jenis data. Semua jenis data saat ini memiliki nilai user_column_data.string_value.
  • user_column_data.column_name: Teks jenis data yang dapat dibaca manusia dan dikirimkan oleh pengguna. Kolom ini mungkin tidak selalu diisi, gunakan column_id sebagai gantinya.
user_column_data.column_id Konten User_column_data.string_value user_column_data.column_name (Tidak digunakan lagi)
"FULL_NAME" Nama lengkap pengguna. "Nama Lengkap"
"FIRST_NAME" Nama depan pengguna. "Nama Depan"
"LAST_NAME" Nama belakang pengguna. "Nama Belakang"
"EMAIL" Email pengguna. "Email Pengguna"
"PHONE_NUMBER" Telepon Pengguna dalam format E.164, misalnya, "+11234567890". "Ponsel Pengguna"
"POSTAL_CODE" Kode pos pengguna. "Kode Pos"
"COMPANY_NAME" Nama perusahaan pengguna. "Nama Perusahaan"
"JOB_TITLE" Jabatan pengguna. "Judul Pekerjaan"
"WORK_EMAIL" Email kerja pengguna. "Email Kantor"
"WORK_PHONE" Telepon kantor pengguna. "Ponsel Kantor"
"STREET_ADDRESS" Alamat pengguna. "Alamat Jalan"
"CITY" Kota pengguna. "Kota"
"REGION" Wilayah pengguna. "Region"
"COUNTRY" Negara pengguna. "Negara"
"VEHICLE_MODEL" Model manakah yang Anda minati? T/A
"VEHICLE_TYPE" Jenis kendaraan apa yang Anda minati? T/A
"PREFERRED_DEALERSHIP" Pilih dealer yang Anda inginkan T/A
"VEHICLE_PURCHASE_TIMELINE" Kapan Anda berencana membeli kendaraan? T/A
"VEHICLE_CONDITION" Jenis kondisi kendaraan apa yang Anda minati? T/A
"VEHICLE_OWNERSHIP" Apakah Anda memiliki kendaraan pribadi? "T/A"
"VEHICLE_PAYMENT_TYPE" Opsi kepemilikan kendaraan apa yang Anda minati? T/A
"COMPANY_SIZE" Seberapa besar perusahaan Anda? T/A
"ANNUAL_SALES" Seberapa besar volume penjualan tahunan Anda? T/A
"YEARS_IN_BUSINESS" Sudah berapa lama Anda berbisnis? T/A
"JOB_DEPARTMENT" Apa departemen pekerjaan Anda? T/A
"JOB_ROLE" Apa peran pekerjaan Anda? T/A
"EDUCATION_PROGRAM" Program manakah yang Anda minati? T/A
"EDUCATION_COURSE" Manakah kursus yang Anda minati? T/A
"PRODUCT" Produk manakah yang Anda minati? T/A
"SERVICE" Layanan manakah yang Anda minati? T/A
"OFFER" Manakah penawaran yang menarik bagi Anda? T/A
"CATEGORY" Manakah kategori yang Anda minati? T/A
"PREFERRED_CONTACT_METHOD" Pilih metode kontak yang Anda inginkan T/A
"PREFERRED_LOCATION" Pilih lokasi yang Anda inginkan T/A
"PREFERRED_CONTACT_TIME" Kapan waktu yang sesuai untuk menghubungi Anda? T/A
"PURCHASE_TIMELINE" Kapan Anda akan melakukan pembelian? T/A
"YEARS_OF_EXPERIENCE" Berapa tahun pengalaman kerja yang Anda miliki? T/A
"JOB_INDUSTRY" Apa industri tempat Anda bekerja? T/A
"LEVEL_OF_EDUCATION" Apa pendidikan terakhir Anda? T/A
"PROPERTY_TYPE" Jenis properti apa yang Anda cari? T/A
"REALTOR_HELP_GOAL" Bantuan apa yang Anda butuhkan dari agen properti? T/A
"PROPERTY_COMMUNITY" Komunitas apa yang Anda minati? T/A
"PRICE_RANGE" Berapa rentang harga yang Anda cari? T/A
"NUMBER_OF_BEDROOMS" Berapa kamar yang Anda cari? T/A
"FURNISHED_PROPERTY" Apakah Anda mencari properti dengan furnitur lengkap? T/A
"PETS_ALLOWED_PROPERTY" Apakah Anda mencari properti yang mengizinkan hewan peliharaan? T/A
"NEXT_PLANNED_PURCHASE" Produk apa yang akan Anda beli selanjutnya? T/A
"EVENT_SIGNUP_INTEREST" Apakah Anda ingin mendaftar untuk suatu acara? T/A
"PREFERRED_SHOPPING_PLACES" Di manakah Anda tertarik untuk berbelanja? T/A
"FAVORITE_BRAND" Apa merek favorit Anda? T/A
"TRANSPORTATION_COMMERCIAL_LICENSE_TYPE" Apa jenis SIM kendaraan niaga yang valid yang Anda miliki? T/A
"EVENT_BOOKING_INTEREST" Apakah Anda tertarik untuk memesan tiket acara? T/A
"DESTINATION_COUNTRY" Apa negara tujuan Anda? T/A
"DESTINATION_CITY" Apa kota tujuan Anda? T/A
"DEPARTURE_COUNTRY" Dari negara mana Anda berangkat? T/A
"DEPARTURE_CITY" Dari kota mana Anda berangkat? T/A
"DEPARTURE_DATE" Kapan tanggal keberangkatan Anda? T/A
"RETURN_DATE" Kapan tanggal kepulangan Anda? T/A
"NUMBER_OF_TRAVELERS" Berapa banyak teman perjalanan Anda? T/A
"TRAVEL_BUDGET" Berapa anggaran perjalanan Anda? T/A
"TRAVEL_ACCOMMODATION" Di mana Anda ingin bermalam saat melakukan perjalanan? T/A
asset_group_id Kolom ini hanya diisi untuk kampanye Performa Maksimal. Ini menunjukkan ID penampung yang berisi formulir prospek.

Klien harus menggunakan bilangan bulat 8 byte untuk diproses.

Penanganan prospek

Pengendali prospek harus merespons dengan kode HTTP berikut:

Respons HTTP Isi respons (JSON) Error yang dapat dicoba lagi?
200 {} T/A
4XX {"message: Free form error text, describing what was wrong with request"} Tidak
5XX {"message: Intermittent retraible error optional message"} Ya

Duplikat

Satu prospek tidak dijamin akan dikirim tepat satu kali, sehingga webhook penanganan prospek harus menangani duplikat dengan baik.