4.4 캠페인 관리

소개


판매자가 캠페인을 변경할 수 있는 권한을 부여하는 것이 중요합니다. 생성된 후에야 합니다. 변경할 수 있어야 하는 가장 중요한 측면 다음과 같습니다.

  • 예산
  • 상태 (일시중지, 사용 설정, 삭제)
  • 지역 타겟팅 (권장되나 선택사항)
  • 캠페인 생성 인터페이스에 포함한 기타 필드
를 통해 개인정보처리방침을 정의할 수 있습니다.

UX 안내


개요 페이지와 별도의 페이지에 캠페인 목록을 캠페인 실적 보고서 사용자가 캠페인을 일시중지, 삭제 및 수정할 수 있습니다.

pmax_campaign

캠페인을 수정하면 판매자는 동일한 필드를 수정할 수 있어야 합니다. 캠페인을 만드는 동안 입력을 제공함 예를 들어 다음과 같습니다.

edit_pmax

기술 가이드


소매업체를 위한 실적 최대화 캠페인을 만든 후에는 설정할 수 있습니다.

  • 캠페인 이름
  • 캠페인 예산
  • 캠페인 상태
  • 캠페인 타겟팅 기준

리소스를 변경하는 방법에 대한 자세한 개요는 개발자 가이드 노출된 서비스를 사용하여 특정 리소스를 변경할 수 있습니다. 해당 리소스를 변형시키기 위한 엔드포인트 (예: CampaignService.MutateCampaigns) 또는 여러 개의 대량 변경 기능을 사용하는 리소스와 GoogleAdsService.Mutate 엔드포인트를 반환합니다.

가능하면 일괄 변형을 이용하여 몇 가지 작업을 수행할 수 있습니다. 이를 염두에 두고 대신 GoogleAdsService.Mutate 엔드포인트를 사용하는 아키텍처 개별 리소스 엔드포인트에 액세스할 수 있습니다 이렇게 하면 제공할 예정입니다.

이후 예에서는 관련 ID가 로컬 데이터베이스입니다.

캠페인 이름

캠페인 이름을 업데이트하려면 Campaign.name를 변경해야 합니다. 필드를 확인합니다.

null (코드 포인트 0x0), NL 라인 피드 (코드 포인트 0xA)를 포함할 수 없습니다. 또는 캐리지 리턴 (코드 포인트 0xD) 문자를 이스케이프 처리해야 합니다.

캠페인 예산

예산을 교체하는 대신 기존 예산을 업데이트하는 것이 좋습니다. 새로운 예산으로 전환할 수도 있습니다 이렇게 하면 캠페인이 예상대로 지출되고 초과 게재로 이어지지 않습니다

예산 값만 업데이트해야 하며 다른 필드는 변경해서는 안 됩니다. 일일 지출의 가치 증가

Python
budget_resource_name = client.get_service(
        "CampaignBudgetService"
    ).campaign_budget_path(customer_id, budget_id)

mutate_operation = client.get_type("MutateOperation")
campaign_budget = mutate_operation.campaign_budget_operation.update

campaign_budget.resource_name = budget_resource_name

# update the budget amount to the new value

campaign_budget.amount_micros = 50000000

client.copy_from(
    mutate_operation.campaign_budget_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_budget._pb),
)
return mutate_operation

캠페인 상태

캠페인 상태 (활성화/일시중지/삭제)를 업데이트하려면 Campaign.status 필드를 설정하고 CampaignStatus enum입니다.

캠페인 상태 변형의 예는 다음 샘플 코드에서 찾을 수 있습니다. 캠페인 업데이트를 선택합니다.

캠페인 기준

캠페인 기준을 업데이트할 때는 사용자에게 노출되는 업데이트 기준이며, 이는 최소한 지역 타겟팅입니다. 언어 타겟팅을 설정할 수 있습니다. Cloud Build를 사용하여 샘플 코드의 캠페인 기준을 캠페인 기준 입찰가 조정 업데이트를 선택합니다.

지역 타겟팅 기준을 업데이트하려면 CampaignCriterion.location을 새 지역 타겟 상수의 값으로 설정합니다.

Python
criterion_rname = client.get_service(
    "CampaignCriterionService"
    ).campaign_criterion_path(
    customer_id, campaign_id, criterion_id
)

mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update

campaign_criterion.resource_name = criterion_rname

# Set the geo to the update geo targeting

campaign_criterion.location.geo_target_constant = (
   geo_target_constant_service.geo_target_constant_path("1022762")
) # Brooklyn

client.copy_from(
    mutate_operation.campaign_criterion_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation

언어 타겟팅 기준을 업데이트하려면 CampaignCriterion.language 값을 새 언어 상수로 바꿉니다.

Python
campaign_criterion_service = client.get_service("CampaignCriterionService")

criterion_rname = campaign_criterion_service.campaign_criterion_path(
   customer_id, campaign_id, criterion_id
)

mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update

campaign_criterion.resource_name = criterion_rname

# Set the language to the updated language
# For a list of all language codes, see:
# https://developers.google.com/google-ads/api/data/codes-formats#languages
campaign_criterion.language.language_constant = (
    googleads_service.language_constant_path("1000")
)  # English

client.copy_from(
    mutate_operation.campaign_criterion_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation