Mức giá
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Tạo phần mở rộng về giá
function createPrice() {
// For full details on creating a new price item, see:
// https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_priceitembuilder
const priceItem1 = AdsApp.extensions().newPriceItemBuilder()
// Replace the values below with your preferred header, description,
// amount, currency code, unit type, final url, and mobile final url.
.withHeader('header1') // required
.withDescription('description1') // required
.withAmount(1000000) // required
.withCurrencyCode('USD') // required
// Unit type must be one of: 'PER_HOUR', 'PER_DAY', 'PER_WEEK', 'PER_MONTH', 'PER_YEAR',
// or 'PER_NIGHT'
.withUnitType('PER_DAY') // required
.withFinalUrl('https://www.google.com')
.withMobileFinalUrl('https://www.google.com') // required
.build()
.getResult();
const priceItem2 = AdsApp.extensions().newPriceItemBuilder()
// Replace the values below with your preferred header, description,
// amount, currency code, unit type, final url, and mobile final url.
.withHeader('header2') // required
.withDescription('description2') // required
.withAmount(2000000) // required
.withCurrencyCode('USD') // required
// Unit type must be one of: 'PER_HOUR', 'PER_DAY', 'PER_WEEK', 'PER_MONTH', 'PER_YEAR',
// or 'PER_NIGHT'
.withUnitType('PER_HOUR') // required
.withFinalUrl('https://www.google.com') // required
.withMobileFinalUrl('https://www.google.com') // required
.build()
.getResult();
const priceItem3 = AdsApp.extensions().newPriceItemBuilder()
// Replace the values below with your preferred header, description,
// amount, currency code, unit type, final url, and mobile final url.
.withHeader('header3') // required
.withDescription('description3') // required
.withAmount(3000000) // required
.withCurrencyCode('USD') // required
// Unit type must be one of: 'PER_HOUR', 'PER_DAY', 'PER_WEEK', 'PER_MONTH', 'PER_YEAR',
// or 'PER_NIGHT'
.withUnitType('PER_WEEK') // required
.withFinalUrl('https://www.google.com') // required
.withMobileFinalUrl('https://www.google.com') // required
.build()
.getResult();
// For full details on creating a new price extension, see:
// https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_pricebuilder
const newPrice = AdsApp.extensions().newPriceBuilder()
// Replace the values below with your preferred price type, language
// price qualifier, and tracking template
.withPriceType('PRODUCT_CATEGORIES') // required
.withLanguage('EN') // required
// Price qualifier must be one of: 'FROM', 'UP_TO', 'AVERAGE'
.withPriceQualifier('UP_TO') // optional
.withTrackingTemplate('http://www.example.com/track') // optional
.addPriceItem(priceItem1)
.addPriceItem(priceItem2)
.addPriceItem(priceItem3)
.build()
.getResult();
// Add price to a campaign
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (campaignIterator.hasNext()) {
const campaign = campaignIterator.next();
campaign.addPrice(newPrice);
}
// Add price to an ad group
const adGroupIterator = AdsApp.adGroups()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.withCondition('ad_group.name = "INSERT_AD_GROUP_NAME_HERE"')
.get();
if (adGroupIterator.hasNext()) {
const adGroup = adGroupIterator.next();
adGroup.addPrice(newPrice);
}
// Add price to an account
const account = AdsApp.currentAccount();
account.addPrice(newPrice);
}
Ghi lại thông tin chi tiết về giá của một chiến dịch
function logPriceDetails() {
// Get a campaign.
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (!campaignIterator.hasNext()) {
throw new Error('Campaign not found.');
}
const campaign = campaignIterator.next();
// Retrieve the campaign's prices. Retrieving an ad group's and
// account's pricess is similar.
const priceIterator = campaign.extensions().prices().get();
for (const price of priceIterator) {
// You can also request reports for pre-defined date ranges. See
// https://developers.google.com/adwords/api/docs/guides/awql,
// DateRangeLiteral section for possible values.
const stats = price.getStatsFor('LAST_MONTH');
console.log(`Price extension price qualifier : ${ price.getPriceQualifier() }`);
console.log(`Price extension price type : ${ price.getPriceType() }`);
console.log(`mobile preferred : ${ price.isMobilePreferred() }`);
console.log(`clicks : ${ stats.getClicks() }`);
console.log(`impressions : ${ stats.getImpressions() }`);
console.log('=======');
}
console.log(`${priceIterator.totalNumEntities()} prices in the campaign`);
}
Đặt lịch biểu cho giá trong chiến dịch
function setPriceSchedule() {
// Get a campaign.
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (!campaignIterator.hasNext()) {
throw new Error('Campaign not found.');
}
const campaign = campaignIterator.next();
// Retrieve the campaign's prices. Retrieving an ad group's and
// account's saitelinks is similar.
const priceIterator = campaign.extensions().prices().get();
for (const price of priceIterator) {
if (price.getPriceType() == 'BRANDS') {
// Set price extension schedule to run only on Mondays and Tuesdays,
// 9 AM to 6 PM. You can follow a similar approach to set schedules for
// other ad extension types.
const monday = {
dayOfWeek: 'MONDAY',
startHour: 9,
startMinute: 0,
endHour: 18,
endMinute: 0
};
const tuesday = {
dayOfWeek: 'TUESDAY',
startHour: 9,
startMinute: 0,
endHour: 18,
endMinute: 0
};
price.setSchedules([monday, tuesday]);
return;
}
}
}