쇼핑 캠페인

Google Ads 스크립트를 이용하면 쇼핑 캠페인의 일부를 관리할 수 있습니다. 캠페인에서 찾을 수 있습니다. 이때 기존 쇼핑 캠페인과 함께 사용하고, 제품을 만들고, 관리하는 데 사용할 수 있는 계층 구조를 그룹화하고 쇼핑 보고서를 실행할 수 있습니다 하지만 스크립트를 사용하여 쇼핑 캠페인을 만들고, 캠페인 수준에서 쇼핑 속성을 설정하고, 예: 캠페인 우선순위, 인벤토리 필터 등) 또는 판매자 센터 연결 있습니다.

쇼핑 캠페인 및 광고 그룹 검색

쇼핑 캠페인은 shoppingCampaigns 드림 컬렉션의 AdsApp 객체. 나 스크립트를 통해 평소와 같이 검색할 수 있습니다.

const campaignName = "My first shopping campaign";

const campaignIterator = AdsApp.shoppingCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

캠페인을 가져온 후에는 유사한 광고그룹으로 가져올 수 있습니다. 제공합니다 이 방법은 캠페인과 캠페인의 광고 그룹

const adGroupIterator = campaign.adGroups()
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

특정 광고 그룹에 대해서만 작업을 수행하려는 경우 AdsApp.shoppingAdGroups() 메서드를 사용하여 다음

const adGroupIterator = AdsApp.shoppingAdGroups()
    .withCondition(`campaign.name = "${campaignName}"`)
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

제품 광고

Google Ads 스크립트를 사용하면 검색 제품 광고ads() 메서드의 ShoppingAdGroup 다음과 같은 작업을 할 수 있습니다. 만들기 새 제품 광고를 newAdBuilder() 메서드 ShoppingAdGroup

제품 그룹 계층 구조 반복

제품 그룹 계층 구조의 루트에 액세스하려면 rootProductGroup 드림 메서드의 ShoppingAdGroup 그런 다음 children 드림 하위 제품 그룹을 반복하고 제품 그룹을 순회하는 방법 계층 구조로 구성됩니다 각 노드는 ProductGroup 드림 객체를 사용하고, getDimension 방법을 사용하여 제품 그룹의 실제 유형을 파악할 수 있습니다. 전송도 가능합니다 보다 구체적인 유형 (예: ProductBrand) 해당 전송 메서드 (예: asBrand) 다음 코드 스니펫은 제품 그룹을 재귀적으로 순회하는 방법을 보여줍니다. 계층 구조로 구성됩니다

walkTree(shoppingAdGroup.rootProductGroup(), 1);

function walkTree(root, level) {
  // Logger.log(root.getDimension());
  let description = "";
  switch (root.getDimension()) {
    case "ROOT":
      description = "Root";
      break;

    case "CATEGORY":
      description = root.asCategory().getName();
      break;

    case "BRAND":
      description = root.asBrand().getName();
      break;

    // Handle more types here.
    ...
  }

  if (root.isOtherCase()) {
    description = "Other";
  }

  const padding = new Array(level + 1).join('-');
  console.log("%s, %s, %s, %s, %s, %s",
             padding,
             description,
             root.getDimension(),
             root.getMaxCpc(),
             root.isOtherCase(),
             root.getId().toFixed());
  const children = root.children().get();
  for (const child of children) {
    walkTree(child, level + 1);
  }
}

특정 제품 그룹 선택

제품 그룹 계층 구조에서 특정 제품 그룹을 선택하려면 productGroups 메서드 AdsApp, ShoppingCampaign, 또는 ShoppingAdGroup 인스턴스를 만들 수 있습니다 이 방법은 전체 제품 그룹을 탐색하는 것보다 간단합니다. 입찰가 관리를 위해 특정 제품 그룹을 선택할 때의 계층 구조 있습니다. 다음 코드 스니펫은 모든 제품 그룹을 선택하는 방법을 보여줍니다. 에서 클릭수가 5회를 초과하고 클릭률이 0.01보다 높은 입찰가를 0.01 올립니다.

function main() {
  const productGroups = AdsApp.productGroups()
      .withCondition("metrics.clicks > 5")
      .withCondition("metrics.ctr > 0.01")
      .forDateRange("LAST_MONTH")
      .get();
  for (const productGroup of productGroups) {
    productGroup.setMaxCpc(productGroup.getMaxCpc() + 0.01);
  }
}

제품 그룹 계층 구조 업데이트

다음을 사용하여 기존 제품 그룹에 하위 제품 그룹을 추가할 수 있습니다. newChild 드림 메서드를 사용하여 축소하도록 요청합니다. 이렇게 하면 ProductGroupBuilderSpace 드림 개체를 가져와 적절한 제품 그룹을 만드는 데 사용할 수 있습니다. 이 다음 코드 스니펫은 'cardcow'의 하위 그룹을 추가합니다. 루트 아래에 있는 세분화하여 신제품과 리퍼 상품으로 더 세분화할 수 있습니다

const root = shoppingAdGroup.rootProductGroup();

// Add a brand product group for a "cardcow" under root.
const brandProductGroup = root.newChild()
    .brandBuilder()
    .withName("cardcow")
    .withBid(1.2)
    .build()
    .getResult();

// Add new conditions for New and Refurbished cardcow brand items.
const newItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("New")
    .withBid(1.5)
    .build()
    .getResult();

// Refurbished items will use the bid from "cardcow" product group.
const refurbishedItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("Refurbished")
    .build()
    .getResult();

마찬가지로 remove 드림 메서드 ProductGroup 이렇게 하면 제품 아래의 전체 제품 그룹 계층 구조도 삭제됩니다. 그룹 삭제 중

스크립트를 통해 제품 그룹 계층 구조가 일관된 상태가 유지되도록 할 수 있습니다. 직접 만들거나 삭제할 필요가 없습니다. '기타'에 해당하는 제품 그룹 제품을 업데이트할 때 그룹 계층 구조입니다.

'기타' 제품 그룹

쇼핑 제품 그룹 계층구조에는 '기타' ('기타') 일치하는 제품 그룹을 제외하려면 각 수준에서 맞춤 조건을 설정할 수 있습니다. 이 isOtherCase 드림 방법을 사용하여 추가한 일반 제품 그룹과 '기타' 제품 그룹입니다.

다음 코드 스니펫은 'Other' 제품 그룹을 찾을 수 있습니다. 제품 그룹 계층 구조를 만들고 입찰가를 인쇄합니다.

const root = shoppingAdGroup.rootProductGroup();

const childProductGroups = root.children().get();
let everythingElseProductGroupFound = false;

for (const childProductGroup of childProductGroups) {
  if (childProductGroup.isOtherCase()) {
    console.log("'Everything else' product group found. Type of the " +
               "product group is %s and bid is %s.",
               childProductGroup.getDimension(),
               childProductGroup.getMaxCpc());
    everythingElseProductGroupFound = true;
    break;
  }
}
if (!everythingElseProductGroupFound) {
  console.log("No 'Everything else' product group found under root " +
             "product group.");
}

리프 제품 그룹을 세분화하면 스크립트가 자동으로 '기타' 제품 그룹 계층 구조가 유지되도록 하기 위해 유효한지 확인합니다. '기타' 제품 그룹이 상위 제품의 입찰가를 상속함 그룹

새 쇼핑 광고 그룹 만들기

Google Ads 스크립트를 사용하면 newAdGroupBuilder 드림 메서드 ShoppingCampaign kubectl apply 명령어로 ShoppingAdGroup님, Cloud Shell의 createRootProductGroup 방법을 사용하여 새 제품 그룹 계층 구조를 만듭니다.

보고서

Google Ads 스크립트는 product_group_viewshopping_performance_view 쇼핑 캠페인의 실적을 추적하는 데 도움이 됩니다. 다음과 같은 작업을 할 수 있습니다. Google의 보고서 가이드를 참조하세요.