POST 스키마
webhook에 전송되는 POST 요청은 다음 스키마가 포함된 JSON 형식입니다.
웹훅 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;
// 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;
}
필드 설명
필드 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
lead_id |
특정 리드를 식별하는 고유 문자열입니다.
처리 권장사항: 수신된 리드의 중복을 제거하는 데 사용합니다. 이 ID는 모든 양식에서 고유합니다. 특정 리드와 관련된 문제를 신고할 때 이 ID가 필요합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
api_version |
이 리드 스키마가 속한 API 버전입니다. 새 스키마로 이전할 때 사용되며 지금은 무시해도 됩니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
form_id |
Google Ads에 구성된 각 양식의 고유 ID입니다. 현재 제품에서는 광고 그룹 또는 광고 수준에서 연결하는 대신 캠페인 수준으로 양식을 연결할 수 있습니다.
의미: 리드는 클라이언트는 처리할 때 8바이트 정수를 사용해야 합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
campaign_id |
첨부된 리드 양식의 Google Ads 캠페인 ID 또는 광고 항목 ID (Display & Video 360)입니다.
클라이언트는 처리할 때 8바이트 정수를 사용해야 합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
adgroup_id |
Google Ads 광고 그룹 ID는 캠페인의 특정 광고 그룹을 구별하는 데 사용됩니다. (동영상 및 디스커버리 광고에서 발생한 리드에만 사용할 수 있음)
클라이언트는 처리할 때 8바이트 정수를 사용해야 합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
creative_id |
Google Ads 광고 소재 ID는 광고 그룹에서 특정 광고 소재를 구분하는 데 사용됩니다. (동영상 및 디스커버리 광고에서 발생한 리드에만 사용할 수 있음)
클라이언트는 처리할 때 8바이트 정수를 사용해야 합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gcl_id |
광고의 각 클릭을 추적하는 데 사용되는 고유한 매개변수인 Google 클릭 ID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
google_key |
광고주가 각 양식에 구성한 키입니다.
처리 권장사항: webhook을 통해 수신된 리드를 처리하기 전에 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
is_test |
이 필드는 '선택사항' 시맨틱을 갖습니다. 값이 true이면 이 리드를 테스트 리드로 처리합니다. 값이 false이거나 필드가 없으면 이 리드를 유효한 프로덕션 리드로 처리합니다. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
user_column_data |
사용자가 제출한 데이터를 전송하는 반복되는 키-값 튜플입니다.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
asset_group_id |
이 필드는 실적 최대화 캠페인에 대해서만 채워집니다.
리드 양식이 포함된 컨테이너 ID를 나타냅니다.
클라이언트는 처리할 때 8바이트 정수를 사용해야 합니다. |
리드 처리
리드 핸들러는 다음 HTTP 코드로 응답해야 합니다.
HTTP 응답 | 응답 본문 (JSON) | 재시도 가능한 오류인가요? |
---|---|---|
200 |
{} | 해당 사항 없음 |
4XX |
{"message: 요청에 문제가 무엇인지 설명하는 자유 형식의 오류 텍스트"} | 아니요 |
5XX |
{"message: Intermittent retraible error optional message"} | 예 |
중복
단일 리드가 정확히 한 번만 전송된다고 보장할 수 없으므로 리드 처리 웹훅은 중복을 적절하게 처리해야 합니다.