実装

POST スキーマ

Webhook に送信される POST リクエストは、次のスキーマを持つ JSON 形式になります。

Webhook Proto ペイロード

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

フィールドの説明

項目 説明
lead_id 特定の見込み顧客を識別する一意の文字列。

処理の推奨事項: 受け取った見込み顧客を重複とする場合は、このオプションを使用します。これはすべてのフォームで一意です。特定のリードに関連する問題を報告する場合は、この ID が必要になります。

api_version この見込み顧客スキーマが属する API バージョン。これは新しいスキーマに移行するときに使用され、現時点では無視できます。
form_id Google 広告で設定した各フォームの一意の ID。現在のプロダクトでは、(広告グループ単位や広告単位で適用するのではなく)キャンペーン単位でフォームを添付できます。

意味: 見込み顧客は form_id 単位(キャンペーン単位)でのみスライスできます。

クライアントは、処理に 8 バイトの整数を使用する必要があります。

campaign_id 添付されたリードフォームの Google 広告のキャンペーン ID または広告申込情報 ID(ディスプレイ &ビデオ 360)。

クライアントは、処理に 8 バイトの整数を使用する必要があります。

adgroup_id Google 広告の広告グループ ID は、キャンペーン内の特定の広告グループを区別するために使用されます。(動画広告とファインド広告からの見込み顧客にのみ利用可能)

クライアントは、処理に 8 バイトの整数を使用する必要があります。

creative_id Google 広告のクリエイティブ ID は、広告グループ内の特定のクリエイティブを区別するために使用されます。(動画広告とファインド広告からの見込み顧客にのみ利用可能)

クライアントは、処理に 8 バイトの整数を使用する必要があります。

gcl_id Google クリック ID: 広告の各クリックのトラッキングに使用される一意のパラメータ。
google_key 広告主が各フォームで設定したキー。

推奨事項の処理: 見込み顧客が有効であることを確信できるようにするため、Webhook で受け取ったリードを処理する前の google_key の検証は、Google 広告での設定と同じです。この鍵は機密情報として扱い、広く漏洩していると思われる場合は Google 広告で更新してください。

is_test このフィールドには「オプション」のセマンティックがあります。値が true の場合、この見込み顧客をテストリードとして扱います。値が false の場合、またはフィールドが存在しない場合は、この見込み顧客を有効な本番環境の見込み顧客として扱います。
user_column_data ユーザーが送信したデータを送信する Key-Value のタプルの繰り返し。
  • user_column_data.column_id: ユーザーが送信したデータ型。
  • User_column_data.column_value: データ型ごとに、データ型に応じて値のタイプが入力されます。現在のすべてのデータ型の値は user_column_data.string_value です。
  • user_column_data.column_name: ユーザーが送信したデータ型の、人が読める形式のテキスト。このフィールドは常に入力されるとは限りません。代わりに column_id を使用してください。
user_column_data.column_id user_column_data.string_value のコンテンツ user_column_data.column_name (非推奨)
「FULL_NAME」 ユーザーの氏名。 "氏名"
"FIRST_NAME" ユーザーの名前。 「名」
"LAST_NAME" ユーザーの姓。 「姓」
"EMAIL" ユーザーのメールアドレス。 「ユーザーのメールアドレス」
"PHONE_NUMBER" E.164 形式のユーザーの電話番号(例:"+11234567890". 「ユーザーの電話番号」
「POSTAL_CODE」 ユーザーの郵便番号。 「郵便番号」
「COMPANY_NAME」 ユーザーの会社名。 「会社名」
"JOB_TITLE" ユーザーの役職。 「役職」
「WORK_EMAIL」 ユーザーの仕事用メールアドレス。 「仕事用メールアドレス」
「WORK_PHONE」 ユーザーの仕事用電話。 「仕事用の電話」
「STREET_ADDRESS」 ユーザーの番地。 「住所」
「CITY」 ユーザーの市区町村。 「市区郡町村」
「地域」 ユーザーの地域。 「地域」
「COUNTRY」 ユーザーの国。 "Country"
「VEHICLE_MODEL」 どのモデルに興味がありますか? なし
「VEHICLE_TYPE」 どのタイプの車に興味がありますか? なし
「PREFERRED_DEALERSHIP」 ご希望のディーラーをお選びください。 なし
「VEHICLE_PURCHASE_TIMELINE」 車の購入はいつごろを予定していますか? なし
「VEHICLE_CONDITION」 どのような状態の車に興味がありますか? なし
「VEHICLE_OWNERSHIP」 車をお持ちですか? 「N/A」
「VEHICLE_PAYMENT_TYPE」 車を所有するにあたり、どのような形でのお支払いをお考えですか? なし
「COMPANY_SIZE」 会社の規模をお知らせください。 なし
「ANNUAL_SALES」 年間売上を教えてください。 なし
「YEARS_IN_BUSINESS」 営業年数はどのくらいですか? なし
「JOB_DEPARTMENT」 仕事の部門をお聞かせください。 なし
「JOB_ROLE」 役職をお聞かせください。 なし
「EDUCATION_PROGRAM」 どのプログラムに興味がありますか? なし
「EDUCATION_COURSE」 どのコースに興味がありますか? なし
「プロダクト」 どの商品に興味がありますか? なし
「サービス」 どのサービスに興味がありますか? なし
「OFFER」 どの特典に興味がありますか? なし
「CATEGORY」 興味があるカテゴリはどれですか? なし
「PREFERRED_CONTACT_METHOD」 ご希望の連絡方法をお選びください なし
"PREFERRED_LOCATION" お好みの場所をお選びください なし
「PREFERRED_CONTACT_TIME」 ご都合のよい連絡時間はいつですか? なし
「PURCHASE_TIMELINE」 いつ頃の購入をご検討ですか? なし
「YEARS_OF_EXPERIENCE」 職務の経験年数はどれくらいですか? なし
「JOB_INDUSTRY」 どのような業種ですか? なし
「LEVEL_OF_EDUCATION」 最終学歴をお聞かせください。 なし
「PROPERTY_TYPE」 どのような物件をお探しですか? なし
「REALTOR_HELP_GOAL」 不動産仲介業者にどのようなサポートをお求めですか? なし
「PROPERTY_COMMUNITY」 どのようなコミュニティに興味がありますか? なし
"PRICE_RANGE" ご希望の価格帯をお聞かせください。 なし
「NUMBER_OF_BEDROOMS」 寝室の数はいくつをご希望ですか? なし
「FURNISHED_PROPERTY」 家具付きの物件をお探しですか? なし
"PETS_ALLOWED_PROPERTY" ペット可の物件をお探しですか? なし
「NEXT_PLANNED_PURCHASE」 次に購入する予定の商品は何ですか? なし
「EVENT_SIGNUP_INTEREST」 イベントに申し込みますか? なし
「PREFERRED_SHOPPING_PLACES」 どこでショッピングをしたいですか? なし
「FAVORITE_BRAND」 お気に入りのブランドを教えてください。 なし
"TRANSPORTATION_COMMERCIAL_LICENSE_TYPE" お持ちの有効な営業許可の種類をお聞かせください。 なし
「EVENT_BOOKING_INTEREST」 イベントの予約をお考えですか? なし
"DESTINATION_COUNTRY" 目的国をお知らせください。 なし
「目的地: 目的地」 目的地の都市をお知らせください。 なし
「↗_COUNTRY」 出発国をお知らせください。 なし
「出発都市」 出発地の都市をお知らせください。 なし
「出発日: 出発日」 出発日をお知らせください。 なし
「RETURN_DATE」 復路の出発日をお知らせください。 なし
「NUMBER_OF_TRAVELERS」 何人でのご旅行ですか? なし
「TRAVEL_budget」 旅行の予算をお聞かせください。 なし
「TRAVEL_ACCOMMODATION」 旅行中に滞在する場所をお知らせください。 なし

セールスリードのハンドリング

リードハンドラは、次の HTTP コードで応答する必要があります。

HTTP レスポンス レスポンスの本文(JSON) 再試行可能なエラー
200 {} なし
4XX {"message: 自由形式のエラーテキスト。リクエストの問題点を説明"} ×
5XX {"message: Intermittent retraible error optional message"}

重複

1 件のセールスリードが 1 回だけ配信されるとは限らないため、リード処理 Webhook では重複を適切に処理する必要があります。