ช็อปปิ้ง
    
    
      
    
    
      
      จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
    
    
      
      บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
    
  
    
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
    
function getAllShoppingCampaigns() {
  // AdsApp.shoppingCampaigns() will return all campaigns that are not removed
  // by default.
  const campaignIterator = AdsApp.shoppingCampaigns().get();
  console.log(`Total shopping campaigns found : ${
      campaignIterator.totalNumEntities()}`);
  return campaignIterator;
}
function getShoppingCampaignByName(shoppingCampaignName) {
  const campaignIterator = AdsApp.shoppingCampaigns()
      .withCondition(`campaign.name = "${shoppingCampaignName}"`)
      .get();
  if (campaignIterator.hasNext()) {
    const campaign = campaignIterator.next();
    console.log(`Campaign Name: ${campaign.getName()}`);
    console.log(`Enabled: ${campaign.isEnabled()}`);
    console.log(`Bidding strategy: ${campaign.getBiddingStrategyType()}`);
    console.log(`Ad rotation: ${campaign.getAdRotationType()}`);
    console.log(`Start date: ${formatDate(campaign.getStartDate())}`);
    console.log(`End date: ${formatDate(campaign.getEndDate())}`);
    return campaign;
  } else {
    throw new Error(
        `No shopping campaign named "${shoppingCampaignName}" found`);
  }
}
function formatDate(date) {
  function zeroPad(number) {
    return Utilities.formatString('%02d', number);
  }
  return (date == null) ?
      'None' :
      zeroPad(date.year) + zeroPad(date.month) + zeroPad(date.day);
}
function getShoppingAdGroupByName(shoppingAdGroupName) {
  const adGroupIterator = AdsApp.shoppingAdGroups()
      .withCondition(`ad_group.name = "${shoppingAdGroupName}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${shoppingAdGroupName}" found`);
  }
  const shoppingAdGroup = adGroupIterator.next();
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Multiple ad groups named "${shoppingAdGroupName}" found.
Using the one from campaign "${shoppingAdGroup.getCampaign().getName()}"`);
  }
  return shoppingAdGroup;
}
function createElectronicsShoppingAdGroup() {
  // This example snippet assumes a user has a shopping campaign named
  // 'Shopping' and creates a new ad group named 'Electronics' in the campaign.
  // Please customize the snippet to suit your use case.
  const shoppingCampaignName = 'Shopping';
  const newAdGroupName = 'Electronics';
  const shoppingCampaign = AdsApp.shoppingCampaigns()
      .withCondition(`campaign.name = "${shoppingCampaignName}"`)
      .get()
      .next();
  const adGroupOperation = shoppingCampaign.newAdGroupBuilder()
      .withName(newAdGroupName)
      .withCpc(0.75)
      .build();
  if (adGroupOperation.isSuccessful()) {
    const adGroup = adGroupOperation.getResult();
    console.log(`Successfully created ad group "${
        adGroup.getName()}" in campaign "${adGroup.getCampaign().getName()}"`);
  } else {
    const errors = adGroupOperation.getErrors();
    console.error(`Creation failed with errors: ${errors}`);
    throw new Error(`Failed to create ad group "${
        newAdGroupName}" in campaign "${shoppingCampaignName}"`);
  }
}
function createElectronicsProductGroups() {
  // This example snippet assumes a user has a shopping campaign named
  // 'Shopping' that includes an ad group named 'Electronics'. Please customize
  // the product group hierarchy to suit your use case.
  const shoppingCampaignName = 'Shopping';
  const shoppingAdGroupName = 'Electronics';
  const shoppingAdGroup = AdsApp.shoppingAdGroups()
      .withCondition(`campaign.name = "${shoppingCampaignName}"`)
      .withCondition(`ad_group.name = "${shoppingAdGroupName}"`)
      .get()
      .next();
  const rootProductGroup = shoppingAdGroup.rootProductGroup();
  // The created product group hierarchy will be
  //  - root
  //    - 'Cardcow' brand
  //      - New condition
  //      - Refurbished condition
  //      - Other conditions
  //    - Other brands
  // Add a brand product group for 'Cardcow' under the root product group.
  const brandNode = rootProductGroup.newChild()
      .brandBuilder()
      .withName('Cardcow')
      .withBid(1.2)
      .build()
      .getResult();
  // Add groups for new and refurbished Cardcow brand items.
  const newItems = brandNode.newChild()
      .conditionBuilder()
      .withCondition('NEW')
      .build()
      .getResult();
  const refurbishedItems = brandNode.newChild()
      .conditionBuilder()
      .withCondition('REFURBISHED')
      .withBid(0.9)
      .build()
      .getResult();
}
ดำเนินการกับกลุ่มผลิตภัณฑ์แต่ละกลุ่มในลำดับชั้น
function actOnAllElectronicsProductGroups() {
  // This example snippet assumes a user has a hierarchy of product groups under
  // an ad group named 'Electronics' in a shopping campaign named 'Shopping'. It
  // applies the function 'actOnProductGroupAndChildren' to each product group
  // in the hierarchy. Please customize the 'actOnProductGroupAndChildren'
  // function to suit your specific use case.
  const shoppingCampaignName = 'Shopping';
  const shoppingAdGroupName = 'Electronics';
  const shoppingAdGroup = AdsApp.shoppingAdGroups()
      .withCondition(`campaign.name = "${shoppingCampaignName}"`)
      .withCondition(`ad_group.name = "${shoppingAdGroupName}"`)
      .get()
      .next();
  const rootProductGroup = shoppingAdGroup.rootProductGroup();
  actOnProductGroupAndChildren(rootProductGroup, 0);
}
function actOnProductGroupAndChildren(productGroup, level) {
  // This example function logs descriptive information about the given
  // productGroup and all children of the given productGroup. Please customize
  // the function to suit your particular use case.
  let description = '';
  if (productGroup.isOtherCase()) {
    description = 'Other';
  } else if (productGroup.getDimension() == 'CATEGORY') {
    description = productGroup.asCategory().getName();
  } else {
    description = productGroup.getValue();
  }
  // Note: Child product groups may not have a max cpc if it has been excluded.
  const padding = new Array(level + 1).join('-');
  console.log(
      '%s %s, %s, %s, %s, %s', padding, description,
      productGroup.getDimension(), productGroup.getMaxCpc(),
      productGroup.isOtherCase(), productGroup.getId().toFixed());
  for (const childProductGroup of productGroup.children()) {
    actOnProductGroupAndChildren(childProductGroup, level + 1);
  }
}
รับปุ่ม "อื่นๆ ที่เหลือ" กลุ่มผลิตภัณฑ์
function getEverythingElseProductGroupForAdGroup(shoppingAdGroupName) {
  const adGroupIterator = AdsApp.shoppingAdGroups()
      .withCondition(`ad_group.name = "${shoppingAdGroupName}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${shoppingAdGroupName}" found`);
  }
  const shoppingAdGroup = adGroupIterator.next();
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Multiple ad groups named "${shoppingAdGroupName}" found.
Using the one from campaign "${shoppingAdGroup.getCampaign().getName()}"`);
  }
  const rootProductGroup = shoppingAdGroup.rootProductGroup();
  for (const childProductGroup of rootProductGroup.children()) {
    if (childProductGroup.isOtherCase()) {
      // Note: Child product groups may not have a max cpc if it has been
      // excluded.
      console.log(
          `"Everything else" product group found. Type of the product group is ${
              childProductGroup.getDimension()} and bid is ${
              childProductGroup.getMaxCpc()}`);
      return childProductGroup;
    }
  }
  console.warn(
      '"Everything else" product group not found under root product group.');
  return null;
}
อัปเดตราคาเสนอสำหรับกลุ่มผลิตภัณฑ์
function updateVariousProductGroupBids() {
  // This example snippet modifies the bids of some product groups based on
  // criteria. Please modify the snippet to suit your use case.
  const productGroups = AdsApp.productGroups()
      .withCondition('Clicks > 5')
      .withCondition('Ctr > 0.01')
      .forDateRange('LAST_MONTH')
      .get();
  for (const productGroup of productGroups) {
    productGroup.setMaxCpc(productGroup.getMaxCpc() + 0.01);
  }
}
รับโฆษณาผลิตภัณฑ์
function getProductAdsInShoppingAdGroup(shoppingAdGroupName) {
  const adGroupIterator = AdsApp.shoppingAdGroups()
      .withCondition(`ad_group.name = "${shoppingAdGroupName}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${shoppingAdGroupName}" found`);
  }
  const shoppingAdGroup = adGroupIterator.next();
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Multiple ad groups named "${shoppingAdGroupName}" found.
Using the one from campaign "${shoppingAdGroup.getCampaign().getName()}"`);
  }
  const productAdIterator = shoppingAdGroup.ads().get();
  console.log(`Ad Group "${shoppingAdGroup.getName()}" has ${
      productAdIterator.totalNumEntities()} ads`);
  return productAdIterator;
}
สร้างโฆษณาผลิตภัณฑ์
function createElectronicsProductAd() {
  // This example snippet assumes a user has a shopping campaign named
  // 'Shopping' that includes an ad group named 'Electronics'. Please customize
  // the snippet to suit your use case.
  const shoppingCampaignName = 'Shopping';
  const shoppingAdGroupName = 'Electronics';
  const shoppingAdGroup = AdsApp.shoppingAdGroups()
      .withCondition(`campaign.name = "${shoppingCampaignName}"`)
      .withCondition(`ad_group.name = "${shoppingAdGroupName}"`)
      .get()
      .next();
  const adOperation =
      shoppingAdGroup.newAdBuilder().withMobilePreferred(true).build();
  if (adOperation.isSuccessful()) {
    const productAd = adOperation.getResult();
    console.log(`Successfully created product ad in ad group "${
        productAd.getAdGroup().getName()}"`);
  } else {
    const errors = adOperation.getErrors();
    console.error(`Creation failed with errors: ${errors}`);
    throw new Error(
        `Failed to create product ad in ad group "${shoppingAdGroupName}"`);
  }
}
  
  
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
  อัปเดตล่าสุด 2025-08-21 UTC
  
  
  
    
      [[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-08-21 UTC"],[],[]]