Agregue un grupo de anuncios
function addAdGroup(campaignName, adGroupName, defaultCpc = 1.2) { const campaignIterator = AdsApp.campaigns() .withCondition(`campaign.name = "${campaignName}"`) .get(); if (!campaignIterator.hasNext()) { throw new Error(`No campaign with name "${campaignName} found`); } const campaign = campaignIterator.next(); return campaign.newAdGroupBuilder() .withName(adGroupName) .withCpc(defaultCpc) .build(); }
Obtener todos los grupos de anuncios
function getAllAdGroups() { // AdsApp.adGroups() will return all ad groups that are not removed by // default. const adGroupIterator = AdsApp.adGroups().get(); console.log('Total adGroups found : ' + adGroupIterator.totalNumEntities()); return adGroupIterator; }
Obtener un grupo de anuncios por su nombre
function getAdGroupByName(name) { const adGroupIterator = AdsApp.adGroups() .withCondition(`ad_group.name = "${name}"`) .get(); if (!adGroupIterator.hasNext()) { throw new Error(`No ad group with name "${name}" found`); } const adGroup = adGroupIterator.next(); if (adGroupIterator.totalNumEntities() > 1) { console.warn(`Multiple ad groups named "${name}" found. Using the one from campaign "${adGroup.getCampaign().getName()}".`); } return adGroup; }
Actualizar la oferta de CPC predeterminada de un grupo de anuncios
function setAdGroupCpc(name, cpc) { const adGroupIterator = AdsApp.adGroups() .withCondition(`ad_group.name = "${name}"`) .get(); if (!adGroupIterator.hasNext()) { throw new Error(`No ad group with name "${name}" found`); } const adGroup = adGroupIterator.next(); if (adGroupIterator.totalNumEntities() > 1) { console.warn(`Multiple ad groups named "${name}" found. Using the one from campaign "${adGroup.getCampaign().getName()}".`); } adGroup.bidding().setCpc(cpc); }
Obtener estadísticas de un grupo de anuncios
function getAdGroupStats(name, dateRange = 'LAST_MONTH') { const adGroupIterator = AdsApp.adGroups() .withCondition(`ad_group.name = "${name}"`) .get(); if (!adGroupIterator.hasNext()) { throw new Error(`No ad group with name "${name}" found`); } const adGroup = adGroupIterator.next(); if (adGroupIterator.totalNumEntities() > 1) { console.warn(`Multiple ad groups named "${name}" found. Using the one from campaign "${adGroup.getCampaign().getName()}".`); } // You can get stats for a custom date range, or, as in this example, a predefined date range. // A list of valid predefined date ranges is available at // https://developers.google.com/google-ads/api/docs/query/date-ranges#predefined_date_range const stats = adGroup.getStatsFor(dateRange); console.log(`${adGroup.getName()}, ${stats.getClicks()}, ${stats.getImpressions()}`); return stats; }
Detener un grupo de anuncios
function pauseAdGroup(name) { const adGroupIterator = AdsApp.adGroups() .withCondition(`ad_group.name = "${name}"`) .get(); if (!adGroupIterator.hasNext()) { throw new Error(`No ad group with name "${name}" found`); } const adGroup = adGroupIterator.next(); if (adGroupIterator.totalNumEntities() > 1) { console.warn(`Multiple ad groups named "${name}" found. Using the one from campaign "${adGroup.getCampaign().getName()}".`); } adGroup.pause(); }
Obtener los modificadores de ofertas para dispositivos de un grupo de anuncios
function getAdGroupBidModifiers(name) { const adGroupIterator = AdsApp.adGroups() .withCondition(`ad_group.name = "${name}"`) .get(); if (!adGroupIterator.hasNext()) { throw new Error(`No ad group with name "${name}" found`); } const adGroup = adGroupIterator.next(); if (adGroupIterator.totalNumEntities() > 1) { console.warn(`Multiple ad groups named "${name}" found. Using the one from campaign "${adGroup.getCampaign().getName()}".`); } return { HighEndMobile: adGroup.devices().getMobileBidModifier(), Tablet: adGroup.devices().getTabletBidModifier(), Desktop: adGroup.devices().getDesktopBidModifier(), }; }