廣告參數

為廣告群組製作含有廣告參數的文字廣告

function setupAdParamsInAdGroup(adGroupName) {
  // If you have multiple adGroups with the same name, this snippet will
  // pick an arbitrary matching ad group each time. In such cases, just
  // filter on the campaign name as well:
  //
  // AdsApp.adGroups()
  //     .withCondition('ad_group.name = "INSERT_ADGROUP_NAME_HERE"')
  //     .withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
  const adGroupIterator = AdsApp.adGroups()
      .withCondition(`ad_group.name = "${adGroupName}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${adGroupName} found`);
  }
  const adGroup = adGroupIterator.next();

  adGroup.newAd().expandedTextAdBuilder()
      .withHeadlinePart1('Holiday sale')
      .withHeadlinePart2(
          'Starts in {param1: a few} days {param2: and} hours!')
      .withDescription('Everything must go!')
      .withFinalUrl('http://www.example.com/holidaysales')
      .build();

  const keywordIterator = adGroup.keywords().get();
  if (!keywordIterator.hasNext()) {
    console.log(`No keywords found in ad group ${adGroupName}.`);
  } else {
    const keyword = keywordIterator.next();
    // Setup Ad to show as 'Doors open in 5 days, 7 hours!' when searched
    // using this keyword. If the ad is triggered using a keyword
    // without ad param, the ad shows as
    // 'Doors open in a few days, and hours!'
    keyword.setAdParam(1, 5);
    keyword.setAdParam(2, 7);
  }
}

為關鍵字擷取廣告參數

function getAdParamsForKeyword(adGroupName) {
  // If you have multiple adGroups with the same name, this snippet will
  // pick an arbitrary matching ad group each time. In such cases, just
  // filter on the campaign name as well:
  //
  // AdsApp.adGroups()
  //     .withCondition('ad_group.name = "INSERT_ADGROUP_NAME_HERE"')
  //     .withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
  const adGroupIterator = AdsApp.adGroups()
      .withCondition(`ad_group.name = "${adGroupName}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${adGroupName} found`);
  }
  const adGroup = adGroupIterator.next();
  const keywordIterator = adGroup.keywords()
      .withCondition('ad_group_criterion.keyword.text = "Holiday sales"')
      .get();
  if (!keywordIterator.hasNext()) {
    console.log(`No keywords found in ad group ${adGroupName}.`);
  } else {
    const keyword = keywordIterator.next();
    const adParamIterator = keyword.adParams().get();
    for (const adParam of adParamIterator) {
      logAdParam(adParam);
    }
  }
}

function logAdParam(adParam) {
  console.log('Keyword : ' + adParam.getKeyword().getText());
  console.log('MatchType : ' + adParam.getKeyword().getMatchType());
  console.log('Index : ' + adParam.getIndex());
  console.log('Insertion Text : ' + adParam.getInsertionText());
}