API 구조

동영상: 2019년 워크숍의 서비스 및 리소스 강연 확인하기

이 가이드에서는 Google Ads API를 구성하는 주요 구성요소를 소개합니다. 이 Google Ads API는 리소스서비스로 구성되어 있습니다. 리소스는 Google Ads 서비스는 Google Ads 항목을 검색하고 조작합니다.

객체 계층 구조

Google Ads 계정은 객체의 계층 구조로 볼 수 있습니다.

캠페인 모델

  • 계정의 최상위 리소스는 고객입니다.

  • 각 고객에 하나 이상의 활성 사용자가 있습니다. 캠페인을 운영할 수 있습니다.

  • 각 캠페인에는 사용된 광고 그룹이 하나 이상 포함되어 있습니다. 논리적인 모음으로 광고를 그룹화합니다.

  • 광고그룹 광고는 현재 운영 중인 있습니다 광고당 하나의 광고 그룹 광고만 포함할 수 있는 앱 캠페인은 제외 각 광고그룹에 하나 이상의 광고그룹 광고가 포함됩니다.

하나 이상의 AdGroupCriterion을 연결할 수 있습니다. 또는 CampaignCriterion를 광고그룹에 추가하거나 확인할 수 있습니다. 이는 광고가 트리거되는 방식을 정의하는 기준을 나타냅니다.

기준 유형에는 여러 가지가 있지만 키워드, 연령대, 위치 등의 항목을 만들 수 있습니다 캠페인에서 정의된 기준 캠페인 내의 다른 모든 리소스에 영향을 줍니다. 또한 포드 내에서 캠페인 전체 예산 및 날짜

마지막으로 확장 프로그램을 연결할 수 있습니다. 관리할 수 있습니다. 확장 프로그램을 사용하면 전화번호, 주소, 프로모션 등의 정보를 광고에 직접 추가할 수 있습니다.

리소스

리소스는 Google Ads 계정 내의 항목을 나타냅니다. CampaignAdGroup가 두 가지 예입니다. 리소스를 제공합니다

객체 ID

Google Ads에서 모든 객체는 고유 ID로 식별됩니다. 이러한 ID 중 일부는 모든 Google Ads 계정에서 전역적으로 고유하고, 일부는 내에서만 고유합니다. .

객체 ID 고유성의 범위 전 세계적으로 고유할까요?
예산 ID 전역
캠페인 ID 글로벌 수준
AdGroup ID 전역
광고 ID 광고그룹 아니요. 하지만 (AdGroupId, AdId) 쌍은 전역적으로 고유합니다.
AdGroup기준 ID 광고그룹 아니요. 하지만 (AdGroupId, CriterionId) 쌍은 전역적으로 고유합니다.
캠페인 기준 ID 캠페인 아니요. 하지만 (CampaignId, CriterionId) 쌍은 전역적으로 고유합니다.
광고 확장 캠페인 아니요. 하지만 (CampaignId, AdExtensionId) 쌍은 전역적으로 고유합니다.
피드 ID 글로벌 수준
Feed Item ID 글로벌 수준
Feed Attribute ID 피드 아니요
Feed Mapping ID 글로벌 수준
라벨 ID 전역
사용자 목록 ID 전역

이러한 ID 규칙은 Google Ads의 로컬 스토리지를 설계할 때 유용할 수 있습니다. 객체입니다.

일부 객체는 여러 항목 유형에 사용할 수 있습니다. 이러한 경우 객체는 에는 콘텐츠를 설명하는 type 필드가 포함됩니다. 예를 들어 AdGroupAd는 텍스트 광고, 호텔 광고, 지역 광고 등이 있습니다. 이 값은 AdGroupAd.ad.type 필드로 대체되고 AdType enum입니다.

리소스 이름

각 리소스는 resource_name 문자열로 고유하게 식별됩니다. 리소스와 상위 요소를 경로에 연결합니다. 예: 캠페인 형식은 다음과 같습니다.

customers/customer_id/campaigns/campaign_id

따라서 고객 ID가 있는 Google Ads 계정에서 ID가 987654인 캠페인의 경우 1234567인 경우 resource_name는 다음과 같습니다.

customers/1234567/campaigns/987654

서비스

서비스를 사용하면 Google Ads 항목을 검색하고 수정할 수 있습니다. 세 가지 유형이 있는데 서비스의 구성: 수정, 객체 및 통계 검색, 메타데이터 검색 제공합니다

객체 수정 (변경)

이러한 서비스는 mutate를 사용하여 연결된 리소스 유형의 인스턴스를 수정합니다. 합니다. 또한 단일 리소스를 검색하는 get 요청을 제공합니다. 이는 리소스의 구조를 검사하는 데 유용할 수 있습니다.

서비스 예:

mutate 요청에는 상응하는 operation 객체가 포함되어야 합니다. 대상 예를 들어 CampaignService.MutateCampaigns 메서드에는 하나 이상의 CampaignOperation의 인스턴스 자세한 내용은 다음 객체의 객체 변경 및 검사 작업을 자세히 살펴보겠습니다.

동시 변경

하나의 Google Ads 객체는 둘 이상의 소스에서 동시에 수정할 수 없습니다. 이 여러 사용자가 동일한 객체를 업데이트하는 경우 오류가 발생할 수 있음 또는 여러 가지 속성을 사용하여 Google Ads 객체를 동시에 변형하는 경우 스레드가 필요합니다. 여기에는 동일한 스레드의 여러 스레드에 있는 객체를 업데이트하는 것도 포함됩니다. 서로 다른 애플리케이션 (예: 앱과 특정 앱)에서 Google Ads UI 세션입니다.

API는 업데이트하기 전에 객체를 잠그는 방법을 제공하지 않습니다. 2개의 소스가 있는 경우 동시에 객체를 변경하려고 시도하면 API가 DatabaseError.CONCURRENT_MODIFICATION_ERROR

비동기식 변경과 동기식 변경 비교

Google Ads API의 뮤테이션 메서드는 동기식입니다. API 호출이 응답만 반환함 객체가 변형된 후 각 객체에 대한 응답을 기다려야 합니다. 이 접근 방식은 비교적 간단하지만 프로세스가 불필요하면 부하 분산에 부정적인 영향을 미치고 통화가 완료될 때까지 기다립니다.

또 다른 방법은 BatchJobService는 여러 서비스에 대한 작업을 완료할 수 있습니다. 한 번 일괄 작업이 제출되면 Google Ads API 서버는 작업을 비동기식으로 실행합니다. 프로세스를 자유롭게 하여 다른 작업을 수행할 수 있습니다 주기적으로 확인할 수 있습니다

일괄 처리 가이드에서 사용할 수 있습니다.

변형 검증

대부분의 변경 요청은 실제로 호출을 실행하지 않고도 검증이 가능합니다. 비교할 수 있습니다. 누락된 매개변수 및 잘못된 매개변수 요청을 테스트할 수 있습니다. 필드 값을 제어할 수 있습니다

이 기능을 사용하려면 요청의 validate_only 부울 필드(선택사항)를 true입니다. 그런 다음 요청이 실제로 그것에 성공하기를 원하는 것처럼 최종 실행은 건너뜁니다. 오류가 발견되지 않으면 반환됩니다. 유효성 검사에 실패하면 응답의 오류 메시지는 장애점을 나타냅니다

validate_only는 일반적인 정책에 대한 광고를 테스트하는 데 특히 유용합니다. 있습니다. 다음과 같은 정책을 위반하는 광고는 자동으로 거부됩니다. 특정 단어, 구두점, 대문자 또는 길이 포함 단 하나의 악성 광고 전체 배치가 실패할 수 있습니다 validate_only 내에서 새 광고 테스트 이러한 위반을 드러낼 수 있습니다. 자세한 내용은 코드 예제를 참조하세요. 정책 위반 오류를 확인하여 살펴보겠습니다

객체 및 성능 통계 가져오기

GoogleAdsService 서비스는 객체 및 성능 통계를 가져오는 서비스입니다

GoogleAdsService의 모든 SearchSearchStream 요청에는 쿼리, 검색할 리소스 속성 및 성능 측정항목, 요청을 필터링하는 데 사용할 조건자 및 추가 검색을 위해 사용할 세그먼트 분석할 수 있습니다. 쿼리 형식에 대한 자세한 내용은 Google Ads 쿼리 언어 가이드를 참조하세요.

메타데이터 검색

GoogleAdsFieldService가 검색 Google Ads API의 리소스에 대한 메타데이터(예: 리소스 및 해당 데이터 유형을 지정할 수 있습니다

이 서비스는 GoogleAdsService 편의를 위해 가 반환하는 정보 GoogleAdsFieldService도 사용할 수 있습니다. 자세한 내용은 필드 참조 문서를 참조하세요.