ショッピング キャンペーン

Google 広告スクリプトでは、ショッピング キャンペーンと キャンペーンをご覧ください。次を使用: 既存のショッピング キャンペーンと連携し、商品の作成と管理を行うためのスクリプト ショッピングレポートを作成できますただし、スクリプトを使用して ショッピング キャンペーンの作成、キャンペーン レベルでのショッピング プロパティの設定( (キャンペーンの優先順位、商品フィルタなど)、または Merchant Center をリンクしてください できます。

ショッピング キャンペーンと広告グループの取得

ショッピングキャンペーンは 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() メソッドを ShoppingAdGroup。 Google Chat では 作成 新しい商品広告に 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 作成します。この方法は、商品グループ全体を走査するよりもシンプルです。 入札単価管理のために特定の商品グループを選択する際の階層構造 あります。次のコード スニペットは、すべての商品グループを選択する方法を示しています。 期間中にクリック数が 6 回を上回り、クリック率が 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。 商品の下にある商品グループの階層全体も削除されます グループを削除します。

スクリプトにより、商品グループの階層が一貫した状態になる 各商品グループの作成後に編集できるので、 「その他すべて」に対応する商品グループ商品の更新時 グループ階層構造を使用します。

「Everything else」商品グループ

ショッピング商品グループの階層に「その他すべて」が含まれる(「その他」) 一致していない商品を処理するために 商品グループの階層で作成したカスタム条件です。こちらの 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 広告のスクリプトを使用すると、 newAdGroupBuilder メソッド ShoppingCampaign。 kubectl apply コマンドで ShoppingAdGroup こちらの createRootProductGroup メソッドを使用して、新しい商品グループ階層を作成します。

レポート

Google 広告スクリプトのサポート product_group_viewshopping_performance_view ショッピング キャンペーンのパフォーマンスをトラッキングするのに役立つレポート。Google Chat では レポートの詳細については、 レポートガイドをご覧ください。